24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 447  |  回复: 2

zouji1983

金虫 (正式写手)

[求助] 请帮忙看一个fortran小程序

请高手帮忙看看这个程序有什么问题,运行的时候显示:array bounds exceeds. 非常感谢!

subroutine convert_composition(ix,iy)
        integer :: ix, iy, k
        real(8) :: tol,f(xp(1,1,ix,iy)),df(xp(1,1,ix,iy)),xp0(1,1,ix,iy)
f(xp(1,1,ix,iy))=1.06366481d10+7.94800172d9+1.72992961d9*log(xp(1,1,ix,iy))-1.72992961d9*log(1-xp(1,1,ix,iy))-1.182988286d10*(1-2*xp(1,1,ix,iy))+2.75714286d9*(6*xp(1,1,ix,iy)-6*xp(1,1,ix,iy)*xp(1,1,ix,iy)-1)+3.083731429d9*(24*xp(1,1,ix,iy)*xp(1,1,ix,iy)-10*xp(1,1,ix,iy)-16*xp(1,1,ix,iy)*xp(1,1,ix,iy)*xp(1,1,ix,iy)+1))-dmudx(1,1,2,ix,iy)*(x(1,ix,iy,old)-phi(1,ix,iy)*xp(1,1,ix,iy))/phi(2,ix,iy) + 9.229804981d10
df(xp(1,1,ix,iy))=2*1.182988286d10+1.72992961d9/xp(1,1,ix,iy)/(1-xp(1,1,ix,iy))+2.75714286d9*(6-12*xp(1,1,ix,iy))+3.083731429d9*(48*xp(1,1,ix,iy)-10-48*xp(1,1,ix,iy)*xp(1,1,ix,iy))+dmudx(1,1,2,ix,iy)*phi(1,ix,iy)/phi(2,ix,iy)
tol=1e-6
xp0(1,1,ix,iy)=0.2
k=0
10 k=k+1
xp(1,1,ix,iy)=xp0(1,1,ix,iy)-f(xp0(1,1,ix,iy))/df(xp0(1,1,ix,iy))
if(abs(xp(1,1,ix,iy)-xp0(1,1,ix,iy)).lt.tol)goto 20
  xp0(1,1,ix,iy)=xp(1,1,ix,iy)
  goto 10
20 write(*,*) xp(1,1,ix,iy)
xp(1,2,ix,iy)=(x(1,ix,iy,old)-phi(1,ix,iy)*xp(1,1,ix,iy))/phi(2,ix,iy)
write(*,*) xp(1,2,ix,iy)   
end subroutine convert_composition
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gyf1017

金虫 (小有名气)

这个是做什么的程序?作为一个初学习fortran语言的入门者这个还是很难得
2楼2012-11-24 10:04:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

引用回帖:
2楼: Originally posted by gyf1017 at 2012-11-24 10:04:21
这个是做什么的程序?作为一个初学习fortran语言的入门者这个还是很难得

就是用Newton-Raphon解非线性方程的,我照着网上的例子编的,但是这个错误我不晓得怎么回事啊
3楼2012-11-26 18:06:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zouji1983 的主题更新
信息提示
请填处理意见