bshao_sh
发表于 2017-1-3 20:35:11
haha123456 发表于 2018-7-16 21:56
楼主,你是做二次开发的吗?还是学习玩的?
你觉得呢{:1106_379:}
forever999
发表于 2017-1-3 20:35:11
我觉不出来呢!
天堂弓箭hit
发表于 2017-1-3 20:35:11
请问能不能讲一下user模块软件的界面怎么设置?就是number of parameter,length of work arrays,和values for parameters都应该怎么填,谢谢!
18562317750
发表于 2017-1-3 20:35:11
楼主你好 对于石油催化裂化的集总反应 该如何编写?与一般反应动力学有什么区别?
numb_
发表于 2017-1-3 20:35:11
请问下载完fortran和Visual ststudio 后如何配置呢?C:\Users\那健\Desktop\微信截图_20181225105937.png
诺亚方舟ccc
发表于 2017-1-3 20:35:11
在吗我也在研究aspen和fortan问题方便加下联系方式吗?2219159317
czhllt
发表于 2017-1-3 20:35:11
请问楼主有关于Fortran编写的L-H吸附动力学的例子吗,我想参考一下,近期要做这方面的工作
ZL琳
发表于 2017-1-3 20:35:11
楼主您好,我的电脑上装了Aspen Plus V8.4、Visual Studio 2012和Intel Parallel Studio XE 2013,可以正常编译程序和调试。但是,在链接的时候出现了问题,首先是在Set Compiler for V8.4窗口未出现可用的编译器组合。其次,在调用子程序的时候。未找到可用的子程序,(错误可以参考截图),请问是什么原因导致的?多谢回答,多谢
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
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都能链接
wendyKing
发表于 2017-1-3 20:35:11
C:\Program Files (x86)\AspenTech\reaction>aspcomp CSTR.F
拒绝访问。
拒绝访问。
拒绝访问。
Error in compiling preprocessed file: Check compile.log
请问这个是什么原因呢
ZL琳
发表于 2017-1-3 20:35:11
czhllt 发表于 2019-7-15 11:21
Visual Studio 2010 和 Intel Parallel Studio XE2011是标配,基本上Aspen7.3-10都能链接
是的,我已经安装上了,运行很顺利,谢谢。
763918331
发表于 2017-1-3 20:35:11
fortran与aspen可连接
ZL琳
发表于 2017-1-3 20:35:11
763918331 发表于 2019-8-19 23:07
fortran与aspen可连接
是的,非常可行
zjq1993
发表于 2017-1-3 20:35:11
楼主 您好 我的 Aspen V10 后面装了 VS2015和IVF2017 显示OK了 但是在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
楼主你好,动力学方程多了一个机理函数,和转化率有关,如附件所示,应该怎样用Fortran编程或者怎样在aspen中设置一些参数?万分感谢
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.
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++吗?