bshao_sh 发表于 2017-1-3 20:35:11

Aspen Plus-Fortran

关于fortran的任何问题可以在下方提问交流,
不能保证及时回复,请谅解。

czhllt 发表于 2017-1-3 20:35:11

帮忙看看这个Fortran编的有问题吗?导入ASPEN之后运行不收敛,反应精馏塔中profile中的reaction显示都是0                     C*********************************************************************** CLICENSED MATERIAL.PROPERTY OF ASPEN TECHNOLOGY, INC.TO BE       * CTREATED AS ASPEN TECH PROPRIETARY INFORMATION UNDER THE TERMS       * COF THE ASPEN PLUS SUBSCRIPTION AGREEMENT.                           * C*********************************************************************** C----------------------------------------------------------------------- C         COPYRIGHT (C) 1994 C          ASPEN TECHNOLOGY, INC. C          CAMBRIDGE, MA C----------------------------------------------------------------------- C C   calculation of MTBE synthesis reaction rate C   User Kinetics Subroutine for RADFRAC, BATCHFRAC, RATEFRAC C       SUBROUTINE DIB (NSTAGE, NCOMP,   NR,   NRL,   NRV,      2                   T,      TLIQ,    TVAP,   P,       VF,      3                   F,      X,       Y,      IDX,   NBOPST,      4                   KDIAG,STOIC,   IHLBAS, HLDLIQ,TIMLIQ,      5                   IHVBAS, HLDVAP,TIMVAP, NINT,    INT,      6                   NREAL,REAL,    RATES,RATEL,   RATEV,      7                   NINTB,INTB,    NREALB, REALB,   NIWORK,      8                   IWORK,NWORK,   WORK) C C      VARIABLES IN ARGUMENT LIST C C       VARIABLEI/OTYPE   DIMENSION   DESCRIPTION AND RANGE C       NSTAGE   I    I          -          STAGE NUMBER C       NCOMP      I    I          -          NUMBER OF COMPONENTS C       NR         I    I          -          TOTAL NUMBER OF KINETIC C                                             REACTIONS C       NRL      I    I          -          NUMBER OF LIQUID PHASE C                                             KINETIC REACTIONS C       NRV      I    I          -          NUMBER OF VAPOR PHASE C                                             KINETIC REACTIONS C       T          I    R          -          STAGE TEMPERATURE (K) C       TLIQ       I    R          -          LIQUID TEMPERATURE (K) C                                             * USED ONLY BY RATEFRAC ** C       TVAP       I    R          -          VAPOR TEMPERATURE (K) C                                             * USED ONLY BY RATEFRAC ** C       P          I    R          -          STAGE PRESSURE (N/SQ.M) C       VF         I    R          -          VAPOR FRACTION C       F          I    R          -          TOTAL FLOW ON STAGE C                                             (VAPOR+LIQUID) (KMOL/SEC) C       X          I    R         NCOMP,3   LIQUID MOLE FRACTION C       Y          I    R         NCOMP       VAPOR MOLE FRACTION C       IDX      I    I         NCOMP       COMPONENT INDEX VECTOR C       NBOPST   I    I          6          OPTION SET BEAD POINTER C       KDIAG      I    I          -          LOCAL DIAGNOSTIC LEVEL C       STOIC      I    R         NCOMP,NR    REACTION STOICHIOMETRY C       IHLBAS   I    I          -          BASIS FOR LIQUID C                                             HOLDUP SPECIFICATION C                                             1:VOLUME,2:MASS,3:MOLE C       HLDLIQ   I    R          -          LIQUID HOLDUP C                                             IHLBAS    UNITS C                                             1         CU.M. C                                             2         KG C                                             3         KMOL C       TIMLIQ   I    R          -          LIQUID RESIDENCE TIME C                                             (SEC) C       IHVBAS   I    I          -          BASIS FOR VAPOR C                                             HOLDUP SPECIFICATION C                                             1:VOLUME,2:MASS,3:MOLE C       HLDVAP   I    R          -          VAPOR HOLDUP C                                             IHVBAS    UNITS C                                             1         CU.M. C                                             2         KG C                                             3         KMOL C       TIMVAP   I    R          -          VAPOR RESIDENCE TIME (SEC) C       NINT       I    I          -          LENGTH OF INTEGER VECTOR C       INT       I/O   I         NINT      INTEGER VECTOR C       NREAL      I    I          -          LENGTH OF REAL VECTOR C       REAL      I/O   R         NREAL       REAL VECTOR C       RATES      O    R         NCOMP       COMPONENT REACTION RATES C                                             (KMOL/SEC) C       RATEL      O    R         NRL         INDIVIDUAL REACTION RATES C                                             IN THE LIQUID PHASE C                                             (KMOL/SEC) C                                             * USED ONLY BY RATEFRAC ** C       RATEV      O    R         NRV         INDIVIDUAL REACTION RATES C                                             IN THE VAPOR PHASE C                                             (KMOL/SEC) C                                             * USED ONLY BY RATEFRAC ** C       NINTB      I    I          -          LENGTH OF INTEGER VECTOR C                                             (FROM UOS BLOCK) C       INTB      I/O   I         NINTB       INTEGER VECTOR C                                             (FROM UOS BLOCK) C       NREALB   I    I          -          LENGTH OF REAL VECTOR C                                             (FROM UOS BLOCK) C       REALB   I/O   R         NREALB      REAL VECTOR C                                             (FROM UOS BLOCK) C       NIWORK   I    I          -          LENGTH OF INTEGER WORK C                                             VECTOR C       IWORK   I/O   I         NIWORK      INTEGER WORK VECTOR C       NWORK      I    I          -          LENGTH OF REAL WORK VECTOR C       WORK      I/O   R         NWORK       REAL WORK VECTOR C C*********************************************************************** C       IMPLICIT NONE C C   DECLARE VARIABLES USED IN DIMENSIONING C       INTEGER NCOMP, NR,    NRL,   NRV,   NINT,      +      NINTB, NREALB,NIWORK,NWORK, N_COMP C C   DECLARE PARAMETERS & VARIABLES USED IN PARAMETERS C       INTEGER K_IB,K_DIB, K_TI, K_IP, K_TBA       PARAMETER(K_IB=1)       PARAMETER(K_DIB=2)       PARAMETER(K_TI=3)       PARAMETER(K_IP=4)       PARAMETER(K_TBA=5)       PARAMETER(N_COMP=5)C   component order C   =============== C   this routine assumes that the components are in this order :   C C   DECLARE ARGUMENTS C       INTEGER IDX(NCOMP),   NBOPST(6),    INT(NINT),      +      INTB(NINTB),IWORK(NIWORK),NSTAGE,      +      KDIAG, IHLBAS,IHVBAS,NREAL, KPHI,      +      KER,   L_GAMMA,      J       REAL*8 X(NCOMP,3),   Y(NCOMP),      +       STOIC(NCOMP,NR),   RATES(NCOMP),      +       RATEL(NRL),   RATEV(NRV),      +       REALB(NREALB),WORK(NWORK),B(1),T,      +       TLIQ,TVAP,P,   VF,    F       REAL*8 HLDLIQ,TIMLIQ,HLDVAP,TIMVAP C C C   DECLARE SYSTEM FUNCTIONS C       REAL*8 DLOG C C   DECLARE LOCAL VARIABLES C       INTEGER IMISS, IDBG       REAL*8 REAL(NREAL),RMISS,DKR(2),      +   RATE(2),RATNET(2),KA,KB       REAL*8 PHI(N_COMP)       REAL*8 DPHI(N_COMP)       REAL*8 ACTIV(N_COMP)C #include "ppexec_user.cmn"       EQUIVALENCE (RMISS, USER_RUMISS)       EQUIVALENCE (IMISS, USER_IUMISS) C C #include "dms_maxwrt.cmn"   #include "dms_ipoff3.cmn" #include "dms_lclist.cmn"       INTEGER FN#include "dms_plex.cmn"       EQUIVALENCE(B(1),IB(1))      FN(J)=J+LCLIST_LBLCLIST            C C      DATA STATEMENTS C       DATA IDBG/0/C   thermodynamic rate constant DKA C   =============================== 9010 FORMAT(1X,3(G13.6,1X)) 9000 FORMAT(' fugly failed at T=',G12.5,' P=',G12.5,' ker=',I4) 9020 FORMAT(' compo ',I3,' mole-frac=',G12.5,' activity=',G12.5) 9030 FORMAT(' stage=',I4,' spec-rate=',G12.5,' net-rate=',G12.5) C C   BEGIN EXECUTABLE CODE C       DKR(1)=(2.278D+10*DEXP(-30000.D+00/8.314/T))       DKR(2)=(1.81D+9*DEXP(-1800.D+00/8.314/T))       KA=7.D+00       KB=1.2D-01      IF(IDBG.GE.1)THEN         WRITE(MAXWRT_MAXBUF(1),9010) DKR(1),DKR(2),KA,KB         CALL DMS_WRTTRM(1)       ENDIFC   calculation of components activities C   ==================================== C   calculate only fugacity coefficient       KPHI=1C   fugacity coefficient of components in the mixture       CALL PPMON_FUGLY(T,P,X(1,1)      +   ,Y,NCOMP,IDX,NBOPST,KDIAG,KPHI,PHI,DPHI,KER)       IF(KER.NE.0)THEN         WRITE(MAXWRT_MAXBUF(1),9000) T,P,KER         CALL DMS_WRTTRM(1)       ENDIFC   set offset to get activity coefficients C   (see vol5, p 11-11 and asp$sor search for 'GAMMAL')       L_GAMMA=IPOFF3_IPOFF3(24)C   calculate activities for plex data       DO J=1,NCOMP         ACTIV(J)=DEXP(B(FN(L_GAMMA)+J))*X(J,1)       END DO       IF(IDBG.GE.1)THEN         DO J=1,NCOMP         WRITE(MAXWRT_MAXBUF(1),9020) J,X(J,1),ACTIV(J)         CALL DMS_WRTTRM(1)         END DO       ENDIF   C   use mass holdup as kgcata CSCRATCH THAT...THATS WITH VERSION 9, IN 10 USE REALB(1) AS TOTAL MASS.       IF (ACTIV(K_IB) .GT. 0.D0) THEN         RATE(1)=(DKR(1)*(ACTIV(K_IB))**2.d0/(ACTIV(K_IB)+KA*ACTIV(K_TBA)      *+KB*ACTIV(K_IP))**2.d0)         RATE(2)=(DKR(2)*ACTIV(K_IB)*ACTIV(K_DIB)/(ACTIV(K_IB)+KA      **ACTIV(K_TBA)+KB*ACTIV(K_IP))**3.d0)       ELSE         RATE(1) = 0.D+00         RATE(2) = 0.D+00       END IF         RATNET(1)=RATE(1)*REALB(1)*1.D-03       RATNET(2)=RATE(2)*REALB(1)*1.D-03                RATES(K_IB)=-RATNET(1)-RATNET(1)-RATNET(2)       RATES(K_DIB)=RATNET(1)-RATNET(2)       RATES(K_TI)=RATNET(2)       RATES(K_TBA)=0.D+00       RATES(K_IP)=0.D+00      IF(IDBG.GE.1)THEN         WRITE(MAXWRT_MAXBUF(1),9030) NSTAGE,RATE(1),RATE(2),RATNET(1),      +       RATNET(2)         CALL DMS_WRTTRM(1)       ENDIF       RETURN #undef P_MAX3       END- 本文出自马后炮化工-让天下没有难学的化工技术,原文地址:https://meng.horse/thread-214404-1-1.html                     

