以梦为马,不负韶华

搜索
查看: 9493|回复: 0
收起左侧

基于Fortran的AspenPlus单元过程用户模型的简单例子

[复制链接]
发表于 2010-1-9 14:30:27 显示全部楼层 |阅读模式
Inlet:Composition:H2\N2\CO2,1\1\1kmol/hr
T: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。

076e55f0aecc8ba1a50f523e.jpg


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,主程序简单地写了进口物流的信息如何进入模型进行计算,计算后的结果如何传递到出口物流中,如下图。



a94341093295a1c13ac763511263018907363.jpg

子程序名为model,保存文件名sep.f。
接口中各参数的意义和物流信息可以参考文档《User Models》的第六章和附录部分。
3.       完成程序编写后,在simulation engine上用aspcomp命令编译,一步步修正程序中的语法错误…直至通过,产生一sep.obj文件。

c7a28fecedbbb22963d09f511263018907364.jpg

4.        在block的用户单元操作中,model中输入子程序名,Values中输入程序中定义的a/b/c三参数的值。

1ac24a8168c9c8d6bd3e1e341263018907365.jpg
5.        运行结束后察看结果

2a7eb445dd29053186947349.jpg
6.        另外,也可以对user进行灵敏度分析等
     定义变量
30b05d89bc9bdebd0e2444321263018907366.jpg

64caf6a2a23ce0a3caefd0311263018907366.jpg

察看结果
3683bf256b978d6e35a80f571263018907366.jpg


上述只是简单地介绍了单元用户模型的用法,还有更深入的使用如aspen plus公用块和子程序。
当然,aspen plus只是软件工具,模拟结果的正确与否和精确度还是依赖自己建立的模型。希望本文能给大家使用user model能有启发作用。

评分

参与人数 10韶华币 +42 收起 理由
dpp0512 + 5
kingliu + 5 好资料,非常感谢
chenhaijunsjy + 3 积极发表议题
沈兰兰 + 5
jiaohw910 + 10 好资料,非常感谢
060703045 + 1
PANPENG73 + 5 好资料,非常感谢
haha168 + 1
qzshi68 + 5
gyc001 + 2

查看全部评分

本帖被以下云收藏推荐:

发表于 2010-1-11 09:49:37 显示全部楼层
谢谢小马哥!我也做过这个例子,不过仅此而且,再往下深入就很难了,所以我决定先建立真正的数据模型,然后再加入需要的aspen 公用快和子程序,这是个大体思路,接下来路还很长。。。
发表于 2010-2-25 11:26:29 显示全部楼层
谁抄袭我的DD,还不引用出处那~~~侵权那~~~

评分

参与人数 1韶华币 +5 收起 理由
happystory + 5

查看全部评分

发表于 2010-4-7 11:49:56 显示全部楼层
找了许久,最后还是在马后炮上找到了,谢谢马哥
发表于 2010-4-14 11:20:07 显示全部楼层
回复 3# 小柯

柯姐也到这边来逛了。呵呵
发表于 2010-4-19 11:46:12 显示全部楼层
好东西,感谢分享,学习了
发表于 2010-9-26 22:24:18 显示全部楼层
好东西啊   ,赶紧学习,
发表于 2012-1-19 11:30:38 显示全部楼层
多谢楼主提供这么好的资料,积累知识!
发表于 2012-12-7 09:48:29 显示全部楼层
嵌入自编程序模块到aspen plus和hysys太难了{:1106_384:}
发表于 2012-12-7 11:10:33 显示全部楼层
没嵌过,貌似可以试试
发表于 2012-12-7 11:18:45 显示全部楼层
aspen的高级应用啊!
发表于 2012-12-11 15:28:26 显示全部楼层
马哥威武,多谢了!
发表于 2010-1-9 14:30:27 显示全部楼层
您好 看了您的例题 觉得您真的太棒了 是这方面的前辈 请问可以提供一点儿中文的这方面的资料吗
回复 支持 反对

使用道具 举报

发表于 2013-7-18 17:36:38 显示全部楼层
这个水平很高啊,学习学习
回复 支持 反对

使用道具 举报

 成长值: 57200

发表于 2010-1-9 14:30:27 显示全部楼层
路过学习一下,谢谢马哥分享~
回复 支持 反对

使用道具 举报

发表于 2010-1-9 14:30:27 显示全部楼层
这个对于fortran有一定的要求啊
回复 支持 反对

使用道具 举报

发表于 2010-1-9 14:30:27 显示全部楼层
有没有源程序。
回复 支持 反对

使用道具 举报

发表于 2010-1-9 14:30:27 显示全部楼层

很好的东西。谢谢了楼主
回复 支持 反对

使用道具 举报

发表于 2010-1-9 14:30:27 显示全部楼层
请问这个是在usrusr.f基础上添加主程序还是修改呀?我想试试我的编译器和平台是不是连上了······
回复 支持 反对

使用道具 举报

发表于 2010-1-9 14:30:27 显示全部楼层

  *** SEVERE ERROR
      ERROR DURING DYNAMIC LINK OF USER ROUTINE(S) OR IN-LINE FORTRAN
      PLEASE CHECK FILE _5341uet.ld FOR LINKER MESSAGES.

是不是编译器没连好的原因啊···
回复 支持 反对

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-4-10 23:13

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表