以梦为马,不负韶华

搜索
查看: 1213|回复: 6
收起左侧

怎么在同一个流程中的两个不同模块中分别链接不同的fortran子程序?

[复制链接]
 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层 |阅读模式
aspen求助
aspen版本: aspen plus V11
求助大佬:

        在一个鼓泡流化床模拟流程中建立了两个RCSTR模块,这两个模块都需要链接外部子程序,将两个子程序都生成 .DLL文件之后打开流程,在run setting 中的linker option中只能链接一个 .DLL文件,总是显示有个一程序丢失。再此寻求大佬帮助!

已抛锚 成长值: 105

发表于 1970-1-1 08:00:00 显示全部楼层
如下图:
_20230515154911.png

点评

如果可以的话能不能加前辈一个微信,我的微信号为:xqkuner  详情 回复 发表于 2023-5-15 20:17
感谢前辈给我的回复 我将所有的 .f文件先转成obj格式,然后分别建立opt文件,再转换为.dll文件,之后把所有的.DLL文件的地址目录放在同一个txt文本文件中,然后将其转换为.opt文件,再连接到aspen plus中。但是我这  详情 回复 发表于 2023-5-15 20:15
回复 支持 反对

使用道具 举报

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

感谢前辈给我的回复
我将所有的 .f文件先转成obj格式,然后分别建立opt文件,再转换为.dll文件,之后把所有的.DLL文件的地址目录放在同一个txt文本文件中,然后将其转换为.opt文件,再连接到aspen plus中。但是我这样做之后还是出现了文件丢失问题,是不是我的步骤出现了什么问题,请前辈指点一下
报错:
->Processing input specifications ...

  *** SEVERE ERROR
      COULD NOT RESOLVE USER OR IN-LINE FORTRAN SUBROUTINE(S):

      SUBROUTINE "KINETIC" IS MISSING

  *** SEVERE ERROR
      PROGRAM TERMINATED DUE TO UNRESOLVED ROUTINES

! Errors while processing input specifications

点评

或者你可以这样:第一步和你现在做的一样把所有.f编译成.obj;第二步稍微做些改变,使用命令:asplink *.obj KINETIC,这样所有的.obj都会链接到KINETIC.dll中,这样只需要在.opt文件中写入“KINETIC.dll”即可。 SU  详情 回复 发表于 2023-5-16 13:10
回复 支持 反对

使用道具 举报

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

如果可以的话能不能加前辈一个微信,我的微信号为:xqkuner
[发帖际遇]: ~小孩er 屌丝逆袭成功,获得白富美女神垂青,赚了 4 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
学习学习,谢谢分享
[发帖际遇]: zxz2004 成功加入五毛党,回帖一个奖励 5 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

已抛锚 成长值: 105

发表于 1970-1-1 08:00:00 显示全部楼层
~小孩er 发表于 2023-5-15 20:15
感谢前辈给我的回复
我将所有的 .f文件先转成obj格式,然后分别建立opt文件,再转换为.dll文件,之后把 ...

或者你可以这样:第一步和你现在做的一样把所有.f编译成.obj;第二步稍微做些改变,使用命令:asplink *.obj KINETIC,这样所有的.obj都会链接到KINETIC.dll中,这样只需要在.opt文件中写入“KINETIC.dll”即可。
SUBROUTINE "KINETIC" IS MISSING这个报错有可能是另一个问题:你输入到Aspen Plus动力学页面中的子程序名称不是.f文件中的函数名,而是dll、obj、f这类文件名。Aspen Plus动力学页面中的子程序名称需要是.f文件SUBROUTINE后面的函数名。例如,SUBROUTINE USRKIN (SOUT,   NSUBS, 就要写USRKIN

点评

感谢,问题是出现在了.f文件的名称上面。 后面做了其他链接方法的尝试,您说的这两种方法都可以。另外,将两个.f文件分别生成.obj文件,再分别使用asplink分别生成其.dll文件,然后直接打开aspen plus不用使用linke  详情 回复 发表于 2023-5-16 16:53
[发帖际遇]: 一个袋子砸在了 liu_jia_tao 头上,liu_jia_tao 赚了 5 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
liu_jia_tao 发表于 2023-5-16 13:10
或者你可以这样:第一步和你现在做的一样把所有.f编译成.obj;第二步稍微做些改变,使用命令:asplink *.o ...

感谢,问题是出现在了.f文件的名称上面。
后面做了其他链接方法的尝试,您说的这两种方法都可以。另外,将两个.f文件分别生成.obj文件,再分别使用asplink分别生成其.dll文件,然后直接打开aspen plus不用使用linker option链接也能直接运行,经过对比,运行结果是一样的。
[发帖际遇]: ~小孩er 屌丝逆袭成功,获得白富美女神垂青,赚了 3 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-12 20:03

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

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