czhllt 发表于 2017-1-3 20:35:11

楼主,这是我编写的一个动力学方程,能成功嵌入到ASPEN中,不过运行后发现反应精馏塔的反应段reaction全为0.是不是我动力学方程编写的出了问题,请楼主帮忙看看
C***********************************************************************
CLICENSED MATERIAL.PROPERTY OF ASPEN TECHNOLOGY, INC.TO BE       *
CTREATED AS ASPEN TECH PROPRIETARY INFORMATION UNDER THE TERMS       *
COF THE ASPEN PLUS SUBSCRIPTION AGREEMENT.                           *
C***********************************************************************
C-----------------------------------------------------------------------
C         COPYRIGHT (C) 1994
C          ASPEN TECHNOLOGY, INC.
C          CAMBRIDGE, MA
C-----------------------------------------------------------------------
C
C   calculation of MTBE synthesis reaction rate
C   User Kinetics Subroutine for RADFRAC, BATCHFRAC, RATEFRAC
C
      SUBROUTINE DIB (NSTAGE, NCOMP,   NR,   NRL,   NRV,
   2                   T,      TLIQ,    TVAP,   P,       VF,
   3                   F,      X,       Y,      IDX,   NBOPST,
   4                   KDIAG,STOIC,   IHLBAS, HLDLIQ,TIMLIQ,
   5                   IHVBAS, HLDVAP,TIMVAP, NINT,    INT,
   6                   NREAL,REAL,    RATES,RATEL,   RATEV,
   7                   NINTB,INTB,    NREALB, REALB,   NIWORK,
   8                   IWORK,NWORK,   WORK)
