| 查看: 2370 | 回复: 13 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
sun805869434金虫 (小有名气)
|
[求助]
fortran里一个子程序不运行是怎么回事
|
|
|
整个fortran程序编译完,运行后就显示内存不能读取,切换到Debug,按F5后,可以发现浓度值C(J,K)计算结果不对,但是无论更改程序中该子程序的任何计算式,得到的结果都是一样的,好像跟我设置的计算式没有关系,这是没有读取相应的子程序吗?还是读取其他部分了? SUBROUTINE COM !-------------------------------------------------------- PARAMETER(NJ=120,NT=120) COMMON U(NJ,NT),C(NJ,NT) COMMON DER(NT),Y(NJ),DYL(NJ) COMMON K,LITIM,DT COMMON DLN,DS,RHOF,RHOS,DD,GR,M1,YDN,DXL,YL,DY,C0 !-------------------------------------------------------- ENTRY VECTORY U(J,0)=0 DO K=1,LITIM DO J=1,M1 IF(J.NE.M1)THEN U(J,K)=(GR*DT+U(J,K-1))/(DD*DT+1) ELSE U(J,K)=0 ENDIF ENDDO ENDDO RETURN !------------------------------------------------------------ ENTRY CONCENTRATE C(J,0)=C0 DO K=1,LITIM DO J=1,M1 IF(J.EQ.1)THEN C(J,K)=(U(J,K)*C(J,K-1))/U(J,K+1) ELSEIF (J.GT.1.AND.J.LT.M1)THEN C(J,K)=((U(J,K)*C(J,K-1))/U(J,K+1))+C(J-1,K-1)-C(J-1,K) ELSE C(J,K)=0 ENDIF ENDDO ENDDO RETURN 这是子程序中的两个部分,第一个子程序运行后U(J,K)的结果是正确的,但是进行第二个子程序时,要用到上一个的结果U(J,K),运行结果C(J,K)是错误的,并且不管我怎么改C(J,K)的计算式,得出的结果不变,还是原来错误的结果,不知道原因出在哪。 [ Last edited by sun805869434 on 2013-6-6 at 10:14 ] |
» 猜你喜欢
2025年遐想
已经有5人回复
论文终于录用啦!满足毕业条件了
已经有12人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
求个博导看看
已经有18人回复

sun805869434
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 173.5
- 散金: 150
- 红花: 2
- 帖子: 57
- 在线: 26.9小时
- 虫号: 1666767
- 注册: 2012-03-05
- 性别: MM
- 专业: 传热传质学

11楼2013-06-14 09:02:54
pippi6
铁杆木虫 (著名写手)
工程和科学数值计算咨询
- 应助: 413 (硕士)
- 贵宾: 0.002
- 金币: 7116.5
- 散金: 15
- 红花: 63
- 帖子: 1639
- 在线: 798.9小时
- 虫号: 2469437
- 注册: 2013-05-14
- 专业: 计算数学与科学工程计算
2楼2013-06-06 13:38:25
学虫dj
金虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 892.4
- 散金: 63
- 帖子: 688
- 在线: 89.9小时
- 虫号: 1829966
- 注册: 2012-05-22
- 性别: GG
- 专业: 应用地球物理学

3楼2013-06-06 15:46:02
sun805869434
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 173.5
- 散金: 150
- 红花: 2
- 帖子: 57
- 在线: 26.9小时
- 虫号: 1666767
- 注册: 2012-03-05
- 性别: MM
- 专业: 传热传质学

4楼2013-06-06 18:37:32







回复此楼