You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fortran代码无法写入输出文件及屏幕无打印问题求助

Fortran程序无输出且无法写入文件的问题排查

问题描述

编写的Fortran代码运行后既无屏幕打印输出,输出文件outputFTCS.txt也为空。编译使用gfortran FTCS.f90,运行./FTCS或./a.out均无结果。

完整代码

program FTCS
implicit none
integer :: m,n,i,j,a=1
real, allocatable :: P(:,:)
real :: r,l,t,delta_x,delta_t,g

open(20,file='input.txt')
open(30,file='outputFTCS.txt')
read(20,2)n  ! reading these values from the input.txt file
read(20,3)r,t,delta_t,l  ! reading these values from input.txt

2 format (T10,I6)  ! I is for integers
3 format (T10,F15.8)  ! F is for real (float)

delta_x = 1/(n-1)  ! n = points
g = floor(t/delta_t)
m = g  ! time

allocate (P(m,n))
P(1,:)=20  ! initial condition: indexing begins at 1

do i=2,m    ! points
    P(i,1)=100 ! boundary condition (left)
    P(i,n)=0  ! boundary condition (right)
    do j=2,n-1  ! time
        P(i,j)=r*(P(i-1,j+1)+P(i-1,j-1))+(1-2*r)*(P(i-1,j))  ! T_i=r(T_i-1 + T_i+1) + (1-2r)T_i
        print *,"hello"
    end do
end do

do i=1,m
    print *,'hello'
    
end do

10 format(10f10.2)
30 format (10f10.2)

close(10)  ! do this last
close(30)

end program FTCS

输入文件input.txt内容

n=10     
r=0.25     
t=.03     
delta_t=0.005     
l=1

问题原因及解决方法

1. 输入读取格式完全不匹配

代码中使用的格式说明T10,I6和T10,F15.8指定从第10列开始读取数据,但input.txt里的数值(如10、0.25)紧跟在等号后,实际位置远早于第10列,且格式未处理=符号,导致读取操作失败,程序进入错误状态,后续的循环、打印等代码根本不会执行。

解决方法:修改读取格式以匹配输入文件的结构,比如使用自由格式读取(自动跳过非数值字符):

read(20,*)n
read(20,*)r,t,delta_t,l

2. 未向输出文件写入任何内容

代码仅打开了30号单元对应outputFTCS.txt,但全程没有执行write(30, ...)语句,因此输出文件必然为空。

解决方法:在计算完成后添加写入逻辑,比如:

do i=1,m
    write(30,10) P(i,:)  ! 使用10号格式写入每一行数据
end do

3. 错误关闭未打开的文件单元

代码最后执行close(10),但程序从未打开过10号单元,这会触发运行时错误,进一步导致程序异常终止。

解决方法:删除close(10)语句,仅关闭确实打开过的20和30号单元。

4. 类型转换隐患

floor(t/delta_t)返回的是实型(real)值,直接赋值给整型变量m可能引发类型转换问题,建议显式转换为整型:

m = int(floor(t/delta_t))

5. 编译命令错误(次要)

用户提到的gfortran FTCS.f90 -o是错误命令,-o后必须指定输出文件名,正确命令应为:

gfortran FTCS.f90 -o FTCS

验证修改后的程序

修正上述问题后,编译运行程序,屏幕会打印hello,同时outputFTCS.txt会写入计算得到的P数组数据。

内容的提问来源于stack exchange,提问作者Elena Welch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:04:54