C
C      VARIABLES IN ARGUMENT LIST
C
C       VARIABLEI/OTYPE   DIMENSION   DESCRIPTION AND RANGE
C       NSTAGE   I    I          -          STAGE NUMBER
C       NCOMP      I    I          -          NUMBER OF COMPONENTS
C       NR         I    I          -          TOTAL NUMBER OF KINETIC
C                                             REACTIONS
C       NRL      I    I          -          NUMBER OF LIQUID PHASE
C                                             KINETIC REACTIONS
C       NRV      I    I          -          NUMBER OF VAPOR PHASE
C                                             KINETIC REACTIONS
C       T          I    R          -          STAGE TEMPERATURE (K)
C       TLIQ       I    R          -          LIQUID TEMPERATURE (K)
C                                             * USED ONLY BY RATEFRAC **
C       TVAP       I    R          -          VAPOR TEMPERATURE (K)
C                                             * USED ONLY BY RATEFRAC **
C       P          I    R          -          STAGE PRESSURE (N/SQ.M)
C       VF         I    R          -          VAPOR FRACTION
C       F          I    R          -          TOTAL FLOW ON STAGE
C                                             (VAPOR+LIQUID) (KMOL/SEC)
C       X          I    R         NCOMP,3   LIQUID MOLE FRACTION
C       Y          I    R         NCOMP       VAPOR MOLE FRACTION
C       IDX      I    I         NCOMP       COMPONENT INDEX VECTOR
C       NBOPST   I    I          6          OPTION SET BEAD POINTER
C       KDIAG      I    I          -          LOCAL DIAGNOSTIC LEVEL
C       STOIC      I    R         NCOMP,NR    REACTION STOICHIOMETRY
C       IHLBAS   I    I          -          BASIS FOR LIQUID
C                                             HOLDUP SPECIFICATION
C                                             1:VOLUME,2:MASS,3:MOLE
C       HLDLIQ   I    R          -          LIQUID HOLDUP
C                                             IHLBAS    UNITS
C                                             1         CU.M.
C                                             2         KG
C                                             3         KMOL
C       TIMLIQ   I    R          -          LIQUID RESIDENCE TIME
C                                             (SEC)
C       IHVBAS   I    I          -          BASIS FOR VAPOR
C                                             HOLDUP SPECIFICATION
C                                             1:VOLUME,2:MASS,3:MOLE
C       HLDVAP   I    R          -          VAPOR HOLDUP
C                                             IHVBAS    UNITS
C                                             1         CU.M.
C                                             2         KG
C                                             3         KMOL
C       TIMVAP   I    R          -          VAPOR RESIDENCE TIME (SEC)
C       NINT       I    I          -          LENGTH OF INTEGER VECTOR
C       INT       I/O   I         NINT      INTEGER VECTOR
C       NREAL      I    I          -          LENGTH OF REAL VECTOR
C       REAL      I/O   R         NREAL       REAL VECTOR
C       RATES      O    R         NCOMP       COMPONENT REACTION RATES
C                                             (KMOL/SEC)
C       RATEL      O    R         NRL         INDIVIDUAL REACTION RATES
C                                             IN THE LIQUID PHASE
C                                             (KMOL/SEC)
C                                             * USED ONLY BY RATEFRAC **
C       RATEV      O    R         NRV         INDIVIDUAL REACTION RATES
C                                             IN THE VAPOR PHASE
C                                             (KMOL/SEC)
C                                             * USED ONLY BY RATEFRAC **
C       NINTB      I    I          -          LENGTH OF INTEGER VECTOR
C                                             (FROM UOS BLOCK)
C       INTB      I/O   I         NINTB       INTEGER VECTOR
C                                             (FROM UOS BLOCK)
C       NREALB   I    I          -          LENGTH OF REAL VECTOR
C                                             (FROM UOS BLOCK)
C       REALB   I/O   R         NREALB      REAL VECTOR
C                                             (FROM UOS BLOCK)
C       NIWORK   I    I          -          LENGTH OF INTEGER WORK
C                                             VECTOR
C       IWORK   I/O   I         NIWORK      INTEGER WORK VECTOR
C       NWORK      I    I          -          LENGTH OF REAL WORK VECTOR
C       WORK      I/O   R         NWORK       REAL WORK VECTOR
C
C***********************************************************************
C
      IMPLICIT NONE
