$DEBUG C THIS IS THE EXAMPLE PROGRAM DESCRIBING HOW TO USE KDB ROUTINES. PROGRAM HC_VSG_E IMPLICIT DOUBLE PRECISION (A-H,O-Z) INTEGER NCMP 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) COMMON/HC_KPVP/IEQ_PVP(50),PVP_A(50),PVP_B(50),PVP_C(50), 1 PVP_D(50),PVP_E(50),PVP_F(50),PVP_G(50),PVP_T1(50),PVP_T2(50) COMMON/HC_KVSG/IEQ_VSG(50),VSG_A(50),VSG_B(50),VSG_C(50), 1 VSG_D(50),VSG_E(50),VSG_F(50),VSG_G(50),VSG_T1(50),VSG_T2(50) REAL*8 LTEXP(3),HPEXP(3),LVISEXP(3),HVISEXP(3),VOL(3) C EXPERIMENTAL DATA FOR ETHANEOL AT LOW PRESSURE DATA (LTEXP(J),J=1,3) /383.15D0,470.15D0,540.15D0/ DATA (LVISEXP(J),J=1,3) /111.D0,137.D0,156.D0/ DATA (HPEXP(J),J=1,3) /40.D2,100.D2,200.D2/ DATA (HVISEXP(J),J=1,3) /90.D0,296.D0,415.D0/ DATA (VOL(J),J=1,3) / 282.D0,60.2D0,51.1D0 / OPEN(UNIT=5,FILE="RESULT.TXT") C NUMBER OF COMPONENT = 1 NCMP = 1 C GAS VISCOSITY FOR LOW PRESSURE C SPECIFY THE ID OF EACH COMPONENT ICMP(1) = 818 ! EHTANOL CNAME(1) = "ETHANOL" ICLASS(1) = 11 C LOW PRESSURE VISCOSITY COEFFICIENT FOR ETHANOL IEQ_VSG(1) = 1 VSG_A(1)=0.0001396D0 VSG_B(1)=2.848D-5 VSG_C(1)=1.241D-9 VSG_T1(1)=273.15D0 VSG_T2(1)=1273.15D0 C PURE PROPERTIES FOR ETHANOL WT(1)=4.60688D1 TC(1)=514.0D0 PC(1)=6137.D0 VC(1)=0.168D0 ZC(1)=0.241249D0 ACCF(1)=0.644 DM(1)=1.7D0 WRITE(5,*) CNAME(1) WRITE(5,*) "VISCOSITY FOR LOW PRESSURE" WRITE(5,*) 'COMPARISON OF EXPERIMENTAL AND ESTIMATED VALUE ', 1 '(% ERROR)' WRITE(5,*) '-----------------------------------------------------' 1 ,'----------------' WRITE(5,*) ' T(K) VSG(kPa) KDB LP_LUCAS LP_CHUNG', 1 ' IST1 IST2 IST3' WRITE(5,*) '-----------------------------------------------------' 1 ,'----------------' DO I = 1, 3 CALL HC_VSGEQN(1,LTEXP(I),VSG1,IST1) VSG1 = VSG1*1.D4 ! cP --> MICRO POISE CALL HC_VSGLUCAS_LP(1,LTEXP(I),VSG2,IST2) CALL HC_VSGCHUNG_LP(1,LTEXP(I),VSG3,IST3) ERR1 = DABS( (VSG1-LVISEXP(I))/LVISEXP(I) )*100.D0 ERR2 = DABS( (VSG2-LVISEXP(I))/LVISEXP(I) )*100.D0 ERR3 = DABS( (VSG3-LVISEXP(I))/LVISEXP(I) )*100.D0 WRITE(5,5) LTEXP(I),LVISEXP(I),ERR1,ERR2,ERR3,IST1,IST2,IST3 ENDDO 5 FORMAT(1x,F6.2,1X,4(1X,G10.5),3I6) WRITE(5,*) '-----------------------------------------------------' 1 ,'----------------' C GAS VISCOSITY FOR HIGH PRESSURE ICMP(1) = 1 ! METHANE CNAME(1) = "METHANE" ICLASS(1) = 1 C LOW PRESSURE VISCOSITY COEFFICIENT FOR METHANE IEQ_VSG(1) = 1 VSG_A(1)=0.001596D0 VSG_B(1)=3.439D-5 VSG_C(1)=-8.14D-9 VSG_T1(1)=193.15D0 VSG_T2(1)=1273.15D0 C PURE PROPERTIES FOR METHANE WT(1)=1.60426D1 TC(1)=190.564D0 PC(1)=4599.D0 VC(1)=0.0986D0 ZC(1)=0.286196D0 ACCF(1)=0.011D0 DM(1)=0.D0 C VAPOR PRESSURE COEFFICIENT FOR METHANE FOR HC_VSGLUCAS_HP IEQ_PVP(1) = 1 PVP_A(1)=-2.374836D0 PVP_B(1)=-1.238032D3 PVP_C(1)=2.664952D1 PVP_D(1)=2.048824D-5 PVP_T1(1)=90.67 PVP_T2(1)=190.58 WRITE(5,*) CNAME(1) WRITE(5,*) "VISCOSITY FOR HIGH PRESSURE" WRITE(5,*) 'COMPARISON OF EXPERIMENTAL AND ESTIMATED VALUE ', 1 '(% ERROR)' WRITE(5,*) '----------------------------------------------------' 1 ,'------------------------' WRITE(5,*) ' T P(EXP) VSG(EXP) LUCAS CHUNG(VOL)', 1 'CHUNG(EOS) IST1 IST2 IST3' WRITE(5,*) '----------------------------------------------------' 1 ,'------------------------' T=200.D0 DO I = 1, 3 CALL HC_VSGLUCAS_HP(1,T,HPEXP(I),VSG1,IST1) CALL HC_VSGCHUNG_HP(1,T,HPEXP(I),1,1,VOL(I),VSG2,IST2) CALL HC_VSGCHUNG_HP(1,T,HPEXP(I),1,2,VOL(I),VSG3,IST3) ERR1 = DABS( (VSG1-HVISEXP(I))/HVISEXP(I) )*100.D0 ERR2 = DABS( (VSG2-HVISEXP(I))/HVISEXP(I) )*100.D0 ERR3 = DABS( (VSG3-HVISEXP(I))/HVISEXP(I) )*100.D0 WRITE(5,15) T,HPEXP(I),HVISEXP(I),ERR1,ERR2,ERR3 1 ,IST1,IST2,IST3 ENDDO 15 FORMAT(2(1x,F7.1),1X,4(1X,F9.3),3I6) WRITE(5,*) '----------------------------------------------------' 1 ,'------------------------' CLOSE(5) STOP END