C C C LIST OF SUBROUTINES IN THIS FILE C C HC_VSLEQN : LIQUID VISCOSITY EQUATIONS C HC_VSLPS : CALCULATION OF PURE LIQUID VISCOSITY AT LOW TEMPERATURE C USING PRZEZDZIECKI & SRIDHAR METHODS C HC_VSLLET : CALCULATION OF PURE LIQUID VISCOSITY AT HIGH TEMPERATURES C USING LETSOU & STIEL METHOD C C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_VSLEQN C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] LIQUID VISCOSITY CALCULATION USING INTERNAL CORRELATION EQUATION C C [USAGE ] CALL HC_VSLEQN(ICN,T,VSL,IST) C C [ARGUMENTS] C ICN : COMPONENT NUMBER (1-50) TO CALCULATE LIQUID VISCOSITY (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C C VSG : LIQUID VISCOSITY IN CENTI POISE (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C = 0 : NORMAL TERMINATION C = 601 : LIQUID VISCOSITY COEFFICIENT NOT AVAILABLE C = 602 : OUT OF RANGE FOR THE APPLICATION C C [COMMENTS] C C [REQUIRED COMMON BLOCKS] C COMMON /HC_KVSL/ LIQUID VISCOSITY 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, 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, 2001 C******************************************************************* SUBROUTINE HC_VSLEQN(ICN,T,VSL,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) INTEGER IST,ICN REAL*8 T,VSL C --- COMMON BLOCK FOR GAS VISCOSITY COEFFICIENTS COMMON/HC_KVSL/IEQ_VSL(50),VSL_A(50),VSL_B(50),VSL_C(50), 1 VSL_D(50),VSL_E(50),VSL_F(50),VSL_G(50),VSL_T1(50),VSL_T2(50) C --- INITIALIZATION IST = 0 VSG = 0.0 C --- CHECK IF EQUATION COEFF.S AVAILABLE IF(IEQ_VSL(ICN).LE.0) IST = 601 C --- CHECK IF THE RANGE OF APPLICATION IF((T.LT.VSL_T1(ICN)).OR.(T.GT.VSL_T2(ICN)) ) IST = 602 IF(IST.NE.0) RETURN C --- LIQUID HEAT CAPAICITY CALCULATION VSL = VSL_A(ICN)+VSL_B(ICN)/T+VSL_C(ICN)*T+VSL_D(ICN)*T*T VSL = DEXP(VSL) RETURN END C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_VSLPS C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] CALCULATION OF PURE LIQUID VISCOSITY AT LOW TEMPERATURE C USING PRZEZDZIECKI & SRIDHAR METHODS C C [USAGE ] CALL HC_VSLPS(IDN,T,VISC,IST) C C [ARGUMENTS] C IDN : COMPONENT NUMBER (1-50) TO CALCULATE LIQUID VISCOSITY C (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C RANGE : T/Tc < 0.55 C C VISC : LIQUID VISCOSITY IN CENTI POISE (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C 0 : NORMAL OUTPUT OBTAINED C 611 : CRITICAL TEMPERATURE DATA NOT AVAILABLE C 612 : CRITICAL PRESSURE DATA NOT AVAILABLE C 613 : ACENTRIC FACTOR DATA NOT AVAILABLE C 614 : CRITICAL VOLUME DATA NOT AVAILABLE C 615 : FREEZING POINT DATA NOT AVAILABLE C 616 : MOLECULAR WEIGHT DATA NOT AVAILABLE C 617 : ALCOHOLS CANNOT BE APPLIED TO PRZSRH METHOD C 618 : NOT APPLICABLE TEMPERATURE RANGE C C [COMMENTS] C C [REQUIRED COMMON BLOCKS] C COMMON /HC_NAME/ C COMMON /HC_PROP/ C C [REQUIRED SUBROUTINES OR FUNCTIONS] C SUBROUTINE RACKETT(N,T,X,VOL,IST) C C [REFERENCE] C Prezdziecki et al., AIChE J., 31, 333 (1985) C C [REVISION INFORMATION] C 1.PROGRMAMMED BY J.W.KANG, KOREA UNIVERSITY, 1996 C 4.REVISED BY Y.S.KIM, KOREA UNIVERSITY, 2002 C******************************************************************* SUBROUTINE HC_VSLPS(IDN,T,METH,VISC,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) REAL*8 VISC, X(50),TREF(50) INTEGER IDN 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) C------------------------- INITIALIZATION --------------------------C IST = 0 I = IDN VISC = 0 C---------------- SCAN IF INSUFFICIENT DATA AVAILABLE --------------C IF(TC(I).LE.0.) THEN IST = 611 RETURN ENDIF IF(PC(I).LE.0.) THEN IST = 612 RETURN ENDIF IF(VC(I).LE.0.) THEN IST = 613 RETURN ENDIF IF(ACCF(I).LE.0.) THEN IST = 614 RETURN ENDIF IF(TF(I).LE.0.D0) THEN IST = 615 RETURN ENDIF IF(WT(I).LE.0.D0) THEN IST=616 RETURN ENDIF IF(ICLASS(I).GE.11.AND.ICLASS(I).LE.14) THEN IST = 617 RETURN ENDIF C--------------------- CHECKING TEMPERATURE RANGE ------------------C TR = T/TC(I) TR2 = TR*TR TR3 = TR2*TR IF(TR.LT.0.55D0.OR.TR.GT.0.77D0) THEN IST = 618 RETURN ENDIF C------------ APPLY GUNN & YAMADA METHOD TO CALC. VOLUME -----------C IF (METH.EQ.1) THEN TREF(I)=298.15D0 VOL = VOLP(I) ELSE TREF(I) = TF(I)+100.D0 X(1) = 1. CALL RACKETT(1,TREF(I),X,VOL,IST) ENDIF TRF = TF(I)/TC(I) TRF2= TRF*TRF TRF3= TRF2*TRF TRR = TREF(I)/TC(I) TRR2= TRR*TRR TRR3= TRR2*TRR H1 = 0.33593D0-(0.33953D0*TR)+(1.51941D0*TR2)-(2.02512D0*TR3) 1 +(1.11422D0*TR2*TR2) H2 = 0.29607D0-0.09045D0*TR-(0.04842D0*TR2) FT = H1*(1.D0-ACCF(I)*H2) H3 = 0.33593D0-(0.33953D0*TRF)+(1.51941D0*TRF2)-(2.02512D0* 1 TRF3)+(1.11422D0*TRF2*TRF2) H4 = 0.29607D0-0.09045D0*TRF-(0.04842D0*TRF2) FFT = H3*(1.D0-ACCF(I)*H4) H5 = 0.33593D0-(0.33953D0*TRR)+(1.51941D0*TRR2)-(2.02512D0* 1 TRR3)+(1.11422D0*TRR2*TRR2) H6 = 0.29607D0-0.09045D0*TRR-(0.04842D0*TRR2) FRT = H5*(1.D0-ACCF(I)*H6) VM = (FFT/FRT)*VOL V = (FT/FRT)*VOL C------------------- CALCULATE LIQUID VISCOSITY --------------------C E = -1.12D0+VC(I)*1.D3/(12.94D0+(0.1D0*WT(I))-(0.23D-2*PC(I)) 1 +(0.0424D0*TF(I))-(11.58D0*TRF)) VO = 0.0085D0*ACCF(I)*TC(I)-2.02D0+(VM/(0.342D0*TRF+0.894D0)) VISC= VO/(E*(V-VO)) RETURN END C******************************************************************* C C KDB THEMOPHYSICAL PROPERTIES CALCULATION FORTRAN ROUTINE LIBRARY C C [NAME ] HC_VSLLET C C [TYPE ] FORTRAN SUBROUTINE C C [PURPOSE] CALCULATION OF PURE LIQUID VISCOSITY AT HIGH TEMPERATURES C USING LETSOU & STIEL METHOD C C [USAGE ] CALL HC_VSLLET(IDN,T,VISC,IST) C C [ARGUMENTS] C IDN : COMPONENT NUMBER (1-50) TO CALCULATE LIQUID VISCOSITY C (INTEGER, INPUT) C T : TEMPERATURE IN KELVIN (REAL*8, INPUT) C APPLICABLE ABOVE A REDUCED TEMPERATURE OF ABOUT 0.76 C C VISC : LIQUID VISCOSITY IN CENTI POISE (REAL*8, OUTPUT) C IST : STATUS OF CALCULATION (INTEGER, OUTPUT) C 0 : NORMAL OUTPUT OBTAINED C 621 : CRITICAL TEMPERATURE DATA NOT AVAILABLE C 622 : CRITICAL PRESSURE DATA NOT AVAILABLE C 623 : ACENTRIC FACTOR DATA NOT AVAILABLE C 624 : MOLECULAR WEIGHT DATA NOT AVAILABLE C 625 : NOT APPLICABLE TEMPERATURE RANGE C [COMMENTS] C C [REQUIRED COMMON BLOCKS] C COMMON /HC_PROP/ 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, 1996 C 4.REVISED BY Y.S.KIM, KOREA UNIVERSITY, 2002 C******************************************************************* SUBROUTINE HC_VSLLETSOU(IDN,T,VISC,IST) IMPLICIT DOUBLE PRECISION (A-H,O-Z) REAL*8 VISC INTEGER IDN 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) C------------------------- INITIALIZATION --------------------------C IST = 0 I = IDN VISC = 0 C---------------- SCAN IF INSUFFICIENT DATA AVAILABLE --------------C IF(TC(I).LE.0.) THEN IST = 621 RETURN ENDIF IF(PC(I).LE.0.) THEN IST = 622 RETURN ENDIF IF(ACCF(I).LE.0.) THEN IST = 623 RETURN ENDIF IF(WT(I).LE.0.D0) THEN IST= 624 RETURN ENDIF C-------------------- CHECKING TEMPERATURE RANGE -------------------C TR = T/TC(I) IF(TR.LT.0.76D0.OR.TR.GT.0.98D0) THEN IST = 625 RETURN ENDIF C--------------------- LETSOU AND STIEL METHOD ---------------------C ES=0.176D0*((TC(I)/((WT(I)**3.D0)*((PC(I)*1.D-2)**4.D0))) 1 **(1.D0/6.D0)) VEE1=(2.648D0-3.725D0*TR+1.309D0*TR*TR)*1.D-3 VEE2=(7.425D0-13.39D0*TR+5.933D0*TR*TR)*1.D-3 VISC=(VEE1+ACCF(I)*VEE2)/ES RETURN END C******************************************************************* C END OF FILE