C
C   DECLARE VARIABLES USED IN DIMENSIONING
C
      INTEGER NCOMP, NR,    NRL,   NRV,   NINT,
   +      NINTB, NREALB,NIWORK,NWORK, N_COMP
C
C   DECLARE PARAMETERS & VARIABLES USED IN PARAMETERS
C
      INTEGER K_IB,K_DIB, K_TI, K_IP, K_TBA
      PARAMETER(K_IB=1)
      PARAMETER(K_DIB=2)
      PARAMETER(K_TI=3)
      PARAMETER(K_IP=4)
      PARAMETER(K_TBA=5)
      PARAMETER(N_COMP=5)

C   component order
C   ===============
C   this routine assumes that the components are in this order :


C
C   DECLARE ARGUMENTS
C
      INTEGER IDX(NCOMP),   NBOPST(6),    INT(NINT),
   +      INTB(NINTB),IWORK(NIWORK),NSTAGE,
   +      KDIAG, IHLBAS,IHVBAS,NREAL, KPHI,
   +      KER,   L_GAMMA,      J
      REAL*8 X(NCOMP,3),   Y(NCOMP),
   +       STOIC(NCOMP,NR),   RATES(NCOMP),
   +       RATEL(NRL),   RATEV(NRV),
   +       REALB(NREALB),WORK(NWORK),B(1),T,
   +       TLIQ,TVAP,P,   VF,    F
      REAL*8 HLDLIQ,TIMLIQ,HLDVAP,TIMVAP
C
C
C   DECLARE SYSTEM FUNCTIONS
C
      REAL*8 DLOG
