有关fortran语言在A+中使用的个人总结? 基于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文件了。 实现用户模型的嵌入,产生共享库(*.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文件里的路径要重新编辑。 fortran一般用于建立aspen用户模型。 根据aspen关于用户模型的说明书,建立并引用用户模型的步骤包括: 1.用fortran写一个用户模型 2.使用aspcomp命令编译用户模型 3.使用asplink命令(可选的)把用户模型链接到共享库中 4.为aspen plus系统提供目标文件或共享库。 其中编写用户模型根据fortran规则,aspen对文件名,子程序名,精度等也有一些规定。例如,文件可以给定任意名,但应该以.f为扩展名。所有实型变量必须声明为双精度,在子程序中应包括下列语句: implicit real*8(a-h,o-z) 其他还有一些,可以参考aspen用户手册。 在运行aspen plus前,必须编译所有的fortran用户模型。进入dos界面,在aspen plus simulation engine所在的目录下,引用aspcomp命令: aspcomp *.f 编译结束后,在fortran子程序的同级目录下,会生成同名的用户模型目标模块文件,以obj为扩展名。 将这些obj文件放到运行目录中,就可以在aspen模型中引用这些目标模块所建立的用户模型了。查看更多