独孤伊人 发表于 2022-1-23 22:10:13

aspen链接子程序后运行报错:Fortran invalid operation encounterd

我有5个子程序,一起编译成功后导入aspen V11版本中运行,直接报错:severe error:Fortran invalid operation encounterd。 附上图片截图,请问大家知道怎么解决吗?谢谢!














Frank_2013 发表于 2022-1-23 22:10:13

楼主辛苦了

liu_jia_tao 发表于 2022-1-23 22:10:13

用 asplink *.obj mtrsf 把这5个obj文件合成到mtrsf.dll中,在文本文档中写这个dll文件的路径,Aspen连接器选项中填入这个文本文档路径。在Aspen中所需的地方按需填入你那5个子程序的子程序名(注意这里是子程序名,就是每个.f文件中开头SUBROUTINE后面的那个程序名)

独孤伊人 发表于 2022-1-23 22:10:13

liu_jia_tao 发表于 2022-1-24 09:32
用 asplink *.obj mtrsf 把这5个obj文件合成到mtrsf.dll中,在文本文档中写这个dll文件的路径,Aspen连接器 ...

哥 您说的我都是这样做的,您看我的截图,是把5个obj合到了一个文本文档最后命名是mtrsf_list_obj.opt。然后asplink mtrsf.dll, 生成了一个dll,然后aspen中也都设置好了,最后运行报错的。大哥可以加我QQ指导一下吗?感谢!QQ:1013265011

liu_jia_tao 发表于 2022-1-23 22:10:13

独孤伊人 发表于 2022-1-24 18:22
哥 您说的我都是这样做的,您看我的截图,是把5个obj合到了一个文本文档最后命名是mtrsf_list_obj.opt。 ...

你把.obj和.dll文件都删了,按照我下面的命令重新编译以下,一个符号都不要改:
aspcomp *.f (这里就是*号不能修改)
asplink *.obj mtrsf(这里就是*号不能修改)
新建一个文本文档,命名mtrsf.txt,里面写mtrsf.dll
然后再aspen的运行设置连接器选项中填"mtrsf.txt" (这里注意有英文引号)
在Aspen Plus需要调用子程序的地方填写子程序名,注意是你那5个程序各自的程序名
保证aspen模拟文件、mtrsf.txt、mtrsf.dll三个文件都在同一个文件夹
运行模拟

独孤伊人 发表于 2022-1-23 22:10:13

liu_jia_tao 发表于 2022-1-27 09:53
你把.obj和.dll文件都删了,按照我下面的命令重新编译以下,一个符号都不要改:
aspcomp *.f (这里就是 ...

哥,按照您的方法,成功编译了最后也填了"mtrsf.txt".但还是老问题,依然报错,我找不出是什么原因,大哥可以加个QQ帮忙看下吗?感谢!QQ:1013265011

独孤伊人 发表于 2022-1-23 22:10:13

liu_jia_tao 发表于 2022-1-27 09:53
你把.obj和.dll文件都删了,按照我下面的命令重新编译以下,一个符号都不要改:
aspcomp *.f (这里就是 ...

大哥,您的第四行说的:"里面写mtrsf.dll",这个需要加上位置吗?比如写成c:\bianyi\mtrsf.dll ?

liu_jia_tao 发表于 2022-1-23 22:10:13

独孤伊人 发表于 2022-2-6 16:38
大哥,您的第四行说的:"里面写mtrsf.dll",这个需要加上位置吗?比如写成c:\bianyi\mtrsf.dll ?

如果和bkp不在同一个文件夹中需要加上绝对路径,如果和bkp在一个文件夹只需要写上文件名.dll就可以。我加你QQ了
页: [1]
查看完整版本: aspen链接子程序后运行报错:Fortran invalid operation encounterd