C
C   DECLARE LOCAL VARIABLES
C
      INTEGER IMISS, IDBG
      REAL*8 REAL(NREAL),RMISS,DKR(2),
   +   RATE(2),RATNET(2),KA,KB
      REAL*8 PHI(N_COMP)
      REAL*8 DPHI(N_COMP)
      REAL*8 ACTIV(N_COMP)

C
#include "ppexec_user.cmn"
      EQUIVALENCE (RMISS, USER_RUMISS)
      EQUIVALENCE (IMISS, USER_IUMISS)
C
C
#include "dms_maxwrt.cmn"


#include "dms_ipoff3.cmn"
#include "dms_lclist.cmn"
      INTEGER FN

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

      FN(J)=J+LCLIST_LBLCLIST
            
C
C      DATA STATEMENTS
C
      DATA IDBG/0/

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

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

C   calculation of components activities
C   ====================================
C   calculate only fugacity coefficient
      KPHI=1

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

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

C   calculate activities for plex data
      DO J=1,NCOMP
      ACTIV(J)=DEXP(B(FN(L_GAMMA)+J))*X(J,1)
      END DO
      IF(IDBG.GE.1)THEN
      DO J=1,NCOMP
          WRITE(MAXWRT_MAXBUF(1),9020) J,X(J,1),ACTIV(J)
          CALL DMS_WRTTRM(1)
      END DO
      ENDIF


C   use mass holdup as kgcata
CSCRATCH THAT...THATS WITH VERSION 9, IN 10 USE REALB(1) AS TOTAL MASS.
      IF (ACTIV(K_IB) .GT. 0.D0) THEN
      RATE(1)=(DKR(1)*(ACTIV(K_IB))**2.d0/(ACTIV(K_IB)+KA*ACTIV(K_TBA)
   *+KB*ACTIV(K_IP))**2.d0)
      RATE(2)=(DKR(2)*ACTIV(K_IB)*ACTIV(K_DIB)/(ACTIV(K_IB)+KA
   **ACTIV(K_TBA)+KB*ACTIV(K_IP))**3.d0)
      ELSE
      RATE(1) = 0.D+00
      RATE(2) = 0.D+00
      END IF   

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


      
      RATES(K_IB)=-RATNET(1)-RATNET(1)-RATNET(2)
      RATES(K_DIB)=RATNET(1)-RATNET(2)
      RATES(K_TI)=RATNET(2)
      RATES(K_TBA)=0.D+00
      RATES(K_IP)=0.D+00

      IF(IDBG.GE.1)THEN
      WRITE(MAXWRT_MAXBUF(1),9030) NSTAGE,RATE(1),RATE(2),RATNET(1),
   +       RATNET(2)
      CALL DMS_WRTTRM(1)
      ENDIF
      RETURN
#undef P_MAX3
      END

- 本文出自马后炮化工-让天下没有难学的化工技术,原文地址:https://meng.horse/thread-214404-1-1.html

bshao_sh 发表于 2017-1-3 20:35:11

本帖最后由 bshao_sh 于 2018-6-14 16:47 编辑

波波 发表于 2018-6-14 15:06
请教
aspen自带的SOLID1例子是关于煤干燥的例子。
其中用到calculator,用fortran语言。

[*]H2OIN定义为stream WET-COAL中 NC-Substream 里 mositure(水)含量。
[*]CONV是煤到水的转化率。因为煤是一个含水的混合物,干燥过程是添加一个反应让煤反应生成水来处理。Plus 里NC 分子量默认为1, 所以水反应系数是1/18=0.0555084。
[*]H2ODry是反应器内NC-Substream   中 mositure(水)含量。
[*]H2ODRY =   10.0 指定出口含水量
[*]CONV =   (H2OIN - H2ODRY) / (100 - H2ODRY) 计算达到指定出口含水量时coal转化率。
[*]公式推导
       以100mol coal进料为例:       反应前水量=生成水量 + 剩余水量       100*H2OIN /100 = 100*CONV+100*(1-CONV)*H2ODry/100       H2OIN = 100*CONV+(1-CONV)*H2ODry

y--h--- 发表于 2017-1-3 20:35:11

*** SEVERE ERROR       COULD NOT RESOLVE USER OR IN-LINE FORTRAN SUBROUTINE(S):      SUBROUTINE "USRKNT" IS MISSING    *** SEVERE ERROR       PROGRAM TERMINATED DUE TO UNRESOLVED ROUTINES    动力学方程用fortran6.6编写,引入aspen时没报错,一运行aspen就出上面的错误 -

李田所 发表于 2017-1-3 20:35:11

楼主你好,V8.4版本,编译器组合是IVF12+VS2008

可以编译生成OBJ文件,但是生成DLL这一步的ASPLINK命令无法执行


从网上找的文件,链接DLL文件时可以执行,但是链接OBJ文件的时候就出错


