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 

