基于Fortran的AspenPlus单元过程用户模型的简单例子
Inlet:Composition:H2\N2\CO2,1\1\1kmol/hrT:25℃,P:1atm(A)
要求:
Outlet1:Composition:H2\N2\CO2,0.2\0.5\0.6kmol/hr
T:25℃,P:2atm(A)
Outlet2:Composition:H2\N2\CO2,0.8\0.5\0.4kmol/hr
T:25℃,P:1atm(A)
1. 建立aspen plus流程
全局规定、定义组成、选择物性方法等不再赘述。Block选择user model中的user。
2.
编写Fortran程序
很多用户模型的例子都在目录D:\Program Files\AspenTech\Aspen Plus 11.1\Engine\user下。Fortran用户模型的开发涉及到AspenPlus内部单元模块、物流等和系统之间的参数传递,这可以通过扩展接口程序来实现,接口程序都有自己特殊的定义方式,如user model中的user和user2通过不同的用户模型子程序和参数来实现参数的调用。
编写Fortran用户模型的规定:子程序名不得超过6个字符;所有的实型变量必须声明为双精度;不得修改公用块(如dms_ncomp.cmn)的任何变量…
就本例子,user模型的程序接口选择目录下的USRUSR.f,主程序简单地写了进口物流的信息如何进入模型进行计算,计算后的结果如何传递到出口物流中,如下图。
子程序名为model,保存文件名sep.f。
接口中各参数的意义和物流信息可以参考文档《User Models》的第六章和附录部分。
3. 完成程序编写后,在simulation engine上用aspcomp命令编译,一步步修正程序中的语法错误…直至通过,产生一sep.obj文件。
4. 在block的用户单元操作中,model中输入子程序名,Values中输入程序中定义的a/b/c三参数的值。
5. 运行结束后察看结果
6. 另外,也可以对user进行灵敏度分析等
定义变量
察看结果
上述只是简单地介绍了单元用户模型的用法,还有更深入的使用如aspen plus公用块和子程序。
当然,aspen plus只是软件工具,模拟结果的正确与否和精确度还是依赖自己建立的模型。希望本文能给大家使用user model能有启发作用。 谢谢小马哥!我也做过这个例子,不过仅此而且,再往下深入就很难了,所以我决定先建立真正的数据模型,然后再加入需要的aspen 公用快和子程序,这是个大体思路,接下来路还很长。。。 谁抄袭我的DD,还不引用出处那~~~侵权那~~~ 找了许久,最后还是在马后炮上找到了,谢谢马哥 回复 3# 小柯
柯姐也到这边来逛了。呵呵 好东西,感谢分享,学习了 好东西啊 ,赶紧学习, 多谢楼主提供这么好的资料,积累知识! 嵌入自编程序模块到aspen plus和hysys太难了{:1106_384:} 没嵌过,貌似可以试试 aspen的高级应用啊! 马哥威武,多谢了! 您好 看了您的例题 觉得您真的太棒了 是这方面的前辈 请问可以提供一点儿中文的这方面的资料吗 这个水平很高啊,学习学习 路过学习一下,谢谢马哥分享~ 这个对于fortran有一定的要求啊 有没有源程序。
很好的东西。谢谢了楼主 请问这个是在usrusr.f基础上添加主程序还是修改呀?我想试试我的编译器和平台是不是连上了······
*** SEVERE ERROR
ERROR DURING DYNAMIC LINK OF USER ROUTINE(S) OR IN-LINE FORTRAN
PLEASE CHECK FILE _5341uet.ld FOR LINKER MESSAGES.
是不是编译器没连好的原因啊···
页:
[1]
2