怀疑是编译器没安装好,但是SetCompiler那里又显示OK,这是怎么回事?求楼主解惑。

bshao_sh 发表于 2017-1-3 20:35:11

xsahh 发表于 2017-1-5 21:50
楼主,对于反应精馏,考虑催化剂内外扩散阻力的条件下进行计算。怎么通过Fortan语言获得传质方程最基本的参 ...

user defined subroutines 只能算气液相间传递,你说的内外扩散无解。
我不知道St是什么,浓度梯度应该是解微分方程算出来的,内扩散就是个PDE方程,扩散系数由一堆经验关联式计算。

ZL琳 发表于 2017-1-3 20:35:11

楼主您好,我的电脑上装了Aspen Plus V8.4、Visual Studio 2012和Intel Parallel Studio XE 2013,可以正常编译程序和调试。但是,在链接的时候出现了问题,首先是在Set Compiler for V8.4窗口未出现可用的编译器组合。其次,在调用子程序的时候。未找到可用的子程序,(错误可以参考截图),请问是什么原因导致的?多谢回答,多谢

bshao_sh 发表于 2017-1-3 20:35:11

黄盖 发表于 2017-1-4 08:40
请问楼主有没有aspen fortran方面入门的教程之类的,还是说直接学习fortran语言就行了

入门的话建议先简单看下F77的基本语法,懂得判断循环就差不多了。然后对照
C:\Program Files (x86)\AspenTech\Aspen Plus VX.X\Engine\User下给的模版和Aspen Plus User Models.pdf看就可以了。

g12121212f 发表于 2017-1-3 20:35:11

用engine编译obj的时候,报错,出现No compiler set is selected for use with this version of AspenPlus.   You need to run correct "Set Compiler for Vxx" and select a supported   C++ and Fortran compiler set that have been installed on your system.

1354071132 发表于 2017-1-3 20:35:11

bshao_sh 发表于 2018-1-22 20:14
大概你得去找找AOS相关的东西,难度比较大。
建议用过c#或者vb.net 连接aspen, 然后实现相应的优化算法 ...

您好,我导师建议我先将aspen与fortran链接起来,但现在还不知道怎么做,您有什么经验或者教程之类的吗?

bshao_sh 发表于 2017-1-3 20:35:11

y--h--- 发表于 2018-5-6 09:55
*** SEVERE ERROR       COULD NOT RESOLVE USER OR IN-LINE FORTRAN SUBROUTINE(S):      SUBROUTINE "U ...

找不到subroutone,help里搜dlopt。

bshao_sh 发表于 2017-1-3 20:35:11

2583084747 发表于 2018-5-8 19:34
您好,我想问一下Aspen plus用Fortran编写程序实现液体膜分离怎么做,比如我是想分离甲醇,实现富集

自己加一个user model,可以用fortran或者ACM。先查下怎么做,剩下的就是把你的当成套进去了。

bshao_sh 发表于 2017-1-3 20:35:11

huweijilian 发表于 2017-1-8 13:04
Fortranv6在aspenv9和win7下没法设置,全是erorr。但aspenv7时可行。必须加装Visual-Studio-2010吗?

按description对应匹配的Fortran和VS版本安装。V9.0貌似只支持F9.X之后版本了。

bshao_sh 发表于 2017-1-3 20:35:11

huweijilian 发表于 2017-1-8 13:04
Fortranv6在aspenv9和win7下没法设置,全是erorr。但aspenv7时可行。必须加装Visual-Studio-2010吗?

按description对应匹配的Fortran和VS版本安装。V9.0貌似只支持F9.X之后版本了。

波波 发表于 2017-1-3 20:35:11

bshao_sh 发表于 2018-6-14 16:45
[*]H2OIN定义为stream WET-COAL中 NC-Substream 里 mositure(水)含量。
[*]CONV是煤到水的转化率。因为 ...

谢谢
那么第二行中,ID1=1是什么含义?

第三行中,ID1=NCPSD,ID2=COAL,ID3=PROXANAL是什么含义

再次感谢

bshao_sh 发表于 2017-1-3 20:35:11

xsahh 发表于 2018-4-8 22:07
咨询一个问题:ASPEN中IDX代表什么意思?能不能举一个例子或简单的代码说明下,查了help文件,没有太明白

IDX是组分的数组,值表示在components/specification 里的位置,纬度是组分个数。

czhllt 发表于 2017-1-3 20:35:11

ZL琳 发表于 2019-5-20 09:11
楼主您好,我的电脑上装了Aspen Plus V8.4、Visual Studio 2012和Intel Parallel Studio XE 2013,可以正常 ...

Visual Studio 2010 和 Intel Parallel Studio XE2011是标配,基本上Aspen7.3-10都能链接

静水流深3456 发表于 2017-1-3 20:35:11

