24小时热门版块排行榜    

查看: 2858  |  回复: 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 ]
回复此楼

» 猜你喜欢

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

优秀是一种习惯
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sun805869434

金虫 (小有名气)

引用回帖:
2楼: Originally posted by pippi6 at 2013-06-06 13:38:25
你的问题有关运行结果,所以需要你调用部分的程序。这样说说是无法判断的。

请问我需要提供什么才能判断出哪出毛病了?谢谢
优秀是一种习惯
5楼2013-06-06 18:50:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

感谢参与,应助指数 +1
你的问题有关运行结果,所以需要你调用部分的程序。这样说说是无法判断的。
2楼2013-06-06 13:38:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
我感觉是你定义的全局变量的原因,为啥要定义那么多全局变量嫩
穷则独善其事,达则兼济天下
3楼2013-06-06 15:46:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sun805869434

金虫 (小有名气)

引用回帖:
3楼: Originally posted by 学虫dj at 2013-06-06 15:46:02
我感觉是你定义的全局变量的原因,为啥要定义那么多全局变量嫩

我有很多个子程序,这只是其中的两个,其他的子程序中能用到的我都定义了。要是全局变量的原因的话,为什么第一个能运行并得到正确的结果,而第二个就不能了呢?跟第二个程序中需要调用第一个运行结果有关吗?
优秀是一种习惯
4楼2013-06-06 18:37:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国社科又开始会评了,不知道这次命运如何 +5 雨打竹帘 2026-08-30 9/450 2026-08-30 22:23 by 余韵清
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[基金申请] 面上意见出来了 +9 黄鸟于飞Chao 2026-08-29 18/900 2026-08-30 16:47 by 黄鸟于飞Chao
[基金申请] 29号明天会评吗 +3 笨笨唐 2026-08-28 3/150 2026-08-30 09:29 by cww8181
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见