aspenfortran子程序的编译、连接、运行
- 格式:docx
- 大小:159.35 KB
- 文档页数:5
第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。
第二种方法:1. 建立工作目录2. 将Abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc 或aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;3. 将编译的fortran程序拷贝到工作目录;4.将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。
以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc等都不同。
这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。
1子程序格式(程序后缀是.f; .f90; .for;.obj??)答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。
在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for (.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。
基于Fortran的AspenPlus单元过程用户模型的开发基础知识Aspen Plus是一种通用的化工过程模拟、优化和设计软件,但它提供的通用过程单元模型并不能满足用户的所有需求,如反应器,并不能把所有的反应及反应本质模拟出来。
但是Aspen Plus提供了用户扩展接口,用户可以根据自己的需要将自定义的过程单元模型添加到该软件中并使用。
Aspen Plus提供了基于Fortran用户模型的开发方式,即可以编写Fortran用户子程序,编译后产生一个动态连接库,从而实现用户模型和Aspen Plus的结合。
用户模型是一黑箱模型,内部程序可是根据需要自己定义,输入物流可以在Stream中先定义,将流股信息(如温度、压力、组成及流量等)按照Aspen Plus的内部规定传递到模型中,参与模型的内部计算;然后将模型计算的结果通过输出物流信息传递出来,用户可以根据自己的需要来定义,但必须要遵守Aspen Plus的内部规定。
由于外部Fortran子程序不能被解释,需要一个Fortran编译器。
不同版本的Aspen Plus软件需要不同版本的Fortran编译器,如Aspen Plus 11.1只需要Visual Fortran 6.0版本即可;Aspen Plus 2006就需要Intel Fortran 9.0版本,且必须在Microsoft Visual 环境下,在Aspen Plus Simulation Engine上编译,编译成功后生成用户模型的目标模块文件(*.obj)或共享库(*.dll)。
产生的目标模块文件(*.obj)若能正常链接和求解,运行Aspen Plus的电脑上必须安装Intel Fortran Compiler和Microsoft Visual Studio .NET 2003(或2000)这类的大程序,这样就占据了大量的电脑空间。
当产生共享库(*.dll)后,和Aspen Plus文件放在一个文件夹,并在装载和求解用户模型的DLOPT文件中指定路经,就可以直接运行内嵌用户模型的Aspen Plus文件了。
汇编语言源程序的编辑、汇编、连接的方法一、编辑源程序汇编语言源程序:用汇编语句编写的解决应用问题的程序。
汇编程序:将汇编语言源程序翻译成机器语言程序的系统。
汇编:将汇编语言程序翻译成机器语言程序的过程。
在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。
(1)编辑软件行编辑软件:全屏编辑软件:WPS、、、WORD、PE等。
当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。
(2)汇编程序有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。
TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。
(3)连接程序用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的机器代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。
(4)辅助工具程序(.EXE)进行汇编语言程序调试和文件格式转换的程序有: 动态调试程序EXE2BIN.EXE 文件格式转换程序CREF.EXE 交叉引用程序编辑、汇编、连接、调试过程如图1.1所示。
TD(turbo Debugger简称)也是动态调试程序,可在DOS和Windows环境下运行,用户界面十分友好。
二、汇编源程序用编辑软件建立的源程序.ASM文件,必须经过汇编才能产生.OBJ文件。
为此,需键入:C:>MASM <源文件名>或C:>MASM按前一种格式键入,屏幕上显示:Microsoft(R) Macro assemble V ersion 5.00Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reservedOBJ filename[<file>.obj]:Source listing[nul.lst]:Cross-reference[nul.crf]:以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。
大家在使用Aspenplus中的calculate,design spec,sensitivity analysis时都可以发现有个Fortran的标签页,这就是AspenPlus的内嵌Fortran模块,以前的文章也有提到过,通过内嵌的Fortran模块可以帮助我们完成很多工作。
下面看看他主要能做点什么!通过用Fortran 模块你可以把Fortran 语句插入到流程计算中以便执行用户定义的任务例如1 在使用输入变量前计算和设定它们前馈控制2 把信息写到控制面板上3 从一个文件中读取输入数据4 把结果写到ASPEN PLUS 报告或写到任意外部文件5 调用外部子程序6 编写你自己的用户子程序如果想用好Fortran必须得对Fortran有所了解才可以,这里就不再说明了!接下来通过一个简单的例子来阐述一下内嵌Fortran模块的使用方法。
图1 图2 问题描述: 问题1:在图1中,stream 16 ,17混合后C5H8-01会有大概0.5%发生反应生成C10H16-01,并且B13 split模型要求stream 22 采出是stream 8的1%。
这一块为了简化模型使用了Calculate中的fortran或是excel(前面讲过不再重复)。
问题2:在图2中,通过进料板位置和回流比对stream 3中的所有C5做灵敏度分析,这个就要用到sensitivity analysis中的fortran。
下面分别讲述: 问题问题1:A 新建一个Calcuation名称为“C-1”定义好变量如图3 A 图 3 3 变量说明AA-Stream3中C5H8-01的质量流量类型为import AB-Stream2中C5H8-01的质量流量类型为import AC-Stream8中C5H8-01的质量流量类型为export AD-Stream8中C5H8-01的质量流量类型为export AF-Stream8中C10H16-01的质量流量类型为export B 在Fortran中写公式 B F AC=(AA+AB)*(1-0.005)F AD=(AA+AB)*0.005F AF=(AA+AB)*0.01 在fortran中的变量就是在前面定义好的变量,同时也可以定义中间变量平常,在这里可以添加外部的Fortran程序,也可以读写文件等等和fortran一样。
Aspen plus fortran 子程序的编译、连接与运行
Aspen Plus可以用来模拟反应精馏,但提供的动力学方程形式比较死板,很多类型的动力学方程都不能直接输入,不得不外接一个fortran 子程序。
本来用到fortran 的机会就不多,所以会的人也不多。
何况编写好fortran 子程序后,还要用fortran 编译器来编译生成obj
文件,而且每次运行的时候都得连接一次,比较麻烦。
我的电脑以前是装了编译器这些软件
的,但最近出了问题,只能编译fortran 子程序,运行aspen外接fortran 子程序的时候就会出错。
恰好这几天要帮师兄写个fortran 子程序,写完后需要调试,但又运行不了,重装
呢也没把握,想起网上有兄弟说过可以用asplink命令生成一个dll文件,这样就不用运行
aspen的时候每次都连接编译器了。
于是找来资料学习学习,居然成功了,欣喜之余,分享给大家。
第一步当然是编写动力学子程序了(此处省略若干字)
第二步编译写好的动力学子程序(以网友soaty的动力学子程序为例)
打开Aspen Plus Simulation Engine
JS M...
打开后是这样的
接下来改变文件夹路径,转到存放动力学子程序的那个文件夹
比如我的文件路径是C:\ProgramData\Aspe nTech\Aspen Plus \IPP
于是输入cd C:\ProgramData\AspenTech\Aspen Plus \IPP
回车后就转到这个文件夹了,这时候就可以进行编译了:编译命令:aspcomp
输入命令aspcomp ,回车
到文件夹一看你会发现已经生成了obj文件了,
compil&Jog
[2)Ripp 白.f
詮R]PPA.obj'
第二步就完成了
第三步:生成obj文件的OPT文件
这个很简单,只需要在文件夹里面先新建一个文本文件,然后把名字改为
RIPPA_LIST_OBJ双击打开文本文件,在里面先添加上刚刚生成的obj文件的路径(就是我们第一步提到的那个文件夹路径加上最后生成的就可以了
僅改叶期大沪__ compile』og2013/5/26 20:34 1 KB Bl Rippa.f2013/5/23 9:38Fortran Source11 KB
也R]PPA.obj2013/^/26 20:34Object File 4 KB 匚RlPPA_LISTj3BJ.btt2013/5/26 20:43文本交栏1KB
RlPPA_Ll5T,OBJ.txt -记事苯
文件旧巒(町搐式Q)童看(V)裡助(H)
C:\PrograoData\AspenTech\Asp en Plus V7.1\IPP\RIPF扎obj
最后把txt格式改成opt格式就行了
compile.log
IB RippaJ
豹RTPPA.obj
.,RlPPA_UST,OBJ.Q P t
第四步:链接第二步生成的OBJ文件,生成dll文件
命令格式:ASPLINK [DLOPT dloptfile] lib name
Dloptfile 是在刚刚生成的OPT文件的文件名,
Lib name 是给要生成的dll文件指定一个文件名
于是我们输入aspli nk [dlopt ] RIPPA 回车
(这里如果输入的命令是ASPLINK lib name 就会链接这个文件夹下所有的OBJ文件,如果你的文件夹下刚好有多个OBJ文件,那么一般不能成功生成dll文件)
第五步:生成
dll文件的opt文件,贴
个图好了,大家参考第三步
和第三步类似
三*| _0953ngi.def2013/5/26 21:09Export Definiti©"...IKE [j _BaF222,trnp2013/5/2& 2110TMP文件15 K&两radfracfanyingjinglicidcnglixue2.bkp2013/5/26 15:56Aspen Plus Back..134 KB Si RIPPA.dll2013/5/26 20:59頤展17 KB RIPPA.exp2013/5/26 20:59Exports Library 1 KB [=1 Rippa.f2013/5/23 9:38Fortran Source11 KB ffl RIPPA.Id2013/5/26 20:59Aspen Plus Linke... 4 KB Bl RiPPA.Ids2013/5/26 20:59LDS文件 1 KG 幻RIPPAJib2013/5/26 20:59Object File Library2 KB RIPPA.cbj5012/5/26 20:34Object File 4 KE R[PPA_UST^OBJ.opt2013/5/26 20:43OPT文件 1 KB | 久RIPPA_LOC_DLL.opt2013/5/26 21:01OPT文件1KB
■" RTPPA_LOC_DlL,opt -15W4;
文供F) 福式Q}章看M轄助(H)
C:\Progr amD ata\Asp enT cch\Aspen Plus V7.1\IPP\RIFPA- DLL
把txt格式改成opt格式,这时所有的编译链接都完成了,我们就可以在没有安装fortran 编译器的电脑上运行带fortran 的子程序的Aspen Plus文件了
首先打开BKP文件后,点击RUNsettings 填入dll文
件的OPT文件名
Engine Files Linker
Run Settings
Engint Fil Qpti ons
User properly databanlts
Mi scell^neaus files
L L M就R1PFA UOC DLL. 0?7
tun
Coit
确定I 邨肯应月⑷帮助
点击确定,这时,不出意外,就可以运行aspen 了
注意:上面提到的这些文件必须放到一个文件夹里面,如果您下载了我的文件更改了文件夹的目录就需要在那两个OPT文件中更改成您自己的文件夹目录。
需要说明的是我提供的这个例子的模拟有问题,物性参数、模拟结果都有问题,感兴趣的朋友可以调试下。
祝好运。