c begin file core_CPP.f c c This file contains the functions implementing a polynomial fit c for the ideal gas heat capacity. c c routines for the polynomial fit of ideal gas heat capacity c c contained here are: c subroutine SETCPP (nread,icomp,hcasno,ierr,herr) c function CP0CPP (icomp,t) c function CPICPP (icomp,t) c function CPTCPP (icomp,t) c function PH0CPP (icomp,itau,idel,t,rho) c block data SAVCPP c block data BDCPP c c these routines use the following common blocks from other files c common /CREF/ tref(n0:nx),rhoref(n0:nx),href(n0:nx),sref(n0:nx) c common /CHAR/ htab,hnull c common /Gcnst/ R c c various arrays are dimensioned with parameter statements c parameter (mxcpp=2) !max number of fluids in block data c parameter (ncmax=5) !max number of components in mixture c parameter (n0=-ncmax,nx=ncmax) c parameter (ncppmx=20) !max number of Cp0 terms c c ====================================================================== c ====================================================================== c subroutine SETCPP (nread,icomp,hcasno,ierr,herr) c c set up working arrays for polynomial form of ideal heat gas Cp c uses cubic polynomial correlation of Cp0 (dimensional form): c Cp0 = cpc(i,0) + cpc(i,1)*T + cpc(i,2)*T*T + cpc(i,3)*T**3 c c inputs: c nread--file to read data from c <= 0 get data from block data c >0 read from logical unit nread (file should have already c been opened and pointer set by subroutine SETUP) c icomp--component number in mixture (1..nc); 1 for pure fluid c zero and negative numbers designate ECS reference fluids c hcasno--CAS number of component icomp (not req'd if reading from file) c c outputs: c ierr--error flag: 0 = successful c 1 = error (e.g. fluid not found) c herr--error string (character*255 variable if ierr<>0) c coefficients, etc. returned via arrays in commons /xxxCPP/ c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 07-20-95 MM, original version c 09-13-95 MM, add ierr, herr to argument list c 10-04-95 MM, adapt to file input, add nread to argument list c 11-10-95 MM, convert from cubic to general polynomial c 11-29-95 MM, variable lower limit on coefficient/constant arrays c to accomodate ECS reference fluid c 02-27-96 MM, parameter n0=-ncmax to accomodate ECS-thermo model c 06-17-96 MM, read in exponential terms (Einstein function) c 11-13-97 MM, (re)initialize contents of /CPPSAV/ when a new fluid is read in c 12-05-97 MM, change ncppmx from 15 to 20 (accomodate H2 in NIST14) c implicit double precision (a-h,o-z) implicit integer (i-k,m,n) parameter (mxcpp=2) !max number of fluids in block data parameter (ncmax=5) !max number of components in mixture parameter (n0=-ncmax,nx=ncmax) parameter (ncppmx=20) !max number of Cp0 terms character*1 htab,hnull character*12 hcasno,hcas character*255 herr common /CHAR/ htab,hnull c commons associated with the mxcpp fluids with FEQ equations stored c in block data BDCPP common /NTCPP/ ntrmca(mxcpp),ntrmce(mxcpp) common /RDCPP/ treda(mxcpp),Creda(mxcpp) common /LMCPP/ tmna(mxcpp),tmxa(mxcpp),pmxa(mxcpp),rhomxa(mxcpp) common /CPCPP/ cpca(mxcpp,ncppmx),xka(mxcpp,ncppmx) common /CASCPP/ hcas(mxcpp) c commons associated with the nc components of current interest c ("working" commons and arrays) common /WNTCPP/ ntermc(n0:nx),nterme(n0:nx) common /WRDCPP/ tred(n0:nx),Cred(n0:nx) common /WLMCPP/ tmin(n0:nx),tmax(n0:nx),pmax(n0:nx),rhomax(n0:nx) common /WCPCPP/ cpc(n0:nx,ncppmx),xk(n0:nx,ncppmx) common /CPPSAV/ cp0sav(n0:nx),cpisav(n0:nx),cptsav(n0:nx), & tsav(n0:nx) c c (re)initialize contents of /CPPSAV/ when a new fluid is read in do 100 i=n0,nx cp0sav(i)=0.0d0 cpisav(i)=0.0d0 cptsav(i)=0.0d0 tsav(i)=0.0d0 100 continue c if (nread.le.0) then c get coefficients from block data c identify specified fluid with entries in database via match of CAS no do 200 k=1,mxcpp if (hcasno.eq.hcas(k)) then c write (*,*) ' SETCPP--coeff from block data for CAS # ',hcasno tmin(icomp)=tmna(k) tmax(icomp)=tmxa(k) pmax(icomp)=pmxa(k) rhomax(icomp)=rhomxa(k) tred(icomp)=treda(k) Cred(icomp)=Creda(k) ntermc(icomp)=ntrmca(k) nterme(icomp)=ntrmce(k) do 198 j=1,ntrmca(k) cpc(icomp,j)=cpca(k,j) xk(icomp,j)=xka(k,j) 198 continue c write (*,*) ' SETCPP--final coeff: ',cpc(icomp,ntermc(icomp)) ierr=0 herr=hnull RETURN end if 200 continue ierr=1 herr='% ERROR--fluid input to SETCPP not found'//hnull RETURN else c read data from file c write (*,*) ' SETCPP--read component',icomp,' from unit',nread read (nread,*) tmin(icomp) !lower temperature limit read (nread,*) tmax(icomp) !upper temperature limit read (nread,*) pmax(icomp) !upper pressure limit read (nread,*) rhomax(icomp) !upper density limit read (nread,*) tred(icomp),Cred(icomp) !reducing parameters c read number of polynomial and exponential terms read (nread,*) ntermc(icomp),nterme(icomp) jterm=0 if (ntermc(icomp).ge.1) then do 240 j=1,ntermc(icomp) !read polynomial coefficients jterm=jterm+1 read (nread,*) cpc(icomp,jterm),xk(icomp,jterm) 240 continue end if if (nterme(icomp).ge.1) then do 260 j=1,nterme(icomp) !read exponential coefficients jterm=jterm+1 read (nread,*) cpc(icomp,jterm),xk(icomp,jterm) 260 continue end if c write (*,*) ' SETCPP--final coeff: ',cpc(icomp,jterm) ierr=0 herr=hnull end if c RETURN 2003 format (a3) end !subroutine SETCPP c c ====================================================================== c function CP0CPP (icomp,t) c c compute Cp0 c c uses polynomial correlation of Cp0: c Cp0/Cred = SUM [cpc(i,k)*(T/Tred(i))**xk(i,k)] c + SUM [cpc(i,k)*u(i,k)**2*exp{u(i,k)}/(1-exp{u(i,k)})**2] c where cpc(i,k), xk(i,k) are k-th coefficients for component i c u(i,k) = xk(i,k)/T c Cred is reducing parameter for Cp0 (e.g. gas constant, R) c Tred is reducing parameter for t (e.g. critcal temperature) c (the reducing parameters are spcified in the .fld file) c c inputs: c icomp--pointer specifying component (1..nc) c t--temperature (K) c output (as function value): c CP0CPP--Cp0 (J/(mol-K)) c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 10-06-94 MM, original version c 07-20-95 MM, separate polynomial Cp0 routines from core_BWR c 11-10-95 MM, convert from cubic to general polynomial c 11-29-95 MM, variable lower limit on coefficient/constant arrays c to accomodate ECS reference fluid c 02-27-96 MM, parameter n0=-ncmax to accomodate ECS-thermo model c 06-17-96 MM, add provision for exponential terms c 06-18-96 MM, actually add the exponential terms c implicit double precision (a-h,o-z) implicit integer (i-k,m,n) implicit logical (l) c parameter (ncmax=5) !max number of components in mixture parameter (n0=-ncmax,nx=ncmax) parameter (ncppmx=20) !max number of Cp0 terms common /WNTCPP/ ntermc(n0:nx),nterme(n0:nx) common /WRDCPP/ tred(n0:nx),Cred(n0:nx) common /WLMCPP/ tmin(n0:nx),tmax(n0:nx),pmax(n0:nx),rhomax(n0:nx) common /WCPCPP/ cpc(n0:nx,ncppmx),xk(n0:nx,ncppmx) c j=icomp !pointer to appropriate fluid c cpsum=0.0d0 iterm=0 c polynomial terms if (ntermc(j).ge.1) then do 200 i=1,ntermc(j) iterm=iterm+1 cpsum=cpsum+cpc(j,iterm)*(t/tred(j))**xk(j,iterm) 200 continue end if c exponential terms if (nterme(j).ge.1) then do 240 i=1,nterme(j) iterm=iterm+1 ui=xk(j,iterm)/t expui=EXP(ui) cpsum=cpsum+cpc(j,iterm)*ui*ui*expui/(1.0d0-expui)**2 240 continue end if c CP0CPP=cpsum*Cred(j) c write (*,1020) j,t,tred(j),Cred(j),CP0CPP,(cpc(j,i),i=1,iterm) c1020 format (1x,' CP0CPP--j,t,tred,Cred,CP0,cpc(i): ',i3,4f8.2,8d16.6) c RETURN end !function CP0CPP c c ====================================================================== c function CPICPP (icomp,t) c c compute integral of Cp0 over limits of Tref to T c for use in enthalpy calculation c c uses polynomial correlation of Cp0: c Cp0/Cred = SUM [cpc(i,k)*(T/Tred(i))**xk(i,k)] c + SUM [cpc(i,k)*u(i,k)**2*exp{u(i,k)}/(1-exp{u(i,k)})**2] c where cpc(i,k), xk(i,k) are k-th coefficients for component i c u(i,k) = xk(i,k)/T c Cred is reducing parameter for Cp0 (e.g. gas constant, R) c Tred is reducing parameter for t (e.g. critcal temperature) c (the reducing parameters are spcified in the .fld file) c c based on derivations in Younglove & McLinden (1994), JPCRD 23:731-779 c equation C11 c c inputs: c icomp--pointer specifying component (1..nc); c t--temperature (K) c output: (as function value): c CPICPP--int (Cp0 dT)|T-Tref (J/mol) c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 10-06-94 MM, original version c 07-20-95 MM, separate polynomial Cp0 routines from core_BWR c 11-10-95 MM, convert from cubic to general polynomial c 11-29-95 MM, variable lower limit on coefficient/constant arrays c to accomodate ECS reference fluid c 02-27-96 MM, parameter n0=-ncmax to accomodate ECS-thermo model c 06-17-96 MM, add provision for exponential terms c 06-18-96 MM, actually add the exponential terms c implicit double precision (a-h,o-z) implicit integer (i-k,m,n) implicit logical (l) c parameter (ncmax=5) !max number of components in mixture parameter (n0=-ncmax,nx=ncmax) parameter (ncppmx=20) !max number of Cp0 terms common /WNTCPP/ ntermc(n0:nx),nterme(n0:nx) common /WRDCPP/ tred(n0:nx),Cred(n0:nx) common /WLMCPP/ tmin(n0:nx),tmax(n0:nx),pmax(n0:nx),rhomax(n0:nx) common /WCPCPP/ cpc(n0:nx,ncppmx),xk(n0:nx,ncppmx) common /CREF/ tref(n0:nx),rhoref(n0:nx),href(n0:nx),sref(n0:nx) c j=icomp !pointer to appropriate fluid c cpsum=0.0d0 iterm=0 c polynomial terms if (ntermc(j).ge.1) then do 200 i=1,ntermc(j) iterm=iterm+1 xki=xk(j,iterm) xk1=xki+1.0d0 if (abs(xk1).lt.1.0d-6) then c any term with temperature exponent of -1 handled differently cpsum=cpsum+cpc(j,iterm)*tred(j)*log(t/tref(j)) else cpsum=cpsum+cpc(j,iterm)*(t**xk1-tref(j)**xk1) & /(xk1*tred(j)**xki) end if 200 continue end if c exponential terms if (nterme(j).ge.1) then do 240 i=1,nterme(j) iterm=iterm+1 expui=exp(xk(j,iterm)/t) exptr=exp(xk(j,iterm)/tref(j)) cpsum=cpsum+cpc(j,iterm)*(-0.5d0*xk(j,iterm)) & *((1.0d0+expui)/(1.0d0-expui)-(1.0d0+exptr)/(1.0d0-exptr)) 240 continue end if c CPICPP=cpsum*Cred(j) c write (*,1020) j,t,tred(j),Cred(j),CPICPP,(cpc(j,i),i=1,iterm) c1020 format (1x,' CPICPP--j,t,tred,Cred,CPI,cpc(i): ',i3,4f8.2,8d16.6) c RETURN end !function CPICPP c c ====================================================================== c function CPTCPP (icomp,t) c c compute integral of Cp0/T over limits of Tref to T c for use in entropy calculation c c uses polynomial correlation of Cp0: c Cp0/Cred = SUM [cpc(i,k)*(T/Tred(i))**xk(i,k)] c + SUM [cpc(i,k)*u(i,k)**2*exp{u(i,k)}/(1-exp{u(i,k)})**2] c where cpc(i,k), xk(i,k) are k-th coefficients for component i c u(i,k) = xk(i,k)/T c Cred is reducing parameter for Cp0 (e.g. gas constant, R) c Tred is reducing parameter for t (e.g. critcal temperature) c (the reducing parameters are spcified in the .fld file) c c based on derivations in Younglove & McLinden (1994), JPCRD 23:731-779 c equation C12 c c inputs: c icomp--pointer specifying component (1..nc) c t--temperature (K) c output (as function value): c CPTCPP--int (Cp0/T dT)|T-Tref (J/(mol-K)) c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 10-06-94 MM, original version c 07-20-95 MM, separate polynomial Cp0 routines from core_BWR c 11-10-95 MM, convert from cubic to general polynomial c 11-29-95 MM, variable lower limit on coefficient/constant arrays c to accomodate ECS reference fluid c 02-27-96 MM, parameter n0=-ncmax to accomodate ECS-thermo model c 06-17-96 MM, add provision for exponential terms c 06-18-96 MM, actually add the exponential terms c implicit double precision (a-h,o-z) implicit integer (i-k,m,n) implicit logical (l) c parameter (ncmax=5) !max number of components in mixture parameter (n0=-ncmax,nx=ncmax) parameter (ncppmx=20) !max number of Cp0 terms common /WNTCPP/ ntermc(n0:nx),nterme(n0:nx) common /WRDCPP/ tred(n0:nx),Cred(n0:nx) common /WLMCPP/ tmin(n0:nx),tmax(n0:nx),pmax(n0:nx),rhomax(n0:nx) common /WCPCPP/ cpc(n0:nx,ncppmx),xk(n0:nx,ncppmx) common /CREF/ tref(n0:nx),rhoref(n0:nx),href(n0:nx),sref(n0:nx) c j=icomp !pointer to appropriate fluid c cpsum=0.0d0 iterm=0 c polynomial terms if (ntermc(j).ge.1) then do 200 i=1,ntermc(j) iterm=iterm+1 xki=xk(j,iterm) if (abs(xki).lt.1.0d-6) then c any term with temperature exponent of 0 handled differently cpsum=cpsum+cpc(j,iterm)*log(t/tref(j)) else cpsum=cpsum+cpc(j,iterm)*(t**xki-tref(j)**xki) & /(xki*tred(j)**xki) end if 200 continue c exponential terms end if if (nterme(j).ge.1) then do 240 i=1,nterme(j) iterm=iterm+1 ui=xk(j,iterm)/t uiref=xk(j,iterm)/tref(j) expui=exp(ui) exptr=exp(uiref) cpsum=cpsum+cpc(j,iterm)*(log((1.0d0-exptr)/(1.0d0-expui)) & +ui*expui/(expui-1.0d0)-uiref*exptr/(exptr-1.0d0)) 240 continue end if c CPTCPP=cpsum*Cred(j) c write (*,1020) j,t,tred(j),Cred(j),CPTCPP,(cpc(j,i),i=iterm) c1020 format (1x,' CPTCPP--j,t,tred,Cred,CPT,cpc(i): ',i3,4f8.2,8d16.6) c RETURN end !function CPTCPP c c ====================================================================== c function PH0CPP (icomp,itau,idel,t,rho) c c compute the ideal gas part of the reduced Helmholtz energy or a c derivative as functions of temperature and pressure; for c use with a Helmholtz-explicit equation of state c c inputs: c icomp--pointer specifying component (1..nc) c itau--flag specifying order of temperature derivative to calc c idel--flag specifying order of density derivative to calculate c (the density derivatives are not used in the calculation c of any property, and are not implemented) c when itau = 0 and idel = 0, compute A0/RT c when itau = 1 and idel = 0, 1st temperature derivative c when itau = 2 and idel = 0, 2nd temperature derivative c t--temperature (K) c rho--density (mol/L) c output (as function value): c ph0cpp--ideal-gas part of the Helmholtz energy in reduced form (A/RT) c derivatives (as specified by itau and idel) are multiplied c by the corresponding power of tau; i.e. when itau = 1, the c quantity returned is tau*d(ph0cpp)/d(tau) and when itau = 2, c the quantity returned is tau*tau*d2(ph0cpp)/d(tau)**2 c c N.B. While the real-gas part of the Helmholtz energy is calculated c in terms of dimensionless temperature and density, the ideal- c gas part is calculated in terms of absolute temperature and c density. (This distinction is necessary for mixtures.) c c The Helmholtz energy consists of ideal-gas and residual c (real-gas) terms; this routine calculates only the ideal part. c c This function computes pure component properties only. c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 08-04-95 MM, original version c 08-21-95 MM, put saved variables into common (rather than save stmt) c 10-03-95 MM, change /MODEL/ + /CPMOD/: models specified by strings c 11-06-95 MM, insert HMX model c 11-29-95 MM, variable lower limit on coefficient/constant arrays c to accomodate ECS reference fluid c 02-27-96 MM, parameter n0=-ncmax to accomodate ECS-thermo model c 03-13-96 MM, replace calls to REDFEQ, etc with generic REDK c 03-21-96 MM, delete /MODEL/, not needed because of above change c 04-18-96 MM, apply tolerance to t-tsav test c 04-19-96 MM, fix bug in expression for PHI; change input p -> rho c 05-10-96 MM, elimate duplication of href, sref terms with THERM c 07-05-96 MM, change derivative outputs: tau*d(phi)/d(tau), etc c 08-20-97 MM, call ERRMSG if itau out of range; drop idel=idel c implicit double precision (a-h,o-z) implicit integer (i-k,m,n) implicit logical (l) parameter (ncmax=5) !max number of components in mixture parameter (n0=-ncmax,nx=ncmax) character*1 htab,hnull character*255 herr common /CHAR/ htab,hnull common /CREF/ tref(n0:nx),rhoref(n0:nx),href(n0:nx),sref(n0:nx) common /Gcnst/ R common /CPPSAV/ cp0sav(n0:nx),cpisav(n0:nx),cptsav(n0:nx), & tsav(n0:nx) c c save information for possible use on next call to function c some compilers do not like save--use common /CPPSAV/ instead c save cp0sav(n0:nx),cpisav(n0:nx),cptsav(n0:nx),tsav(n0:nx) c PH0CPP=0.0d0 !initialize in case of error if (abs(t-tsav(icomp)).lt.1.0d-8) then c use values from previous call (values already in cp0sav, etc.) c write (*,*) 'PH0CPP--using stored values for itau,t = ',itau,t else c otherwise, compute new values and save for possible future use cp0sav(icomp)=CP0CPP(icomp,t) cpisav(icomp)=CPICPP(icomp,t) cptsav(icomp)=CPTCPP(icomp,t) tsav(icomp)=t end if c call REDK (icomp,t0,D0) c tau=t0/t Rt=R*t if (itau.eq.0) then c compute reduced Helmholtz PH0CPP=cpisav(icomp)/Rt-cptsav(icomp)/R & +log(t*rho/(tref(icomp)*rhoref(icomp))) & -1.0d0 c & +href(icomp)/Rt-sref(icomp)/R !move to href, sref else if (itau.eq.1) then c compute derivative w.r.t. tau (dimensionless temperature) c Rt0=R*t0 PH0CPP=cpisav(icomp)/Rt-1.0d0 !return tau*d(ph0cpp)/d(tau) c & +href(icomp)/Rt0*tau !move to href term in THERM else if (itau.eq.2) then c compute 2nd derivative w.r.t. tau (dimensionless temperature) c PH0CPP=1.0d0/tau**2-cp0sav(icomp)/(R*tau**2) c return tau**2*d2(ph0cpp)/d(tau**2) PH0CPP=1.0d0-cp0sav(icomp)/R else c invalid value of itau ierr=99 write (herr,1099) itau,idel,hnull 1099 format ('[PH0CPP warning] invalid input; itau =',i4,'; idel =', & i4,a1) call ERRMSG (ierr,herr) PH0CPP=0.0d0 end if c c write (*,*) ' PH0CPP: output phi: ',ph0cpp c RETURN end !function PH0CPP c c ====================================================================== c block data SAVCPP c c initialize "saved" variables used in function PH0CPP c c explanation of commons and constituent arrays c /CPPSAV/ used to save information between calls to ph0cpp c cp0sav(i): ideal gas heat capacity for component i on last call c cpisav(i): integral of Cp0 on last call to PH0CPP c cptsav(i): integral of Cp0/T on last call to PH0CPP c tsav(i): temperature on last call to PH0CPP c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 08-21-95 MM, original version c 11-08-95 MM, move to core_CPP, change name to SAVCPP c 11-29-95 MM, variable lower limit on coefficient/constant arrays c to accomodate ECS reference fluid c 02-27-96 MM, parameter n0=-ncmax to accomodate ECS-thermo model c implicit double precision (a-h,o-z) implicit integer (i-k,m,n) parameter (ncmax=5) !max number of components in mixture parameter (n0=-ncmax,nx=ncmax) parameter (nxsav=nx-n0+1) c common /CPPSAV/ cp0sav(n0:nx),cpisav(n0:nx),cptsav(n0:nx), & tsav(n0:nx) c data cp0sav /nxsav*0.0d0/ data cpisav /nxsav*0.0d0/ data cptsav /nxsav*0.0d0/ data tsav /nxsav*0.0d0/ c end !block data SAVCPP c c ====================================================================== c block data BDCPP c c data for polynomial form of ideal gas heat capacity c Cp0/Cred = SUM [cpc(i,k)*(T/Tred(i))**xk(i,k)] c where Cred is reducing parameter for Cp0 (e.g. gas constant, R) c Tred is reducing parameter for t (e.g. critcal temperature) c implicit double precision (a-h,o-z) parameter (mxcpp=2) !max number of fluids in block data parameter (ncppmx=20) !max number of Cp0 terms character*12 hcas common /NTCPP/ ntrmca(mxcpp),ntrmce(mxcpp) common /RDCPP/ treda(mxcpp),Creda(mxcpp) common /LMCPP/ tmna(mxcpp),tmxa(mxcpp),pmxa(mxcpp),rhomxa(mxcpp) common /CPCPP/ cpca(mxcpp,ncppmx),xka(mxcpp,ncppmx) common /CASCPP/ hcas(mxcpp) c c explanation of commons and constituent arrays c /NTCPP/ number of terms in polynomial fit c /RDCPP/ reducing parameters for temperature, Cp0 (often =1) c /LMCPP/ limits of fit: tmin, tmax, pmax (= 0), rhomax (= 0) c /CPCPP/ parameters to polynomial Cp0 fit c /CASCPP/ Chem Abstract number; used as unambiguous identifier c hcas(i): CAS number for fluid corresponding to equation "i" c c c written by M. McLinden, NIST Thermophysics Division, Boulder, Colorado c 07-20-95 MM, original version c 11-10-95 MM, convert from cubic to general polynomial c 06-17-96 MM, add provision for exponential terms c c N.B.--the "i" have no particular significance c c c R134a 1,1,1,2-tetrafluoroethane data hcas(1) /'811-97-2'/ c fit of McLinden et al. (1989), ASHRAE Trans 95(pt 2):263-283 c also in Huber & McLinden (1992), Int Refrig Conf, Purdue, 453-462 data ntrmca(1),ntrmce(1) /3,0/ data treda(1),Creda(1) /1.0d0,1.0d0/ data tmna(1),tmxa(1),pmxa(1),rhomxa(1) & /150.0d0,500.0d0,0.0d0,0.0d0/ data (xka(1,i),i=1,3) & / 0.0d0, 1.0d0, 2.0d0/ data (cpca(1,i),i=1,3) & /19.4006d0,0.258531d0,-1.29665d-4/ c c R123 2,2-dichloro-1,1,1-trifluoroethane data hcas(2) /'306-83-2'/ c fit of Younglove & McLinden (1994), JPCRD 23:731-779 data ntrmca(2),ntrmce(2) /4,0/ data treda(2),Creda(2) /456.831d0,8.31451d0/ data tmna(2),tmxa(2),pmxa(2),rhomxa(2) & /150.0d0,500.0d0,0.0d0,0.0d0/ data (xka(2,i),i=1,4) & /0.0d0, 1.0d0, 2.0d0, 3.0d0/ data (cpca(2,i),i=1,4) & /2.046009d0,22.231991d0,-11.658491d0,2.691665/ c end !block data BDCPP c c c 1 2 3 4 5 6 7 c23456789012345678901234567890123456789012345678901234567890123456789012 c c ====================================================================== c end file core_CPP.f c ======================================================================