Fortran Coder

标题: 怎么调用不了子函数 [打印本页]

作者: 紫月星诞    时间: 2015-5-7 17:01
标题: 怎么调用不了子函数
我这个程序无法调用子函数get_ne1,ne一直不变,这是什么情况?求哪位大大解释一下

program main
implicit none
integer counter
real N
real ne,z,a,n0
real dz
N=400
n0=1e17
dz=2*a/N
a=0.04

    do  counter=0,N
        z=-a+real(counter)*dz
        call get_ne1(ne,z,n0)
        write(*,*)ne
    end do
   
   
stop
end
   
   
subroutine get_ne1(ne,z,n0)
implicit none
real n0,ne
real z
real z0              
real a
a=0.04
z0=4E-3
if((z>=-a).and.(z<=0)) then
        ne=n0*exp(z/z0)
else if((z>0).and.(z<=a)) then
        ne=n0*exp(-z/z0)
end if
return
    end subroutine
   

QQ图片20150507170014.png (15.82 KB, 下载次数: 203)

QQ图片20150507170014.png

作者: 紫月星诞    时间: 2015-5-7 17:12
自己搞懂了,a和dz顺序反了应该最后写dz,不然dz太大,循环出错。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2