|
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 Studio.net环境下,在Aspen Plus Simulation Engine上编译,编译成功后生成用户模型的目标模块文件(*.obj)或共享库(*.dll)。
产生的目标模块文件(*.obj)若能正常链接和求解,运行Aspen Plus的电脑上必须安装Intel Fortran Compiler和Microsoft Visual Studio .NET 2003(或2000)这类的大程序,这样就占据了大量的电脑空间。当产生共享库(*.dll)后,和Aspen Plus文件放在一个文件夹,并在装载和求解用户模型的DLOPT文件中指定路经,就可以直接运行内嵌用户模型的Aspen Plus文件了。
实现用户模型的嵌入,产生共享库(*.dll)的步骤如下:
1)
用Fortran写一个用户模型(外部子程序),生成*.f文件;
2)
使用aspcomp命令编译用户模型,即aspcomp *.f,生成*.obj文件;
3)
使用asplink把用户模型链接到共享库中,即asplink *.dll,生成*.dll文件;
4)
为Aspen Plus系统提供链接共享库的路径,即用记事本编译DLOPT文件,并保存为*.opt文件。同时还要在AspenPlus的文件里Run-Run Settings-Engine Files-Linker域中指定DLOPT文件。
这样就完成了求解用户模型时AspenPlus运行所需要指定的特定共享库。
DLOPT文件的编编译程序如下:
! This is an example DLOPT file for Windows
:no_local
!
Do not include object module files from run directory
D\PATH\*.dll
! Use the shared libraries in the D\PATH
!directory when resolving user model symbols
其中“D\PATH”是DLL文件所在的路径。完成这一步之后,还需要在AspenPlus的文件里Run-Run Settings-Engine Files-Linker域中指定DLOPT文件,如图1所示。这样就完成了求解用户模型时AspenPlus运行所需要指定的特定共享库。
注意:当路径发生变化时,DLOPT文件里的路径要重新编辑 |
评分
-
查看全部评分
|