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页) 按着这些步骤弄好之后,运行Aspen出现这种情况是哪里出现问题了?
果断回帖,如果沉了就是我弄沉的很有成就感 楚天大佬你好,我刚学着用Aspen外挂Fortan程序。按照您的帖子,准备外接程序。但是先出现如下问题不知道如何解决,请求赐教:
Welcome to Aspen Plus V8.4 Simulation Window.
C:\ProgramData\AspenTech\Aspen Plus V8.4>cd C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic
C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic>aspcomp USER.f
warning #13380: Compiler configuration problem encountered.Compiler cannot load imf dispatching library.
C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic>asplink USER
'E:\aspen\APrSystem' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'E:\aspen\APrSystem' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic>
你好,按照教程,我出现了如下错误,不知道如何解决,想请教一下大佬:
Welcome to Aspen Plus V8.4 Simulation Window.
C:\ProgramData\AspenTech\Aspen Plus V8.4>cd C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic
C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic>aspcomp USER.f
warning #13380: Compiler configuration problem encountered.Compiler cannot load imf dispatching library.
C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic>asplink USER
'E:\aspen\APrSystem' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'E:\aspen\APrSystem' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
C:\ProgramData\AspenTech\Aspen Plus V8.4\kinetic>
本帖最后由 风云时代happy 于 2013-6-26 09:48 编辑
\aspen\Working Folders\Aspen Plus 11.1>cd f:\fortran
\aspen\Working Folders\Aspen Plus 11.1>aspcomp RIPPA.f
PCOMP: Warning! DEC Fortran compiler f77.exe not found in %PATH%
PCOMP: Warning! Microsoft C runtime library msvcrt.lib not found in %LIB
PCOMP: Warning! Microsoft C runtime library is needed for Dynamic Linkin
PCOMP: Warning! DEC Fortran runtime library dformd.lib not found in %LIB
PCOMP: Warning! DEC Fortran runtime library is needed for Dynamic Linkin
rry, RIPPA.f was not found.Please check.
\aspen\Working Folders\Aspen Plus 11.1>
请问这如何解决啊?非常感谢 编译的时候报错。。。不知道怎么回事。
ASPCOMP: Warning! Intel Fortran compiler ifort.exe not found in %PATH%
ASPCOMP: Warning! Microsoft C runtime library msvcrt.lib not found in %LIB%
ASPCOMP: Warning! Microsoft C runtime library is needed for Dynamic Linking.
ASPCOMP: Warning!Intel Fortran runtime library libifcoremd.lib not found in %LIB%
ASPCOMP: Warning!Intel Fortran runtime library is needed for Dynamic Linking.
'ifort.exe' 不是内部或外部命令,也不是可运行的程序 山中来客 发表于 2014-3-21 15:47
你好,lz。我想问一下,正如你帖子中所出现的fortran问题后来怎么解决的?亟待指点~谢谢!
不知你是否已解决这个问题。我的经验给你参考下。我之前碰到过这个问题,我用的是aspen8.4,由于我没有用配套的fortran和visual studio就会出现一大堆warning。后来我找到配套的安装后就没出现warning了。你到坛子里搜一下,有人讨论过你这版本要用哪些fortran和visual studio的。 请问楼主出现以下问题怎么解决?
ASPCOMP: Warning! Microsoft C runtime library msvcrt.lib not found in %LIB%
ASPCOMP: Warning! Microsoft C runtime library is needed for Dynamic Linking.
ASPCOMP: Warning!Intel Fortran runtime library libifcoremd.lib not found in %LIB%
ASPCOMP: Warning!Intel Fortran runtime library is needed for Dynamic Linking. soaty 发表于 2013-5-26 22:11
学习啦!!!不过生成obj文件后每次都要运行么。我是把obj文件复制到我bkp所在文件夹后就没管它了{:1106_36 ...
嗯,估计你每次运行aspen的时候,都会连接那个编译器,因为你的编译器是好的,所以没有问题。
这个对于内部原理其实我也不清楚了。。。。。
你好,楼主,有两个问题想问你一下,比着你的第二 步骤:编译命令:aspcomp,输入命令aspcomp RIPPA.f,回车。我的出现了一些问题,没有生成obj文件,不知道是不是fortran编辑器的原因。另一个问题是plus文件中的一个设置浮点型0.3,不知道什么意思。谢谢楼主! 高手在民间 风云时代happy 发表于 2013-6-26 09:44
\aspen\Working Folders\Aspen Plus 11.1>cd f:\fortran
\aspen\Working Folders\Aspen Plus 11.1>a ...
你好,lz。我想问一下,正如你帖子中所出现的fortran问题后来怎么解决的?亟待指点~谢谢! Aspen V8.4外接Fortran时出现问题。 本人电脑上装了VS2013和Intel FortranXE2013但是在设置编译器(set complier)窗口未出现可以使用的编译器组合,显示的都是Error,请问是什么情况,难道是安装问题吗,谢谢。图片可见链接 苏哥,你好,我严格按照你的步骤进行链接了一次,一切都很顺利,结果在最后一步linker中输入dll的文件名后,运行却提示the following file are missing: RIPPA_LOC_DLL.OPT. 很是困惑,试了很多方法也没搞定,是哪出了问题呢?? 我只能说楼主真牛。我这学期做毕业设计正在找这方面资料自学。但是我按照你的方法做出现如下图错误:是不是由于编译器问题啊?我用的是inter visual fortran2011,aspen软件是2010年出的aspen plus v7.2 楚天湘水 发表于 2013-5-26 22:28
嗯,估计你每次运行aspen的时候,都会连接那个编译器,因为你的编译器是好的,所以没有问题。
这个对于 ...
哦哦。好的。我明白了。谢谢楚天湘水学长的耐心指点!
你好,看你编的fortran,想问一下,文献中的动力学单位与aspen中所选单位基准(看你plus中选的米制单位)有联系吗?是不是fortran里面按照文献设置一下就可以了呢?谢谢。 楼主,你也做反应蒸馏,动力学也要用fortran编写吗?我也在做这方面的模拟,一直都是用aspcomp和asplink来编译连接的。可以交流一下,qq:731271733
wyx165 发表于 2016-11-30 15:59
按着这些步骤弄好之后,运行Aspen出现这种情况是哪里出现问题了?
您好,我也遇到了一样的问题。请问您解决了嘛 山中来客 发表于 2014-3-21 15:47
你好,lz。我想问一下,正如你帖子中所出现的fortran问题后来怎么解决的?亟待指点~谢谢!
这个是编译器的问题 1677623315 发表于 2014-7-25 20:17
**** 作者被禁止或删除 内容自动屏蔽 ****
你这是没有看清楚,解决办法就是【】后加个空格就行了 Aspen plus fortran子程序的编译、链接与运行 [修改]
下载看看 学学感谢分享 楼主你好,我现在遇到问题是可以编译,能够生成.obj文件,但是到.dll文件的时候总是无法生成。不知道楼主是否碰到过这样的情况 lihaiyong826 发表于 2013-5-29 21:33
很给力呀!可是我fortran的那两个程序还没下载安装呢。
别下了,直接用平衡转化率吧,省事
前辈,您好,麻烦问下,我想在aspen中开发一个喷射器模型,而且这个喷射器模型需要调用水蒸气的物性,您感觉这个模型可行吗 wyx165 发表于 2016-11-30 15:59
按着这些步骤弄好之后,运行Aspen出现这种情况是哪里出现问题了?
请问您的问题解决了没 谢谢楼主分享!目前在做torrefaction过程的模拟,aspen plus没有相关模块,不知道可不可以自己写fortran计算,求楼主指教啊! 看帖回帖,虽然没那个水平,也看不是很懂,还是抱着看看的心情点进来了,aspen adsorption神马的,Fortran神马的,统统不会叻 wyx165 发表于 2016-11-30 15:59
按着这些步骤弄好之后,运行Aspen出现这种情况是哪里出现问题了?
子程序没有编译好 我想问一下,最后linker你的opt文件的时候,可以同时链接两个Fortran子程序吗,该怎么链接啊,困扰了我好多天了
{:1106_361:} 生成dll文件的时候显示dllname must have .DLL or .EXE extension,怎么解决呀请教一下大佬
\aspen\Working Folders\Aspen Plus 11.1>
请问这如何解决啊? 非常感谢 请问我用的是7.1版本,需要安装哪个版本的Microsoft Visual Studio和那个版本的fortran呢?多谢啦 学习啦!!!不过生成obj文件后每次都要运行么。我是把obj文件复制到我bkp所在文件夹后就没管它了{:1106_362:} 我想请问一下:我按照上面的输入,前面都还很顺利,后面第四步就出问题了,请教高手怎么解决? 楼主你好,aspen外嵌动力学方程用什么编译fortran子程序,怎么才能判断.f文件是否正确,谢谢! 编译链接之后运行,提示没有错误没有警告。但是点开PFR发现并没有反应。大概是什么原因呢? 请问楼主您说的这些做完之后无法内联FORTRAN子程序是什么原因呢?是程序写的不对嘛 关于林徽因的书很多,大都着墨于她情感故事。而淡化性别想象,林徽因的真价值还在建筑 真长见识了,楚天大师能分享点fotrran入门的教程或者资料吗?向您学习,qq562600750 请问fortran和aspen一定要安装在同一个盘内吗?我出现了如图的错误,怎么解决啊? 生成.dll文件的时候出现error:dllname must have.dl or .exe extension是什么原因 如何在Aspen plus fortran子程序的编译子程序十分感兴趣,想学习一下,感谢楼主! 请问每次运行的时候都得连接一次什么意思呀,不是生成obj就能直接用了么?~ 请问一下我用Aspen编译的时候问什么无法生存.dll文件 只能生成.dl
文件 一再在用FORTRAN编程,最难的事如何编写,一些小的细节会造成编译报错 这个方法其实有现成的教程,只是动力学方程的编写用fortran比较痛苦 我想问一下,你们编写的程序是Fortran77的格式,还是Fortran90的格式 感謝分享~~
最近再研究反應蒸餾的案例
不過我是直接在Reaction那邊掛 我是新手,目前遇到最大的问题是第二部调试那里通过不了,希望能学到! 沙发!兄弟辛苦了,支持原创心得。 这是aspen plus的进阶使用了。 楼主是高手,望尘莫及 啥也不说了,楼主就是给力! 支持原创,回复看看
给力!
啥也不说了,楼主就是给力!
楼主牛人啊,学习了 lz真是人才,正需要这个东西! 行家,行家的大作。 哎呀,楼主呀,你真棒呀。。。。
好帖,支持,谢谢楼主! 看了LZ的帖子,我只想说一句很好很强大! 楼主很给力啊 兄弟学习fortran学的不错啊 。。。 是有点难度,好好学习一下。