楚天湘水 发表于 2013-5-26 22:00:54

Aspen plus fortran子程序的编译、链接与运行

本帖最后由 楚天湘水 于 2013-5-26 22:06 编辑

Aspen Plus 可以用来模拟反应精馏,但提供的动力学方程形式比较死板,很多类型的动力学方程都不能直接输入,不得不外接一个fortran子程序。本来用到fortran的机会就不多,所以会的人也不多。何况编写好fortran子程序后,还要用fortran编译器来编译生成obj文件,而且每次运行的时候都得连接一次,比较麻烦。我的电脑以前是装了编译器这些软件的,但最近出了问题,只能编译fortran子程序,运行aspen外接fortran子程序的时候就会出错。恰好这几天要帮师兄写个fortran子程序,写完后需要调试,但又运行不了,重装呢也没把握,想起网上有兄弟说过可以用asplink命令生成一个dll文件,这样就不用运行aspen的时候每次都连接编译器了。于是找来资料学习学习,居然成功了,欣喜之余,分享给大家。第一步当然是编写动力学子程序了(此处省略若干字)
第二步编译写好的动力学子程序(以网友@soaty 的动力学子程序为例)打开Aspen Plus Simulation Engine                                                            打开后是这样的接下来改变文件夹路径,转到存放动力学子程序的那个文件夹比如我的文件路径是 C:\ProgramData\AspenTech\AspenPlus V7.1\IPP于是输入 cd C:\ProgramData\AspenTech\AspenPlus V7.1\IPP(改变路径的方法有很多,介绍这一种吧) 回车后就转到这个文件夹了,这时候就可以进行编译了:编译命令:aspcomp输入命令aspcompRIPPA.f,回车到文件夹一看你会发现已经生成了obj文件了第二步就完成了第三步:生成obj文件的OPT文件这个很简单,只需要在文件夹里面先新建一个文本文件,然后把名字改为RIPPA_LIST_OBJ,双击打开文本文件,在里面先添加上刚刚生成的obj文件的路径(就是我们第一步提到的那个文件夹路径加上最后生成的RIPPA.obj就可以了)最后把txt格式改成opt格式就行了第四步:链接第二步生成的OBJ文件,生成dll文件命令格式:ASPLINK libnameDloptfile是在刚刚生成的OPT文件的文件名,Libname是给要生成的dll文件指定一个文件名于是我们输入 asplink RIPPA   回车(这里如果输入的命令是ASPLINK libname 就会链接这个文件夹下所有的OBJ文件,如果你的文件夹下刚好有多个OBJ文件,那么一般不能成功生成dll文件)第五步:生成dll文件的opt文件,和第三步类似贴个图好了,大家参考第三步把txt格式改成opt格式,这时所有的编译链接都完成了,我们就可以在没有安装fortran编译器的电脑上运行带fortran的子程序的Aspen Plus文件了首先打开BKP文件后,点击RUN——settings——Engine Files——Linker填入dll文件的OPT文件名RIPPA_LOC_DLL.opt点击确定,这时,不出意外,就可以运行aspen了注意:上面提到的这些文件必须放到一个文件夹里面,如果您下载了我的文件更改了文件夹的目录就需要在那两个OPT文件中更改成您自己的文件夹目录。需要说明的是我提供的这个例子的模拟有问题,物性参数、模拟结果都有问题,感兴趣的朋友可以调试下。原帖见:http://meng.horse/forum.php?mod=viewthread&tid=66878&extra=&page=1 祝好运。
附件包括了上面所提到的所有文件,同时还包括了我参考的aspen 手册 aspen plus customizing unit operation models(69—70页)

wyx165 发表于 2013-5-26 22:00:54

按着这些步骤弄好之后,运行Aspen出现这种情况是哪里出现问题了?

change0618 发表于 2013-5-26 22:00:54

果断回帖,如果沉了就是我弄沉的很有成就感

tdl522 发表于 2013-5-26 22:00:54

沙发!兄弟辛苦了,支持原创心得。

北风与南风 发表于 2013-5-26 22:00:54

这是aspen plus的进阶使用了。

soaty 发表于 2013-5-26 22:00:54

学习啦!!!不过生成obj文件后每次都要运行么。我是把obj文件复制到我bkp所在文件夹后就没管它了{:1106_362:}

pl283600780 发表于 2013-5-26 22:00:54

楼主是高手,望尘莫及

楚天湘水 发表于 2013-5-26 22:00:54

soaty 发表于 2013-5-26 22:11
学习啦!!!不过生成obj文件后每次都要运行么。我是把obj文件复制到我bkp所在文件夹后就没管它了{:1106_36 ...

嗯,估计你每次运行aspen的时候,都会连接那个编译器,因为你的编译器是好的,所以没有问题。
这个对于内部原理其实我也不清楚了。。。。。

soaty 发表于 2013-5-26 22:00:54

楚天湘水 发表于 2013-5-26 22:28
嗯,估计你每次运行aspen的时候,都会连接那个编译器,因为你的编译器是好的,所以没有问题。
这个对于 ...

哦哦。好的。我明白了。谢谢楚天湘水学长的耐心指点!

Pat小熊 发表于 2013-5-26 22:00:54

啥也不说了,楼主就是给力!

tianshanxue 发表于 2013-5-26 22:00:54

支持原创,回复看看
给力!

taobinglin 发表于 2013-5-26 22:00:54


啥也不说了,楼主就是给力!

zhangjun8369 发表于 2013-5-26 22:00:54

楼主牛人啊,学习了

山中来客 发表于 2013-5-26 22:00:54

lz真是人才,正需要这个东西!

高天云 发表于 2013-5-26 22:00:54

行家,行家的大作。

lcubb 发表于 2013-5-26 22:00:54

哎呀,楼主呀,你真棒呀。。。。

wxch99219 发表于 2013-5-26 22:00:54

好帖,支持,谢谢楼主!

jiangzhankun 发表于 2013-5-26 22:00:54

看了LZ的帖子,我只想说一句很好很强大!

吴迪723 发表于 2013-5-26 22:00:54

楼主很给力啊

凯凯 发表于 2013-5-26 22:00:54

兄弟学习fortran学的不错啊 。。。

xcsjah 发表于 2013-5-26 22:00:54

是有点难度,好好学习一下。
页: [1] 2 3
查看完整版本: Aspen plus fortran子程序的编译、链接与运行