|
1. 你的各种变量没有初始化。比如主程序 uu , ud , du , dd
2. 学会调试,你会自己解决各种问题。详解 http://v.fcode.cn/video-debugger.html
3. 根据我的调试,你的主要问题大概在
SUBROUTINE tsc(theta,m,k,t)
IMPLICIT NONE
REAL :: d,PI
INTEGER,INTENT(in) :: m
REAL,INTENT(in) :: theta,k
complex,INTENT(out) :: t
d=0.15
PI=4.0*ATAN(1.0)
t=SQRT(2.0*(COS(theta))/(k*d))*(SIN((k*SIN(theta)+m*PI/d)*d/2.0)/(SIN(theta)+m*PI/(k*d))&
&+SIN((k*SIN(theta)-m*PI/d)*d/2.0)/(SIN(theta)-m*PI/(k*d)))
END SUBROUTINE
当 theta 大于 PI/2 时,cos 为负数。开 sqrt 出错。
此外,117 行的 DO y=x,y+10,1
这是一个很奇怪的用法。 |
|