Fortran Coder

标题: 非稳态传热的时间步和迭代次数输出不对,请大家帮助 [打印本页]

作者: sjtudaniel    时间: 2014-10-12 17:02
标题: 非稳态传热的时间步和迭代次数输出不对,请大家帮助
本帖最后由 sjtudaniel 于 2014-10-12 21:21 编辑

大家好,我现在做非稳态的流动传热问题,代码是用FORTRAN写的SIMPLE算法,但是运行后发现时间步长和迭代次数的输出不对,但是又找不出哪里出问题了,请大家能够帮忙。

作者: 楚香饭    时间: 2014-10-12 17:52
本帖最后由 楚香饭 于 2014-10-12 17:53 编辑

在我这里,你的代码执行到 Simpler.f 的 147 行
BLC=BLC+CON(I,J)+AIP(I,J)*F(I+1,J,N)+AIM(I,J)*F(I-1,J,N)
时,发生越界。
此时,N = NF = 11,而 F 定义为 F(NI,NJ,NFMAX), NFMAX=10。所以越界

另外,时间步长和迭代次数的输出不对,这是你自己才知道的说法,我不清楚什么是时间步长,什么是迭代次数。

你这代码 1000 多行,没有注释,别人很难看懂你的代码,你又不做任何介绍。

还有,什么是“输出不对”?应该是多少,实际是多少?提问时,一定要站在别人的角度想想,别人能否理解你的意思?
作者: 珊瑚虫    时间: 2014-10-14 10:37
如果不涉密把你的代码发上来,别人才能根据你的代码找错误,否则无能为力
作者: fcode    时间: 2014-10-14 11:13
原本有代码,一大堆 common,风格很久,没有注释,实在看不出来哪里是所谓的“步长和迭代次数”,哪里又不对(因为怎么算对?只有楼主知道)。

后来楼主删了。
作者: mangix2010    时间: 2014-10-22 04:10
这种老程序还是要参考用户手册来看比较好




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