以梦为马,不负韶华

搜索
查看: 2538|回复: 9
收起左侧

Aspen-Fortran L-H动力学反应精馏

[复制链接]
发表于 1970-1-1 08:00:00 显示全部楼层 |阅读模式
20韶华币
求帮忙,这是我编写的一份反应精馏的L-H型动力学方程Fortran文件,能够成功导入ASPEN中,不过运行之后不收敛,并且在反应精馏塔的profile中发现reaction中都是0(没有反应),请大家帮忙看看我编写的Fortran有没有什么问题?
- 本文出自马后炮化工-让天下没有难学的化工技术,原文地址:https://meng.horse/thread-162263-1-1.html

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
  1. C***********************************************************************
  2. C  LICENSED MATERIAL.  PROPERTY OF ASPEN TECHNOLOGY, INC.  TO BE       *
  3. C  TREATED AS ASPEN TECH PROPRIETARY INFORMATION UNDER THE TERMS       *
  4. C  OF THE ASPEN PLUS SUBSCRIPTION AGREEMENT.                           *
  5. C***********************************************************************
  6. C-----------------------------------------------------------------------
  7. C         COPYRIGHT (C) 1994
  8. C          ASPEN TECHNOLOGY, INC.
  9. C          CAMBRIDGE, MA
  10. C-----------------------------------------------------------------------
  11. C
  12. C     calculation of MTBE synthesis reaction rate
  13. C     User Kinetics Subroutine for RADFRAC, BATCHFRAC, RATEFRAC
  14. C
  15.       SUBROUTINE DIB (NSTAGE, NCOMP,   NR,     NRL,     NRV,
  16.      2                   T,      TLIQ,    TVAP,   P,       VF,
  17.      3                   F,      X,       Y,      IDX,     NBOPST,
  18.      4                   KDIAG,  STOIC,   IHLBAS, HLDLIQ,  TIMLIQ,
  19.      5                   IHVBAS, HLDVAP,  TIMVAP, NINT,    INT,
  20.      6                   NREAL,  REAL,    RATES,  RATEL,   RATEV,
  21.      7                   NINTB,  INTB,    NREALB, REALB,   NIWORK,
  22.      8                   IWORK,  NWORK,   WORK)
  23. C
  24. C      VARIABLES IN ARGUMENT LIST
  25. C
  26. C       VARIABLE  I/O  TYPE     DIMENSION     DESCRIPTION AND RANGE
  27. C       NSTAGE     I    I          -          STAGE NUMBER
  28. C       NCOMP      I    I          -          NUMBER OF COMPONENTS
  29. C       NR         I    I          -          TOTAL NUMBER OF KINETIC
  30. C                                             REACTIONS
  31. C       NRL        I    I          -          NUMBER OF LIQUID PHASE
  32. C                                             KINETIC REACTIONS
  33. C       NRV        I    I          -          NUMBER OF VAPOR PHASE
  34. C                                             KINETIC REACTIONS
  35. C       T          I    R          -          STAGE TEMPERATURE (K)
  36. C       TLIQ       I    R          -          LIQUID TEMPERATURE (K)
  37. C                                             * USED ONLY BY RATEFRAC **
  38. C       TVAP       I    R          -          VAPOR TEMPERATURE (K)
  39. C                                             * USED ONLY BY RATEFRAC **
  40. C       P          I    R          -          STAGE PRESSURE (N/SQ.M)
  41. C       VF         I    R          -          VAPOR FRACTION
  42. C       F          I    R          -          TOTAL FLOW ON STAGE
  43. C                                             (VAPOR+LIQUID) (KMOL/SEC)
  44. C       X          I    R         NCOMP,3     LIQUID MOLE FRACTION
  45. C       Y          I    R         NCOMP       VAPOR MOLE FRACTION
  46. C       IDX        I    I         NCOMP       COMPONENT INDEX VECTOR
  47. C       NBOPST     I    I          6          OPTION SET BEAD POINTER
  48. C       KDIAG      I    I          -          LOCAL DIAGNOSTIC LEVEL
  49. C       STOIC      I    R         NCOMP,NR    REACTION STOICHIOMETRY
  50. C       IHLBAS     I    I          -          BASIS FOR LIQUID
  51. C                                             HOLDUP SPECIFICATION
  52. C                                             1:VOLUME,2:MASS,3:MOLE
  53. C       HLDLIQ     I    R          -          LIQUID HOLDUP
  54. C                                             IHLBAS    UNITS
  55. C                                             1         CU.M.
  56. C                                             2         KG
  57. C                                             3         KMOL
  58. C       TIMLIQ     I    R          -          LIQUID RESIDENCE TIME
  59. C                                             (SEC)
  60. C       IHVBAS     I    I          -          BASIS FOR VAPOR
  61. C                                             HOLDUP SPECIFICATION
  62. C                                             1:VOLUME,2:MASS,3:MOLE
  63. C       HLDVAP     I    R          -          VAPOR HOLDUP
  64. C                                             IHVBAS    UNITS
  65. C                                             1         CU.M.
  66. C                                             2         KG
  67. C                                             3         KMOL
  68. C       TIMVAP     I    R          -          VAPOR RESIDENCE TIME (SEC)
  69. C       NINT       I    I          -          LENGTH OF INTEGER VECTOR
  70. C       INT       I/O   I         NINT        INTEGER VECTOR
  71. C       NREAL      I    I          -          LENGTH OF REAL VECTOR
  72. C       REAL      I/O   R         NREAL       REAL VECTOR
  73. C       RATES      O    R         NCOMP       COMPONENT REACTION RATES
  74. C                                             (KMOL/SEC)
  75. C       RATEL      O    R         NRL         INDIVIDUAL REACTION RATES
  76. C                                             IN THE LIQUID PHASE
  77. C                                             (KMOL/SEC)
  78. C                                             * USED ONLY BY RATEFRAC **
  79. C       RATEV      O    R         NRV         INDIVIDUAL REACTION RATES
  80. C                                             IN THE VAPOR PHASE
  81. C                                             (KMOL/SEC)
  82. C                                             * USED ONLY BY RATEFRAC **
  83. C       NINTB      I    I          -          LENGTH OF INTEGER VECTOR
  84. C                                             (FROM UOS BLOCK)
  85. C       INTB      I/O   I         NINTB       INTEGER VECTOR
  86. C                                             (FROM UOS BLOCK)
  87. C       NREALB     I    I          -          LENGTH OF REAL VECTOR
  88. C                                             (FROM UOS BLOCK)
  89. C       REALB     I/O   R         NREALB      REAL VECTOR
  90. C                                             (FROM UOS BLOCK)
  91. C       NIWORK     I    I          -          LENGTH OF INTEGER WORK
  92. C                                             VECTOR
  93. C       IWORK     I/O   I         NIWORK      INTEGER WORK VECTOR
  94. C       NWORK      I    I          -          LENGTH OF REAL WORK VECTOR
  95. C       WORK      I/O   R         NWORK       REAL WORK VECTOR
  96. C
  97. C***********************************************************************
  98. C
  99.       IMPLICIT NONE
  100. C
  101. C     DECLARE VARIABLES USED IN DIMENSIONING
  102. C
  103.       INTEGER NCOMP, NR,    NRL,   NRV,   NINT,
  104.      +        NINTB, NREALB,NIWORK,NWORK, N_COMP
  105. C
  106. C     DECLARE PARAMETERS & VARIABLES USED IN PARAMETERS
  107. C
  108.       INTEGER K_IB,K_DIB, K_TI, K_IP, K_TBA
  109.       PARAMETER(K_IB=1)
  110.       PARAMETER(K_DIB=2)
  111.       PARAMETER(K_TI=3)
  112.       PARAMETER(K_IP=4)
  113.       PARAMETER(K_TBA=5)
  114.       PARAMETER(N_COMP=5)

  115. C     component order
  116. C     ===============
  117. C     this routine assumes that the components are in this order :


  118. C
  119. C     DECLARE ARGUMENTS
  120. C
  121.       INTEGER IDX(NCOMP),   NBOPST(6),    INT(NINT),
  122.      +        INTB(NINTB),  IWORK(NIWORK),NSTAGE,
  123.      +        KDIAG, IHLBAS,IHVBAS,NREAL, KPHI,
  124.      +        KER,   L_GAMMA,      J
  125.       REAL*8 X(NCOMP,3),   Y(NCOMP),
  126.      +       STOIC(NCOMP,NR),     RATES(NCOMP),
  127.      +       RATEL(NRL),   RATEV(NRV),
  128.      +       REALB(NREALB),WORK(NWORK),  B(1),  T,
  129.      +       TLIQ,  TVAP,  P,     VF,    F
  130.       REAL*8 HLDLIQ,TIMLIQ,HLDVAP,TIMVAP
  131. C
  132. C
  133. C     DECLARE SYSTEM FUNCTIONS
  134. C
  135.       REAL*8 DLOG
  136. C
  137. C     DECLARE LOCAL VARIABLES
  138. C
  139.       INTEGER IMISS, IDBG
  140.       REAL*8 REAL(NREAL),  RMISS,  DKR(2),
  141.      +     RATE(2),  RATNET(2),  KA,  KB
  142.       REAL*8 PHI(N_COMP)
  143.       REAL*8 DPHI(N_COMP)
  144.       REAL*8 ACTIV(N_COMP)

  145. C
  146. #include "ppexec_user.cmn"
  147.       EQUIVALENCE (RMISS, USER_RUMISS)
  148.       EQUIVALENCE (IMISS, USER_IUMISS)
  149. C
  150. C
  151. #include "dms_maxwrt.cmn"


  152. #include "dms_ipoff3.cmn"
  153. #include "dms_lclist.cmn"
  154.       INTEGER FN

  155. #include "dms_plex.cmn"
  156.       EQUIVALENCE(B(1),IB(1))

  157.       FN(J)=J+LCLIST_LBLCLIST
  158.             
  159. C
  160. C      DATA STATEMENTS
  161. C
  162.       DATA IDBG/0/

  163. C     thermodynamic rate constant DKA
  164. C     ===============================
  165. 9010 FORMAT(1X,3(G13.6,1X))
  166. 9000 FORMAT(' fugly failed at T=',G12.5,' P=',G12.5,' ker=',I4)
  167. 9020 FORMAT(' compo ',I3,' mole-frac=',G12.5,' activity=',G12.5)
  168. 9030 FORMAT(' stage=',I4,' spec-rate=',G12.5,' net-rate=',G12.5)
  169. C
  170. C     BEGIN EXECUTABLE CODE
  171. C
  172.       DKR(1)=(2.278D+10*DEXP(-30000.D+00/8.314/T))
  173.       DKR(2)=(1.81D+9*DEXP(-1800.D+00/8.314/T))
  174.       KA=7.D+00
  175.       KB=1.2D-01

  176.       IF(IDBG.GE.1)THEN
  177.         WRITE(MAXWRT_MAXBUF(1),9010) DKR(1),DKR(2),KA,KB
  178.         CALL DMS_WRTTRM(1)
  179.       ENDIF

  180. C     calculation of components activities
  181. C     ====================================
  182. C     calculate only fugacity coefficient
  183.       KPHI=1

  184. C     fugacity coefficient of components in the mixture
  185.       CALL PPMON_FUGLY(T,P,X(1,1)
  186.      +     ,Y,NCOMP,IDX,NBOPST,KDIAG,KPHI,PHI,DPHI,KER)
  187.       IF(KER.NE.0)THEN
  188.         WRITE(MAXWRT_MAXBUF(1),9000) T,P,KER
  189.         CALL DMS_WRTTRM(1)
  190.       ENDIF

  191. C     set offset to get activity coefficients
  192. C     (see vol5, p 11-11 and asp$sor search for 'GAMMAL')
  193.       L_GAMMA=IPOFF3_IPOFF3(24)

  194. C     calculate activities for plex data
  195.       DO J=1,NCOMP
  196.         ACTIV(J)=DEXP(B(FN(L_GAMMA)+J))*X(J,1)
  197.       END DO
  198.       IF(IDBG.GE.1)THEN
  199.         DO J=1,NCOMP
  200.           WRITE(MAXWRT_MAXBUF(1),9020) J,X(J,1),ACTIV(J)
  201.           CALL DMS_WRTTRM(1)
  202.         END DO
  203.       ENDIF


  204. C     use mass holdup as kgcata
  205. C  SCRATCH THAT...THATS WITH VERSION 9, IN 10 USE REALB(1) AS TOTAL MASS.
  206.       IF (ACTIV(K_IB) .GT. 0.D0) THEN
  207.         RATE(1)=(DKR(1)*(ACTIV(K_IB))**2.d0/(ACTIV(K_IB)+KA*ACTIV(K_TBA)
  208.      *  +KB*ACTIV(K_IP))**2.d0)
  209.         RATE(2)=(DKR(2)*ACTIV(K_IB)*ACTIV(K_DIB)/(ACTIV(K_IB)+KA
  210.      *  *ACTIV(K_TBA)+KB*ACTIV(K_IP))**3.d0)
  211.       ELSE
  212.         RATE(1) = 0.D+00
  213.         RATE(2) = 0.D+00
  214.       END IF   

  215.       RATNET(1)=RATE(1)*REALB(1)*1.D-03
  216.       RATNET(2)=RATE(2)*REALB(1)*1.D-03


  217.       
  218.       RATES(K_IB)=-RATNET(1)-RATNET(1)-RATNET(2)
  219.       RATES(K_DIB)=RATNET(1)-RATNET(2)
  220.       RATES(K_TI)=RATNET(2)
  221.       RATES(K_TBA)=0.D+00
  222.       RATES(K_IP)=0.D+00

  223.       IF(IDBG.GE.1)THEN
  224.         WRITE(MAXWRT_MAXBUF(1),9030) NSTAGE,RATE(1),RATE(2),RATNET(1),
  225.      +       RATNET(2)
  226.         CALL DMS_WRTTRM(1)
  227.       ENDIF
  228.       RETURN
  229. #undef P_MAX3
  230.       END
复制代码
回复

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
C:\Users\Administrator\Desktop\1561704934(1)
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
编程我一窍不通,感觉很高深啊!
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
學習學習!~
回复

使用道具 举报

 成长值: 47065

发表于 1970-1-1 08:00:00 显示全部楼层
厉害了,完全看不懂
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
可以參考MTBE的例題文件
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
楼主解决了吗 我也是出现了相同的问题
[发帖际遇]: 一个袋子砸在了 shineeszh 头上,shineeszh 赚了 4 个 韶华币. 幸运榜 / 衰神榜
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
学习学习,谢谢分享
[发帖际遇]: zxz2004 屌丝逆袭成功,获得白富美女神垂青,赚了 2 个 韶华币. 幸运榜 / 衰神榜
回复

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-14 00:07

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

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