以梦为马,不负韶华

搜索
查看: 2062|回复: 6
收起左侧

Aspen 编写Fortran物性子程序_资源求助

[复制链接]
发表于 1970-1-1 08:00:00 显示全部楼层 |阅读模式
aspen求助
aspen版本: ASPEN PLUS V11
本帖最后由 花枝鼠 于 2020-4-22 17:38 编辑

致好!
在论坛里搜索ASPEN外接Fortran子程序大多是在编写动力学或过程单元的,有没有编写【物性子程序】的成功案例或教程?
感谢回复!
 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
本帖最后由 花枝鼠 于 2020-4-22 20:37 编辑

C A sample user subroutine that calculates and returns the mixture liquid enthalpy is given in the next Example.
C----------------------------------------------------------------------
      SUBROUTINE HL2U (T ,P ,Z ,N ,IDX ,
     1 IRW ,IIW ,KCALC ,KOP ,NDS ,
     2 KDIAG ,QMX ,DQMX ,KER )
C
C----------------------------------------------------------------------
C HV2U IS A USER MIXTURE ENTHALPY SUBROUTINE
C
C THIS USER SUBROUTINE CALCULATES THE LIQUID ENTHALPY OF A BINARY
C MIXTURE CONTAINING ONE POLYMER AND ONE SOLVENT.
C
C
C NAME OF MODULE: HL2U
C
C
      IMPLICIT NONE
C
      DIMENSION Z(N), IDX(N), KOP(10)
      DIMENSION D(15)
C... USER DIMENSION
      DIMENSION XTRUE(10)
C
C
#include "dms_ncomp.cmn"
#include "ppexec_user.cmn"
#include "dms_plex.cmn"
C
      EQUIVALENCE (IB(1), B(1))
      INTEGER XMW, DHFORM, CPIG, II, DMS_IFCMNC
      INTEGER IMON, IPOL, IIMON, IIPOL, I, N, J, ISEG
      REAL*8 DELT1, DELT2, DELT3, DELT4, H_MON, H,POL,
     * HM_MIX, AVG_MW, T, TREF, QMX
C
C----------------------------------------------------------------------
C
C STATEMENT FUNCTIONS FOLLOW
C
      XMW(I) = DMS_IFCMNC('MW') + I
      DHFORM(I) = DMS_IFCMNC('DHFORM') + I
      CPIG(I,J) = DMS_IFCMNC('CPIG') + 11*(J - 1) + I
C
C *** NOTE *******************************************
C
C PARAMETERS ARE LOCATED USING THE UTILITY DMS_IFCMNC
C AND THE NAME OF THE PARAMETER. FOR EXAMPLE,
C DMS_IFCMNC('MW') RETRIEVES THE LOCATIONS WHERE THE
C COMPONENT MOLECULAR WEIGHTS ARE STORED.
C
C ****************************************************
C
      DO 100 I=1,10
        XSEG(I) = 0.D0
100  CONTINUE
C
      TREF = 298.15
C
C----------------------------------------------------------------------
C
C *** NOTE *******************************************
C COMPONENT ID FOR MONOMER *HARD-WIRED* AT POSITION 2
C COMPONENT ID FOR POLYMER *HARD-WIRED* AT POSITION 3
C ****************************************************
C
      IMON = 2
      IPOL = 3
      ISEG = 4
C
C
C## BOTH Z AND XSEG ARE PACKED: XSEG(IPOL) CONTAINS MOLE FRAC OF SEGMENT
C
      CALL XATOXT(N, IDX, B(XMW(1)), Z, XTRUE)
C
C POLYMERIC SPECIES Property Set PROPERTIES
C
      DELT1 = T - TREF
      DELT2 = (T**2 - TREF**2)/2.D0
      DELT3 = (T**3 - TREF**3)/3.D0
      DELT4 = (T**4 - TREF**4)/4.D0
      H_MON = B(DHFORM(IMON)) + B(CPIG(1,IMON))*DELT1 +
     + B(CPIG(2,IMON))*DELT2 + B(CPIG(3,IMON))*DELT3 + B(CPIG(4,IMON))
     +*DELT4
      H_POL = B(DHFORM(IPOL)) + B(CPIG(1,IPOL))*DELT1 +
     + B(CPIG(2,IPOL))*DELT2 + B(CPIG(3,IPOL))*DELT3 + B(CPIG(4,IPOL))
     +*DELT4
C
C *** NOTE *******************************************
C IN CASE A COMPONENT ATTRIBUTE WAS NEEDED FOR THE
C CALCULATION OF THE POLYMER ENTHALPY, THE APPROPRIATE
C UTILITY ROUTINE SHOULD BE CALLED.
C
C FOR EXAMPLE, SUPPOSE THE NUMBER-AVERAGE DEGREE OF
C POLYMERIZATION (DPn) OF THE POLYMER WAS NECESSARY.
C THE UTILITY ROUTINE GETDPN CAN BE USED TO RETURN
C THE DESIRED ATTRIBUTE:
C
C CALL POLY_GETDPN (1, 1, IPOL, DPN)
C
C THE ARGUMENTS HAVE THE FOLLOWING MEANING:
C
C 1 = CONVENTIONAL SUBSTREAM
C 1 = DPN FOR 1 COMPONENT IS REQUESTED (NCP=1)
C IPOL = POLYMER COMPONENT INDEX
C DPN = RETURNED VALUE OF THE NUMBER AVERAGE
C  DEGREE OF POLYMERIZATION
C
C ****************************************************
C
      IIMON = 0
      IIPOL = 0
      DO 10 I=1,N
        II = IDX(I)
        IF (II.EQ.IMON) IIMON = I
        IF (II.EQ.IPOL) IIPOL = I
10   CONTINUE
C
      HM_MIX = H_MON*XTRUE(IIMON) + H_POL*XTRUE(IIPOL)
      AVG_MW = B(XMW(IMON))*Z(IIMON) + B(XMW(IPOL))*Z(IIPOL)
C
C
C CONVERT FROM TRUE TO APPARENT MOLE BASIS
      QMX = HM_MIX * AVG_MW / B(XMW(ISEG))
C
C
999  CONTINUE
      RETURN
      END
HLXS.PNG
HLXS_ASPEN.PNG
回复 支持 反对

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
本帖最后由 花枝鼠 于 2020-4-22 20:38 编辑

以上是我用指南中的物性HLMX(液态摩尔焓)抛砖引玉一下,请问有人写过HLXS(液态摩尔超额焓)的吗?
回复 支持 反对

使用道具 举报

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

回帖奖励 +4 个韶华币

热力学算法aspen已经很全了。HLXS你指的是与理想溶液的偏差部分吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 1970-1-1 08:00:00 显示全部楼层
TurnipCastro 发表于 2020-4-22 23:04
热力学算法aspen已经很全了。HLXS你指的是与理想溶液的偏差部分吗?

是的,我现在在写一个类似的性质用于回归希望可以借鉴。
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
推一下!!!!繼續關注
{:1106_362:}
回复 支持 反对

使用道具 举报

发表于 1970-1-1 08:00:00 显示全部楼层
花枝鼠 发表于 2020-4-22 23:25
是的,我现在在写一个类似的性质用于回归希望可以借鉴。

偏差部分,aspen内部都计算了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-25 15:15

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

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