Fortran Coder

楼主: zjl88915

[子程序] 程序运行有问题,有关子程序C06LAF

[复制链接]

19

帖子

3

主题

0

精华

入门

新手菜鸟

F 币
71 元
贡献
66 点

爱心勋章

 楼主| 发表于 2014-2-27 11:50:08 | 显示全部楼层
chuxf 发表于 2014-2-26 20:39
发你修改后的程序。这个错误就比较简单一些了

您好,昨晚学校断网,没办法给您回复了。多谢帮助,附件是我修改后的文件,请您再帮我看一下吧。

xiugai.rar

52.88 KB, 下载次数: 1

回复

使用道具 举报

716

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
624 元
贡献
319 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

发表于 2014-2-27 12:14:49 | 显示全部楼层
本帖最后由 chuxf 于 2014-2-27 12:16 编辑

嗯,这个错误就很明了了。

Ua,Uw,Set 三个函数中,没有对  m1a,m2w,m2a 的定义,于是这三个量默认是整型的。

而我猜,你是想让他们是双精度。因为计算时他们的值小于1,整型的话就=0了,而后被 Cw=(m1w-m2w)/m2w 作为分母,出现了除0错误。


在这三个函数中,添加对  m1a,m2w,m2a 的定义。

[Fortran] 纯文本查看 复制代码
double precision m1a,m2w,m2a


得到如下计算结果,不知是否正确:
------------------------------------------------------------------
       t(s)     Pa(kPa)    Pw(kPa)    Set(cm)
------------------------------------------------------------------
  0.1000E+05    0.43307    0.63307    0.00000

回复

使用道具 举报

19

帖子

3

主题

0

精华

入门

新手菜鸟

F 币
71 元
贡献
66 点

爱心勋章

 楼主| 发表于 2014-2-27 13:08:57 | 显示全部楼层
chuxf 发表于 2014-2-27 12:14
嗯,这个错误就很明了了。

Ua,Uw,Set 三个函数中,没有对  m1a,m2w,m2a 的定义,于是这三个量默认是整型的 ...

太感谢您了!就是我想要的结果。您的指导真的帮了我很大的忙。
回复

使用道具 举报

716

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
624 元
贡献
319 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

发表于 2014-2-27 13:17:00 | 显示全部楼层
zjl88915 发表于 2014-2-27 13:08
太感谢您了!就是我想要的结果。您的指导真的帮了我很大的忙。

不客气,常来论坛看看。
回复

使用道具 举报

19

帖子

3

主题

0

精华

入门

新手菜鸟

F 币
71 元
贡献
66 点

爱心勋章

 楼主| 发表于 2014-2-27 14:30:41 | 显示全部楼层
chuxf 发表于 2014-2-27 13:17
不客气,常来论坛看看。

我按照你的指导修改后,可以运行了。但是当我读取1D_Unsat.dat这个文件中的T(1)这个数时,当T(1)<1e7时,很正常,一旦大于就又出现以前的问题了(正常的话我需要算到T(1)=1e11)。我按照C06LAF子程序的帮助文件的错误提示进行修改,问题依然存在。 现在附件里是程序和问题截图,有时间您再帮我看下?我是小白。。。但是这个程序我需要尽快弄出来,好无力的赶脚。。。
回复

使用道具 举报

716

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
624 元
贡献
319 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

发表于 2014-2-27 14:54:27 | 显示全部楼层
这个恐怕就是管理在 4 楼说的那种情况了。

T(1) 增大以后,要达到相同的精度也就越困难,你需要同步调整其他的参数,例如 RELERR,TFAC,ALPHAB(根据你的具体情况)

回复

使用道具 举报

19

帖子

3

主题

0

精华

入门

新手菜鸟

F 币
71 元
贡献
66 点

爱心勋章

 楼主| 发表于 2014-2-27 14:59:34 | 显示全部楼层
chuxf 发表于 2014-2-27 14:54
这个恐怕就是管理在 4 楼说的那种情况了。

T(1) 增大以后,要达到相同的精度也就越困难,你需要同步调整其 ...

恩。。。那我只有再看看吧。。。但是我觉得问题不一定就是出在提示的地方。因为我这里类似这个计算的其他几个程序我计算时即使T很大也没有出现这个问题。唉。。。
回复

使用道具 举报

19

帖子

3

主题

0

精华

入门

新手菜鸟

F 币
71 元
贡献
66 点

爱心勋章

 楼主| 发表于 2014-2-27 16:23:44 | 显示全部楼层
chuxf 发表于 2014-2-27 14:54
这个恐怕就是管理在 4 楼说的那种情况了。

T(1) 增大以后,要达到相同的精度也就越困难,你需要同步调整其 ...

您好,在您方便的时候,可不可以帮我再看一下?附件里是我另外的一个程序以及C06LAF的帮助文件,那个运行没有任何问题,两个程序的代码差不多的。。。只是输入的数有个别不同。
回复

使用道具 举报

1

帖子

0

主题

0

精华

新人

F 币
18 元
贡献
6 点
发表于 2014-9-23 15:34:52 | 显示全部楼层
你好,请问你有完整的NAG fortran library 源码没有?
回复

使用道具 举报

19

帖子

3

主题

0

精华

入门

新手菜鸟

F 币
71 元
贡献
66 点

爱心勋章

 楼主| 发表于 2014-9-29 13:44:24 | 显示全部楼层
schoolhui 发表于 2014-9-23 15:34
你好,请问你有完整的NAG fortran library 源码没有?

不好意思,这个真没有。。。

评分

参与人数 1F 币 +8 贡献 +8 收起 理由
楚香饭 + 8 + 8 感谢反馈

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-31 01:02

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表