无法保存dat文件
LZ正在调试就算程序,想讲计算结果保存为dat文件格式,但是始终无法生成,不知道是什么原因,请大神指点!附程序代码如下:
c***************write data to TECPLOT file
c
open(unit=15,file='tecplot.dat',form='formatted',status='unknown')
c-------three-dimensional
text='VARIABLES = X Y Z U V W P K E VIS'
write(15,90)text
90 format(1x,70a)
write(15,92)ni,nj,nk
92 format(1x,'ZONE T="Zone-One", I= ',i3,' ,J= ',i3,' ,K= ',i3,
. ' ,F=POINT')
do k=1,nk
do j=1,nj
do i=1,ni
write(15,98)xp(i,j,k),yp(i,j,k),zp(i,j,k),phi(i,j,k,u),
&phi(i,j,k,v),phi(i,j,k,w),phi(i,j,k,p),phi(i,j,k,te),
&phi(i,j,k,ed),vis(i,j,k)
end do
end do
end do
close(15)
88 format(1x,8(1pe13.6,2x))
98 format(1x,10(1pe13.6,2x))
return
end
另外说明,二进制文件可以保存,但是dat文件无法生成! 我测试过你的代码,本身写入.dat文件是不存在问题的,是可以生成输出文件的。
主要问题应该出现在你的数组中,可以试着分别将每个数组输出来看一下。
!< write data to TECPLOT file
program printDat
implicit none
integer :: i,j,k
integer :: ni
integer :: nj
integer :: nk
real(kind=8) :: xp(5,5,5)
character :: text
ni = 5
nj = 5
nk = 5
open(unit=15,file='tecplot.dat',form='formatted',status='unknown')
!< three-dimensional
text='VARIABLES = X Y Z U V W P K E VIS'
write(15,90) text
90format(1x,70a)
write(15,92) ni,nj,nk
92format(1x,'ZONE T="Zone-One", I= ',i3,' ,J= ',i3,' ,K= ',i3,' ,F=POINT')
do k=1,nk
do j=1,nj
do i=1,ni
! write(15,98)xp(i,j,k),yp(i,j,k),zp(i,j,k),phi(i,j,k,u),
! &phi(i,j,k,v),phi(i,j,k,w),phi(i,j,k,p),phi(i,j,k,te),
! &phi(i,j,k,ed),vis(i,j,k)
write(15,108) xp(i,j,k)
enddo
enddo
enddo
98format(1x,10(1pe13.6,2x))
108 format(1x,1(1pe13.6,2x))
close(15)
endprogram 对于程序来说,生成任何类型的文件都是一样的,可能是没有权限或文件被占用。 ksfengjia 发表于 2017-11-14 16:17
我测试过你的代码,本身写入.dat文件是不存在问题的,是可以生成输出文件的。
主要问题应该出现在你的数组 ...
你好,非常感谢你的回复!
我也试了一下,将这一段直接做为主程序运行时是可以生成tecplot.dat文件的,
但是将其放在整个程序中做为子程序调用就无法生成,我认为你的建议是正确的,
所以我先试着把这些数组搞清楚再调试。
另外想请教一下,我Fortran能打开的网格类型的文件吗,例如msh,
我有一段程序读入网格文件是这样操作的:
open(unit=11,file='fluent.msh',status='unknown') li913 发表于 2017-11-15 09:48
对于程序来说,生成任何类型的文件都是一样的,可能是没有权限或文件被占用。 ...
你好,谢谢回复!
请问如果是没有权限或文件被占用
一般应当怎么解决? vidasll 发表于 2017-11-16 08:22
你好,谢谢回复!
请问如果是没有权限或文件被占用
一般应当怎么解决? ...
最快的办法还是加入本站QQ讨论群,加群主好友然后开启QQ远程桌面 pasuka 发表于 2017-11-16 10:35
最快的办法还是加入本站QQ讨论群,加群主好友然后开启QQ远程桌面
请问群号是多少,谢谢! vidasll 发表于 2017-11-22 15:21
请问群号是多少,谢谢!
http://v.fcode.cn/
点击网页右上角的QQ群交流
页:
[1]