以梦为马,不负韶华

搜索
查看: 2918|回复: 21
收起左侧

如何在aspen中给subroutine找错

[复制链接]
发表于 1970-1-1 08:00:00 显示全部楼层 |阅读模式
80韶华币
在aspen中会用到一些subroutine,例如换热器换热系数等。但是自己编写后,编译没有错误,计算结果却有问题,与实际不符合。
如何对于subroutine在aspen中进行纠错呢?比如显示里面全部中间变量的数值等等?显示调用的aspen中的数值,如sin()等。

大家有什么技巧么?这方面有教材可以参考么?或者有什么纠错经验也欢迎分享分享
 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
好像打了 dashen 这两个字就会不让发 所以改成了大家 哈哈
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
大概用write写成这样的格式吧WRITE(USER_NRPT, 2000) IDS(1), RATES(1)

点评

这句话是什么意思?在help文档里只有附录A公用块及访问组分数据中有这部分内容 但觉得讲的很少 是否有其他参考教材呢 在里面找没看懂您这句话的意思  详情 回复 发表于 2019-10-7 16:07
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
55656937 发表于 2019-9-25 17:35
大概用write写成这样的格式吧WRITE(USER_NRPT, 2000) IDS(1), RATES(1)

这句话是什么意思?在help文档里只有附录A公用块及访问组分数据中有这部分内容 但觉得讲的很少 是否有其他参考教材呢 在里面找没看懂您这句话的意思
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
就是Fortran的输出语句啊,你先看下他的语法,就知道了。

点评

就找到了这部分内容 感觉和您写的不一样哇? 写到calculator 中去也有错误,那个*就是纯粹的*么  详情 回复 发表于 2019-10-9 10:48
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
55656937 发表于 2019-10-8 08:24
就是Fortran的输出语句啊,你先看下他的语法,就知道了。

就找到了这部分内容 感觉和您写的不一样哇? 写到calculator 中去也有错误,那个*就是纯粹的*么

捕获.PNG
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
差不多啊,*代表格式,*可以代表任何格式,你也可以自己写格式

点评

如果想写点前缀之类的做输出的标记,比如输出的数字前要字符解释一下,怎么输出呢  详情 回复 发表于 2019-10-10 20:38
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
55656937 发表于 2019-10-10 10:41
差不多啊,*代表格式,*可以代表任何格式,你也可以自己写格式

如果想写点前缀之类的做输出的标记,比如输出的数字前要字符解释一下,怎么输出呢
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
在格式里写

点评

我把*替换为想输出的字符,显示报错? 能否说详细一点呢? 相关内容在哪可以学习到,能否具体指教一下? 我只找到了那一部分  详情 回复 发表于 2019-10-11 17:14
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层

我把*替换为想输出的字符,显示报错? 能否说详细一点呢? 相关内容在哪可以学习到,能否具体指教一下? 我只找到了那一部分
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
看fortran的语法啊

点评

奥 您好 我还有有个问题 当我在内嵌Fortran中写write语句时没有问题 但是在外嵌的subroutine 中编译时会显示 NTERM或者 NRPT未定义?  详情 回复 发表于 2019-10-15 16:28
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层

奥 您好 我还有有个问题 当我在内嵌Fortran中写write语句时没有问题 但是在外嵌的subroutine 中编译时会显示 NTERM或者 NRPT未定义?
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
#include "ppexec_user.cmn"

点评

不对呀 还是不行 还是未定义 不是这个语句 这个伪指令是定义了 write(NTERM,*)这个 但是不是write(NTERM,*) 前者把结果输出到历史文件里 后者是控制面板里 如果想输出到控制面板里的话怎么实现呢?  详情 回复 发表于 2019-10-17 22:24
多谢 多谢  详情 回复 发表于 2019-10-17 11:29
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
55656937 发表于 2019-10-17 10:45
#include "ppexec_user.cmn"

多谢 多谢{:1106_382:}
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
55656937 发表于 2019-10-17 10:45
#include "ppexec_user.cmn"

不对呀 还是不行 还是未定义  不是这个语句 这个伪指令是定义了 write(NTERM,*)这个 但是不是write(NTERM,*) 前者把结果输出到历史文件里 后者是控制面板里 如果想输出到控制面板里的话怎么实现呢?
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
WRITE (USER_NTRMNL,*)

点评

我看help文件里写着这个是指终端文件 Fortran 单元号,USER_NRPT 是报告文件 Fortran 单元号。这两个怎么理解呢?前者是控制面板输出?  详情 回复 发表于 2019-10-18 10:08
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层

我看help文件里写着这个是指终端文件 Fortran 单元号,USER_NRPT 是报告文件 Fortran 单元号。这两个怎么理解呢?前者是控制面板输出?
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层

如图

本帖最后由 telegoat 于 2019-11-23 22:20 编辑

C:\Users\Telegoat\Desktop\Snipaste_2019-11-23_22-12-06.png

C:\Users\Telegoat\Desktop\Snipaste_2019-11-23_22-12-20.png
Snipaste_2019-11-23_22-12-06.png
Snipaste_2019-11-23_22-12-20.png

点评

都是显示在control panel中的,为什么语句不一样呢?请教您这个语句是在哪找的呢,我搜了help文档没有您这个语句。  详情 回复 发表于 2019-11-26 11:07
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层

都是显示在control panel中的,为什么语句不一样呢?请教您这个语句是在哪找的呢,我搜了help文档没有您这个语句。

点评

官方参考手册: "Aspen Plus User Models"  详情 回复 发表于 2019-11-28 11:42
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
zzz1995zzz 发表于 2019-11-26 11:07
都是显示在control panel中的,为什么语句不一样呢?请教您这个语句是在哪找的呢,我搜了help文档没有您 ...

官方参考手册: "Aspen Plus User Models"

点评

方便发一个链接么~  详情 回复 发表于 2019-11-28 23:06
回复

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-2-26 20:00

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

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