猛犸论坛【以梦为马,不负韶华】

搜索
搜索附件  

1.jpg

 

Aspen Dynamic 自带例题反应精馏MTBE Fortran代码请教:
本帖最后由 楚天湘水 于 2013-1-9 12:15 编辑

大家好:最近两天看了一下反应精馏MTBE的合成,反应式和动力学方程如下




本帖最后由 楚天湘水 于 2013-1-9 14:34 编辑

C    个人感觉这个值就是每块板所装填的催化剂吧,单位可能是g,所以乘以-3次方
C     但代码提供的注释又说是use mass holdup askgcata,不知道二者有什么关系
     RATES(K_IC4)=-RATNET
     RATES(K_MEOH)=-RATNET
     RATES(K_MTBE)=RATNET
     RATES(K_NC4)=0.D+00
     IF(IDBG.GE.1)THEN
       WRITE(MAXWRT_MAXBUF(1),9030) NSTAGE,RATE,RATNET
       CALL DMS_WRTTRM(1)
     ENDIF
     RETURN
#undef P_MAX3
C  好像是释放一个宏的意思,具体不太懂 ,求解释。
     END
以上代码红色字体是我加上的注释,同时还加了一张图片。其他部分是aspen提供的例子的源码。现在我再说说我的问题,大家一起讨论一下。
1、  我感觉这个程序好像是每计算一块存在反应的塔板,都得调用一次这个程序,这个程序每执行一次,都会有一些中间的变量写入文件,但这些变量写入了哪个文件,我不清楚,也查不到这些中间变量的值。
2、  程序中并没有输入塔板数,温度等变量,是不是程序可以自动调用aspen中的这些值?具体怎么调用的呢?
3、  IDBG是个什么变量呢,因为我改变他的命名为IDBH,可以通过aspcomp的编译,但aspen运行这个程序不错误,是不是像KER一样,是某个函数的一个输出值呢?查了好几版本的user module ,都没查到这个值或者函数?他是怎样实现又01的变化的呢?求解释。
4、  DMS_GTPRPS是自定义的函数呢?还是aspen user module自身就有的函数呢?
5#undef P_MAX3的意思?网上查了一下,好像是释放宏的意思,是不是程序运行结束,要释放调用过的aspen user module的公用函数呢?没有学过Fortran,求解释。
谢谢大家了,关于Fortran动力学的资料太少了,欢迎大家一起讨论。
同时上传这个例子的BKP文件和相关的.f文件(因为06和07的f文件有一点小小的改变,故两个都上传)
这几个case是可以在aspen安装的目录下找到的: \AspenTech\Aspen Plus Dynamics V7.1\Examples 文件名为DyMTBE.BKP 和RaMTBE.f
另外美国里海大学威廉鲁宾教授和台湾大学余政靖教授合著的书Reactive Distillation Design and Control第九章也提到了这个例子,但没具体解释代码。我上传第九章节,有兴趣的可以看一看。

附件已经在一楼了,谢谢大家的关注。
这么深奥啊,我等还差很远啊。抓紧奋蹄吧。
看着就头大,楼主给力啊!{:1106_367:}
好高深啊,不过最近又要弄MTBE。。。
楚天湘水 发表于 2013-1-9 12:20
C    个人感觉这个值就是每块板所装填的催化剂吧,单位可能是g,所以乘以-3次方C     但代码提供的注释又说 ...

回應一下:
1.2.ASPEN計算會將中間的計算值全部存在PLEX裡面,那是一個很大的舉陣。所有的資料以及參數都會儲存在裡面。
     我們只要能夠從PLEX抓出我們需要參數即可在FORTRAN中計算。
     ASPEN--->FORTRAN CALCULATE--->ASPEN (REPEAT*)
     要抓那個參數要去查USER MODEL對每個不同參數的代號的命名,可從手冊上得知。

3.   IDBG,KER那個是執行CODE,例如KER=1代表要求程式計算出你所想知道的值
                                                     KER=0代表不要程式計算任何值
      (KER有0-3的變化,各有不同意思,在手冊上有,可直接搜尋KER即可找出)

4.   DMS_*一般是指ASPEN裡面的運作,你的例子要求ACTIVITY,在新版中有不同的呼叫方式。
      請在手冊上搜尋,DMS_ALIPOFF3(24),新版2006.5後因應儲存PLEX便利性
      要抓ACTIVITY已經改變成ALIPOFF而非書上的那種寫法。


5.   那句可刪掉也可以正常運行,詳細功能不清楚。
      建議可以從ASPEN的FORTRAN範例(USER跟KEN)下手研究


6.   關於寫出FORTRAN抓的數值,程式會在相圖目錄下產生一個新的文字檔*.dat。可用WORDPAD打開
      可參考OPEN OPEN(10,FILE='fortran.DAT')
               WRITE(10,想看的變數)

祝順利
PSESKY 发表于 2013-6-17 17:06
回應一下:
1.2.ASPEN計算會將中間的計算值全部存在PLEX裡面,那是一個很大的舉陣。所有的資料以及參數 ...

不好意思,今天才看到你的回复。
首先谢谢你的热心回复,1,2的回答让我明白了PLEX是什么东西,以后还要多关注这个。
文件的读写过段时间在研究一下。
台湾大学在这方面做的比较好,一段时间我也曾多次登录台湾大学PSE的网站下载资料学习,希望你能在论坛多多发言,共同进步。
楚天湘水 发表于 2013-1-9 12:19
C    thermodynamic rate constant DKAC    =============================== 9010FORMAT(1X,3(G13.6,1X))  ...

楼主,请教两个问题:
1、你所贴的程序目的是计算反应速率,而计算反应速率需要活度(程序中的ACTIVE变量)。但是为什么在计算活度前先调用了PPMON_FUGLY?这是用来计算逸度系数的。而且程序中计算活度时也没有用到逸度系数(程序中的PHI变量)。
2、计算逸度系数时,程序是这样调用的CALL PPMON_FUGLY(T,P,X(1,1)
    +    ,Y,NCOMP,IDX,NBOPST,KDIAG,KPHI,PHI,DPHI,KER)。
其中的参数X(1,1)表示液相中甲醇的摩尔分数。这里为什么用甲醇的,而不是用其他组分的,如IC4、NC4、MTBE,对应的应为X(2,1)、X(3,1)、X(4,1)?
IDBG是个什么变量呢,你只赋给了它初值,它中间怎么变的,为什么会大于1
x(1,1)中的x是什么样的一个矩阵,也不是很清楚,求指导
如果IDBG值就是0的话,那接下来的几个输出和计算就不运行了
楼主求指教啊?最近在做这个但是一直找不到动力学数据,楼主qq多少?我的505606742
我也想问楼主个问题,偏移量 offset 是什么玩意。
{:1106_362:} xue xi le ,tai ganxie louzhu
DECLARE VARIABLES USED IN DIMENSIONING
变量是如何选取的?请大神们指教
楚天湘水 发表于 2013-7-8 10:14
不好意思,今天才看到你的回复。
首先谢谢你的热心回复,1,2的回答让我明白了PLEX是什么东西,以后还要 ...

请问编程中变量是如何选取的??
请问有没有这方面可参考的书籍资料
请问楼主,图中的real值与integer是如何设定的
感觉楼主分享,最近正在学习动力学的应用,感觉难度比较大
1.jpg

手机版|猛犸论坛【以梦为马,不负韶华】

GMT+8, 2025-7-16 07:15

Powered by 猛犸论坛【以梦为马,不负韶华】

© 2024-2099 Meng.Horse

返回顶部