C C C LIST OF SUBROUTINES IN THIS FILE C C HC_SRFEQN : SURFACE TENSION EQUATIONS C HC_SRFBROCK : SURFACE TENSION CALCULAITON BY RROCK AND BIRD C BASED ON CORRESPONDING STATES RALATION C HC_SRFZUO : SURFACE TENSION CALCULAITON BY ZUO AND STENBY C BASED ON CORRESPONDING STATES RALATION C HC_SRFSR : SURFACE TENSION CALCULAITON BY SASTRIO AND RAO C BASED ON CORRESPONDING STATES RALATION C C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_SRFEQN C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] SURFACE TENSION CALCULATION USING INTERNAL CORRELATION EQUATION C C [USAGE ] CALL HC_SRFEQN(ICN,T,SRF,IST) C C [ARGUMENTS] C ICN : COMPONENT NUMBER (1-50) TO CALCULATE SURFACE TENSION (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C C THL : SURFACE TENSION IN dynes/cm (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C = 0 : NORMAL TERMINATION C = 901 : SURFACE TENSION COEFFICIENT NOT AVAILABLE C = 902 : OUT OF RANGE FOR THE APPLICATION C C [COMMENTS] C C [REQUIRED COMMON BLOCKS] C COMMON /HC_KSRF/ LIQUID THERMAL CONDUCTIVITY COEFFICIENTS C C [REQUIRED SUBROUTINES OR FUNCTIONS] C NONE C C [REFERENCE] C NONE C C [REVISION INFORMATION] C 1.PROGRMAMMED BY J.W.KANG, KOREA UNIVERSITY, 2001 C 2.REVISED BY Y.S.KIM, KOREA UNIVERSITY, 2002 C******************************************************************* SUBROUTINE HC_SRFEQN(ICN,T,SRF,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) INTEGER IST,ICN REAL*8 T,SRF COMMON/HC_KSRF/IEQ_SRF(50),SRF_A(50),SRF_B(50),SRF_C(50), 1 SRF_D(50),SRF_E(50),SRF_F(50),SRF_G(50),SRF_T1(50),SRF_T2(50) C --- INITIALIZATION IST = 0 SRF = 0.0 C --- CHECK IF EQUATION COEFF.S AVAILABLE IF(IEQ_SRF(ICN).LE.0) IST = 901 C --- CHECK IF THE RANGE OF APPLICATION IF(IST.NE.0) RETURN C --- LIQUID HEAT CAPAICITY CALCULATION SRF = SRF_A(ICN)*(1.D0-T/SRF_B(ICN))**SRF_C(ICN) RETURN END C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_SRFBROCK C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] SURFACE TENSION CALCULAITON BY RROCK AND BIRD C BASED ON CORRESPONDING STATES RALATION C C [USAGE ] CALL HC_SRFBROCK(ICN,T,SRF,IST) C C [ARGUMENTS] C ICN : COMPONENT NUMBER (1-50) TO CALCULATE SURFACE TENSION C (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C C SRF : SURFACE TENSION IN dyn/cm (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C = 0 : NORMAL TERMINATION C = 911 : CRITICAL TEMPERATURE DATA NOT AVAILABLE C = 912 : CRITICAL PRESSURE DATA NOT AVAILABLE C = 913 : NORMAL BOILING POINT DATA NOT AVAILABLE C = 914 : GIVEN T EXCEEDS CRITICAL TEMPERATURE C C [COMMENTS] C THIS METHOD IS NOT SATISFACTORY FOR COMPOUNDS SUCH AS ALCOHOLS OR ACIDS. C THEN, USE SUBROUTINE HC_SRFSR BASED ON SASTRI-RAO METHOD C C [REQUIRED COMMON BLOCKS] C COMMON /HC_PROP/ COMMON BLOCK FOR COMPONENT BASIC PROPERTIES C C [REQUIRED SUBROUTINES OR FUNCTIONS] C NONE C C [REFERENCE] C BROCK, J.R. AND BIRD, K.S., AICHE J., VOL 1, P174(1955) C C [REVISION INFORMATION] C 1.PROGRMAMMED BY J.W.KANG, KOREA UNIVERSITY, 1996 C 2.REVISED BY J.W.KANG, KOREA UNIVERSITY, 2000 C 3.REVISED BY J.W.KANG, KOREA UNIVERSITY, 2001 C 4.REVISED BY Y.S.KIM, KOREA UNIVERSITY, 2002 C******************************************************************* SUBROUTINE HC_SRFBROCK(ICN,T,SRF,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) REAL*8 SRF INTEGER ICN COMMON/HC_PROP/WT(50),TB(50),TF(50),TC(50),PC(50),VC(50),ZC(50) 1 ,ACCF(50),WSRK(50),VEST(50),ZRA(50),SOLP(50),VOLP(50) 2 ,QI(50),RI(50),DM(50) C-------------------------- INITIALIZATION -------------------------C SRF = 0.D0 IST = 0 I = ICN C---------------- SCAN IF INSUFFICIENT DATA AVAILABLE --------------C IF(TC(I).LE.0.D0) THEN IST = 911 RETURN ENDIF IF(PC(I).LE.0.D0) THEN IST = 912 RETURN ENDIF IF(TB(I).LE.0.D0) THEN IST = 913 RETURN ENDIF IF(T.GE.TC(I)) THEN IST = 914 RETURN ENDIF C--------------------- SURFACE TENSION CALCULATION -----------------C TBR=TB(I)/TC(I) QQ=TBR*DLOG(PC(I)/1.01325D2)/(1.D0-TBR) QQ=0.1196D0*(1.D0+QQ)-0.279D0 TR=T/TC(I) SRF=(PC(I)*1.D-2)**(2.D0/3.D0)*TC(I)**(1.D0/3.D0)*QQ*(1.D0-TR)** 1 (11.D0/9.D0) RETURN END C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_SRFZUO C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] SURFACE TENSION CALCULAITON BY ZUO AND STENBY C BASED ON CORRESPONDING STATES RALATION C C [USAGE ] CALL HC_SRFZUO(ICN,T,SRF,IST) C C [ARGUMENTS] C ICN : COMPONENT NUMBER (1-50) TO CALCULATE SURFACE TENSION C (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C C SRF : SURFACE TENSION IN dyn/cm (REAL*8, OUTPUT) (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C = 0 : NORMAL TERMINATION C = 921 : CRITICAL TEMPERATURE DATA NOT AVAILABLE C = 922 : CRITICAL PRESSURE DATA NOT AVAILABLE C = 923 : ACENTRIC FACTOR DATA NOT AVAILABLE C = 924 : GIVEN T EXCEEDS CRITICAL TEMPERATURE C C [COMMENTS] C THIS METHOD IS NOT SATISFACTORY FOR COMPOUNDS SUCH AS ALCOHOLS OR ACIDS. C THEN, USE SUBROUTINE HC_SRFSR BASED ON SASTRI-RAO METHOD C C [REQUIRED COMMON BLOCKS] C COMMON /HC_PROP/ COMMON BLOCK FOR COMPONENT BASIC PROPERTIES C C [REQUIRED SUBROUTINES OR FUNCTIONS] C NONE C C [REFERENCE] C ZUO,Y.-X, AND STENBY, E.H., CAN.J.CHEM.ENG.,VOL 75, P1130 (1997) C C [REVISION INFORMATION] C 1.PROGRMAMMED BY Y.S.KIM, KOREA UNIVERSITY, 2002 C******************************************************************* SUBROUTINE HC_SRFZUO(ICN,T,SRF,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) REAL*8 SRF INTEGER ICN COMMON/HC_PROP/WT(50),TB(50),TF(50),TC(50),PC(50),VC(50),ZC(50) 1 ,ACCF(50),WSRK(50),VEST(50),ZRA(50),SOLP(50),VOLP(50) 2 ,QI(50),RI(50),DM(50) C-------------------------- INITIALIZATION -------------------------C SRF = 0.D0 IST = 0 I = ICN C---------------- SCAN IF INSUFFICIENT DATA AVAILABLE --------------C IF(TC(I).LE.0.D0) THEN IST = 921 RETURN ENDIF IF(PC(I).LE.0.D0) THEN IST = 922 RETURN ENDIF IF(ACCF(I).LE.0.D0) THEN IST = 923 RETURN ENDIF IF(T.GE.TC(I)) THEN IST = 924 RETURN ENDIF C---- SURFACE TENSION CALCULATION -----------------C TR = T/TC(I) SRF1=40.52D0*(1-TR)**1.287D0 SRF1R=DLOG(1.D0+SRF1/(190.56D0**(1.D0/3.D0) 1 *45.99D0**(2.D0/3.D0))) SRF2=52.095D0*(1-TR)**1.21548D0 SRF2R=DLOG(1.D0+SRF2/(568.7D0**(1.D0/3.D0) 1 *24.9D0**(2.D0/3.D0))) SRFR=SRF1R+(ACCF(I)-0.011D0)/(0.399D0-0.011D0)*(SRF2R-SRF1R) TEMP1=(DEXP(SRFR)-1.D0) SRF=TEMP1*TC(I)**(1.D0/3.D0)*(PC(I)*1.D-2)**(2.D0/3.D0) RETURN END C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_SRFSR C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] SURFACE TENSION CALCULAITON BY SASTRIO AND RAO C BASED ON CORRESPONDING STATES RALATION C C [USAGE ] CALL HC_SRFSR(ICN,T,SRF,IST) C C [ARGUMENTS] C ICN : COMPONENT NUMBER (1-50) TO CALCULATE SURFACE TENSION C (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C C SRF : SURFACE TENSION IN dyn/cm (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C = 0 : NORMAL TERMINATION C = 931 : CRITICAL TEMPERATURE DATA NOT AVAILABLE C = 932 : CRITICAL PRESSURE DATA NOT AVAILABLE C = 933 : NORMAL BOILING POINT DATA NOT AVAILABLE C = 934 : GIVEN T EXCEEDS CRITICAL TEMPERATURE C C [COMMENTS] C THIS METHOD IS SATISFACTORY FOR COMPOUNDS SUCH AS ALCOHOLS OR ACIDS. C C [REQUIRED COMMON BLOCKS] C COMMON /HC_PROP/ COMMON BLOCK FOR COMPONENT BASIC PROPERTIES C COMMON /HC_NAME/ C C [REQUIRED SUBROUTINES OR FUNCTIONS] C NONE C C [REFERENCE] C SASTRI, S.R.S. AND RAO, K.K., CHEM.ENG.J., VOL 59, P 181(1995) C C [REVISION INFORMATION] C 1.PROGRMAMMED BY Y.S.KIM, KOREA UNIVERSITY, 2002 C C******************************************************************* SUBROUTINE HC_SRFSR(ICN,T,SRF,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) REAL*8 SRF INTEGER ICN,K CHARACTER*50 CNAME CHARACTER*20 FORMULA COMMON/HC_NAME/ICMP(50),CNAME(50),FORMULA(50),ICLASS(50) COMMON/HC_PROP/WT(50),TB(50),TF(50),TC(50),PC(50),VC(50),ZC(50) 1 ,ACCF(50),WSRK(50),VEST(50),ZRA(50),SOLP(50),VOLP(50) 2 ,QI(50),RI(50),DM(50) DIMENSION AA(3),XX(3),YY(3),ZZ(3),BB(3) DATA (AA(J),J=1,3) /2.28D0,0.125D0,0.158D0/ DATA (XX(J),J=1,3) /0.25D0,0.50D0,0.50D0/ DATA (YY(J),J=1,3) /0.175D0,-1.5D0,-1.5D0/ DATA (ZZ(J),J=1,3) /0.D0,1.85D0,1.85D0/ BB(1) = 0.8D0 BB(2) = 11.D0/9.D0 BB(3) = 11.D0/9.D0 C-------------------------- INITIALIZATION -------------------------C SRF = 0.D0 IST = 0 I = ICN C---------------- SCAN IF INSUFFICIENT DATA AVAILABLE --------------C IF(TC(I).LE.0.D0) THEN IST = 931 RETURN ENDIF IF(PC(I).LE.0.D0) THEN IST = 932 RETURN ENDIF IF(TB(I).LE.0.D0) THEN IST = 933 RETURN ENDIF IF(T.GE.TC(I)) THEN IST = 934 RETURN ENDIF C--------------------- SURFACE TENSION CALCULATION -----------------C IF(ICLASS(I).GE.11 .AND. ICLASS(I).LE.14) K = 1 ! ALCOHOLS IF(ICLASS(I).GE.15 .AND. ICLASS(I).LE.19) K = 2 ! ACIDS(ORGANICS) IF(ICLASS(I).LE.10 .OR. ICLASS(I).GE.20) K = 3 ! ALL OTHERS TR=T/TC(I) TBR=TB(I)/TC(I) TEMP1=((1-TR)/(1-TBR))**BB(K) SRF=AA(K)*(PC(I)*1.D-2)**XX(K)*TB(I)**YY(K)*TC(I)**ZZ(K)*TEMP1 RETURN END C******************************************************************* C END OF FILE