C THIS IS THE EXAMPLE PROGRAM DESCRIBING HOW TO USE KDB ROUTINES. PROGRAM HC_CPG_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_KCPG/IEQ_CPG(50),CPG_A(50),CPG_B(50),CPG_C(50), 1 CPG_D(50),CPG_E(50),CPG_F(50),CPG_G(50),CPG_T1(50),CPG_T2(50) DIMENSION TEXP(2),CPGEXP(2) DATA (TEXP(J),J=1,2) / 298.15D0, 700.D0/ DATA (CPGEXP(J),J=1,2) / 73.76D0, 143.11D0 / OPEN(UNIT=5,FILE="RESULT.TXT") C NUMBER OF COMPONENT = 1 NCMP = 1 C SPECIFY THE ID OF COMPONENT ICMP(1) = 3 CNAME(1) = "PROPANE" C SPECIFY THE COEFFICIENT DATA FOR HC_CPGEQN IEQ_CPG(1) = 1 CPG_A(1)=2.95952D1 CPG_B(1)=8.379912D-2 CPG_C(1)=3.255759D-4 CPG_D(1)=-3.957572D-7 CPG_E(1)=1.312889D-10 C PRINT COMPONENT NAMES WRITE(5,*) CNAME(1) WRITE(5,*) 'COMPARISON OF EXPERIMENTAL AND ESTIMATED VALUE ', 1 '(% ERROR)' WRITE(5,*) '-----------------------------------------------------' WRITE(5,*) ' T(K) CPG(EXP) KDBEQN ERROR ' WRITE(5,*) '-----------------------------------------------------' DO I = 1, 2 CALL HC_CPGEQN(1,TEXP(I),CPG,IST) ERR1 = DABS( (CPG-CPGEXP(I))/CPGEXP(I) )*100.D0 WRITE(5,5) TEXP(I),CPGEXP(I),CPG,ERR1 ENDDO 5 FORMAT(1x,F6.2,1X, 3(1X,G10.5)) WRITE(5,*) '-----------------------------------------------------' STOP END