大神你好,我用fortran自定义了一个模块,模拟的系统中有两个部件都由该模型模拟,但是嵌入后,只能实现一个正确模拟,另一个得到的结果是自己的结果与第一个模块模拟结果的和,大神您有比较好的建议吗?谢谢您

静水流深3456 发表于 2017-1-3 20:35:11

大神你好,我用fortran自定义了一个模块,模拟的系统中有两个部件都由该模型模拟,但是嵌入后,只能实现一个正确模拟,另一个得到的结果是自己的结果与第一个模块模拟结果的和,大神您有比较好的建议吗?谢谢您

bshao_sh 发表于 2017-1-3 20:35:11

波波 发表于 2018-6-19 08:53
谢谢
那么第二行中,ID1=1是什么含义?



1. ID1=1 表示第一个反应。
2. ID1 是solid sustream, ID2是solid component, ID3是组成分析,ID4表示第一个值即mositure含量。
仔细看,tooltip是有写的。

bshao_sh 发表于 2017-1-3 20:35:11

1354071132 发表于 2018-1-22 18:56
楼主你好,请问fortran如何和aspen关联起来做优化

大概你得去找找AOS相关的东西,难度比较大。
建议用过c#或者vb.net 连接aspen, 然后实现相应的优化算法会简单一点。

一柱张 发表于 2017-1-3 20:35:11

想问您一下 我有一个费托合成的反应精馏塔 体系在规定物性的时候methods选用PRMHV2, 但是计算liquid phase activity coefficient想用UNIFAC计算 请问怎么设置 需要用到fortran吗?
附件是我的apwz

wendyKing 发表于 2017-1-3 20:35:11

C:\Program Files (x86)\AspenTech\reaction>aspcomp CSTR.F
拒绝访问。
拒绝访问。
拒绝访问。

Error in compiling preprocessed file: Check compile.log
请问这个是什么原因呢

晓伙子QT 发表于 2017-1-3 20:35:11

设计规定中manipulate的变量是通过一系列fortran语句表达的,但是运行结束,发现fortran中的中间变量都没有被计算,这些变量是流程中的属于自己定义parameter变量,想问下怎么解决

xsahh 发表于 2017-1-3 20:35:11

一柱张 发表于 2017-1-12 07:31
想问您一下 我有一个费托合成的反应精馏塔 体系在规定物性的时候methods选用PRMHV2, 但是计算liquid phase ...

不用这么费劲,更改液相活度计算方程就可以

Mia__ 发表于 2017-1-3 20:35:11

bshao_sh 发表于 2018-5-12 10:15
有两个选择,用user2 model或者写 ACM model。自己去找例子吧。

你好,不知道您有没有时间,可以教我做一个ASPEN流程模拟吗,需要加入一些模型,有偿帮忙

g12121212f 发表于 2017-1-3 20:35:11

g12121212f 发表于 2022-6-16 22:08
用engine编译obj的时候,报错,出现No compiler set is selected for use with this version of AspenPlu ...

这是什么情况,没有装C++吗?

19811211 发表于 2019-11-13 11:14:28

ZL琳 发表于 2019-5-20 09:11
楼主您好,我的电脑上装了Aspen Plus V8.4、Visual Studio 2012和Intel Parallel Studio XE 2013,可以正常 ...

请问这个问题你解决了嘛?我遇到相同问题

bshao_sh 发表于 2017-1-3 20:35:11

静水流深3456 发表于 2017-2-17 20:54
大神你好,我用fortran自定义了一个模块,模拟的系统中有两个部件都由该模型模拟,但是嵌入后,只能实现一 ...

方便的话把文件发我看看。

bshao_sh 发表于 2017-1-3 20:35:11

李田所 发表于 2018-1-8 20:44
楼主你好,V8.4版本,编译器组合是IVF12+VS2008

可以编译生成OBJ文件,但是生成DLL这一步的ASPLINK命令 ...

编译dll改成 asplink usrkin.dll

晓伙子QT 发表于 2017-1-3 20:35:11

bshao_sh 发表于 2018-1-22 20:17
发个文件看看。

希望通过改变fsplit的分离率来研究其对物流3、4的温度影响,但是建立灵敏度分析后运行之后这两个参数不变

bshao_sh 发表于 2017-1-3 20:35:11

晓伙子QT 发表于 2018-1-5 21:10
设计规定中manipulate的变量是通过一系列fortran语句表达的,但是运行结束,发现fortran中的中间变量都没有 ...

发个文件看看。

bshao_sh 发表于 2017-1-3 20:35:11

zsyall 发表于 2017-5-23 09:16
楼主你好,如果aspen中没有的模块,选user1,用Fortran来做,然后编一个程序,让流股中其中一种物料被吸收 ...

这个用calculator不行么???

bshao_sh 发表于 2017-1-3 20:35:11

