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 