一柱张 发表于 2017-1-12 07:31
想问您一下 我有一个费托合成的反应精馏塔 体系在规定物性的时候methods选用PRMHV2, 但是计算liquid phase ...

参考10楼的方法。

ZL琳 发表于 2017-1-3 20:35:11

czhllt 发表于 2019-7-15 11:21
Visual Studio 2010 和 Intel Parallel Studio XE2011是标配,基本上Aspen7.3-10都能链接

是的,我已经安装上了,运行很顺利,谢谢。

bshao_sh 发表于 2017-1-3 20:35:11

Mia__ 发表于 2018-5-11 08:43
大神,我想做吸收模拟分离二元混合气,想用自己做的吸收模型(压力和溶解度关联模型),请问可以实现吗

当然可以。

xsahh 发表于 2017-1-3 20:35:11

楼主,对于反应精馏,考虑催化剂内外扩散阻力的条件下进行计算。怎么通过Fortan语言获得传质方程最基本的参数:如St,浓度梯度等用于求解扩散方程?

天堂弓箭hit 发表于 2017-1-3 20:35:11

请问能不能讲一下user模块软件的界面怎么设置?就是number of parameter,length of work arrays,和values for parameters都应该怎么填,谢谢!

bshao_sh 发表于 2017-1-3 20:35:11

Mia__ 发表于 2018-5-29 10:17
你好,不知道您有没有时间,可以教我做一个ASPEN流程模拟吗,需要加入一些模型,有偿帮忙

加我好友先。

你面前人山人海 发表于 2017-1-3 20:35:11

楼主你好,动力学方程多了一个机理函数,和转化率有关,如附件所示,应该怎样用Fortran编程或者怎样在aspen中设置一些参数?万分感谢

ZL琳 发表于 2017-1-3 20:35:11

19811211 发表于 2019-11-13 11:14
请问这个问题你解决了嘛?我遇到相同问题

我现在装的是VS2010和IVF2013,可以适用于Aspen Plus V8.4

波波 发表于 2017-1-3 20:35:11

bshao_sh 发表于 2018-6-20 17:58
1. ID1=1 表示第一个反应。
2. ID1 是solid sustream, ID2是solid component, ID3是组成分析,ID4表示第 ...

谢谢!

zsyall 发表于 2017-1-3 20:35:11

楼主你好,如果aspen中没有的模块,选user1,用Fortran来做,然后编一个程序,让流股中其中一种物料被吸收,其他组成不变,这样能做到吗?

bshao_sh 发表于 2017-1-3 20:35:11

Mia__ 发表于 2018-5-11 16:09
求简单指导方向,我慢慢学~万分感谢

有两个选择,用user2 model或者写 ACM model。自己去找例子吧。

bshao_sh 发表于 2017-1-3 20:35:11

大仁仁 发表于 2017-5-18 22:06
楼主大大你好,我想模拟干燥器,但是运行时候弹出来FORTRAN OVERFLOW ENCOUNTERED.

麻烦附上文件。

huweijilian 发表于 2017-1-3 20:35:11

bshao_sh 发表于 2017-1-8 22:02
按description对应匹配的Fortran和VS版本安装。V9.0貌似只支持F9.X之后版本了。

谢谢,学习 啦

huweijilian 发表于 2017-1-3 20:35:11

本帖最后由 huweijilian 于 2017-1-8 13:08 编辑

Fortranv6在aspenv9和win7下没法设置,全是erorr。但aspenv7时可行。必须加装Visual-Studio-2010吗?

zjq1993 发表于 2017-1-3 20:35:11

楼主 您好 我的 Aspen V10 后面装了 VS2015和IVF2017 显示OK了 但是在Aspen里面还是显示缺少合适的编译器 求指导

xsahh 发表于 2017-1-3 20:35:11

咨询一个问题:ASPEN中IDX代表什么意思?能不能举一个例子或简单的代码说明下,查了help文件,没有太明白

bshao_sh 发表于 2017-1-3 20:35:11

一柱张 发表于 2017-1-13 02:26
但是貌似这样不能定义亨利组分啊,求指教!

你自己在研究下吧,这块不是很了解。

黄盖 发表于 2017-1-3 20:35:11

请问楼主有没有aspen fortran方面入门的教程之类的,还是说直接学习fortran语言就行了

bkqcycyqm 发表于 2017-1-3 20:35:11

编程,感觉很高深啊!{:1106_363:}

yqzls 发表于 2017-1-3 20:35:11

{:1106_362:}…………………………

一柱张 发表于 2017-1-3 20:35:11

本帖最后由 一柱张 于 2017-1-13 02:27 编辑

bshao_sh 发表于 2017-1-12 20:08
参考10楼的方法。
但是貌似这样不能定义亨利组分啊,求指教!

jjzg2004 发表于 2017-1-3 20:35:11

{:1106_382:}
页: [1] 2 3 4 5
查看完整版本: Aspen Plus-Fortran