R717Class::R717Class() { static const double n[]={ 0.0, //[0] 0.4554431e-1, //[1] 0.7238548e+0, //[2] 0.1229470e-1, //[3] -0.1858814e+1, //[4] 0.2141882e-10, //[5] -0.1430020e-1, //[6] 0.3441324e+0, //[7] -0.2873571e+0, //[8] 0.2352589e-4, //[9] -0.3497111e-1, //[10] 0.2397852e-1, //[11] 0.1831117e-2, //[12] -0.4085375e-1, //[13] 0.2379275e+0, //[14] -0.3548972e-1, //[15] -0.1823729e+0, //[16] 0.2281556e-1, //[17] -0.6663444e-2, //[18] -0.8847486e-2, //[19] 0.2272635e-2, //[20] -0.5588655e-3, //[21] }; static const double d[]={ 0, //[0] 2, //[1] 1, //[2] 4, //[3] 1, //[4] 15, //[5] 3, //[6] 3, //[7] 1, //[8] 8, //[9] 2, //[10] 1, //[11] 8, //[12] 1, //[13] 2, //[14] 3, //[15] 2, //[16] 4, //[17] 3, //[18] 1, //[19] 2, //[20] 4 //[21] }; static const double t[]={ 0.0, //[0] -1.0/2.0, //[1] 1.0/2.0, //[2] 1.0, //[3] 3.0/2.0, //[4] 3.0, //[5] 0.0, //[6] 3.0, //[7] 4.0, //[8] 4.0, //[9] 5.0, //[10] 3.0, //[11] 5.0, //[12] 6.0, //[13] 8.0, //[14] 8.0, //[15] 10.0, //[16] 10.0, //[17] 5.0, //[18] 15.0/2.0, //[19] 15.0, //[20] 30.0 //[21] }; static const double c[]={ 0.0, //[0] 0.0, //[1] 0.0, //[2] 0.0, //[3] 0.0, //[4] 0.0, //[5] 1.0, //[6] 1.0, //[7] 1.0, //[8] 1.0, //[9] 1.0, //[10] 2.0, //[11] 2.0, //[12] 2.0, //[13] 2.0, //[14] 2.0, //[15] 2.0, //[16] 2.0, //[17] 3.0, //[18] 3.0, //[19] 3.0, //[20] 3.0 //[21] }; static const double a0[]={ 0.0, //[0] -15.815020, //[1] 4.255726, //[2] 11.474340, //[3] -1.296211, //[4] 0.5706757 //[5] }; static const double t0[]={ 0.0, //[0] 0.0, //[1] 0.0, //[2] 1.0/3.0, //[3] -3.0/2.0, //[4] -7.0/4.0 //[5] }; std::vector<double> a0_v(a0,a0+sizeof(a0)/sizeof(double)); std::vector<double> t0_v(t0,t0+sizeof(t0)/sizeof(double)); phirlist.push_back(new phir_power(n,d,t,c,1,21,22)); // phi0=log(delta)+a0[1]+a0[2]*tau-log(tau)+a0[3]*pow(tau,1.0/3.0)+a0[4]*pow(tau,-3.0/2.0)+a0[5]*pow(tau,-7.0/4.0); phi0list.push_back(new phi0_lead(a0[1],a0[2])); phi0list.push_back(new phi0_logtau(-1)); phi0list.push_back(new phi0_power(a0_v,t0_v,3,5)); // Critical parameters crit.rho = 225; crit.p = PressureUnit(11333, UNIT_KPA); crit.T = 405.40; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 17.03026; params.Ttriple = 195.495; params.ptriple = 6.09170982378; params.accentricfactor = 0.25601; params.R_u = 8.314471; // Limits of EOS limits.Tmin = 195.495; limits.Tmax = 700.0; limits.pmax = 1000000.0; limits.rhomax = 52.915*params.molemass; EOSReference.assign("\"Eine neue Fundamentalgleichung fur Ammoniak (A new Equation of State for Ammonia)\"" " R. Tillner-Roth and F. Harms-Watzenberg and H.D. Baehr, " "Deutscher Kaelte- und Klimatechnischer Verein Tagung 1993"); TransportReference.assign("Viscosity: \"The Viscosity of Ammonia\", " "A. Fenghour and W.A. Wakeham and V. Vesovic and J.T.R. Watson and J. Millat and E. Vogel" "J. Phys. Chem. Ref. Data, Vol. 24, No. 5, 1995 \n\n" "Conductivity: \"Thermal Conductivity of Ammonia in a Large" "Temperature and Pressure Range Including the Critical Region\"" "by R. Tufeu, D.Y. Ivanov, Y. Garrabos, B. Le Neindre, " "Bereicht der Bunsengesellschaft Phys. Chem. 88 (1984) 422-427\n\n" "Does not include the critical enhancement. Comparison of EES (without enhancement) and Refprop (with enhancement) give " "errors in saturated liquid and saturated vapor conductivities of \n\n" "T < 325K, error < 0.1%\n" "325K < T < 355 K, error <1%\n\n" "Most practical conditions will be in the <325K range\n" "Surface tension: Michael Kleiber and Ralph Joh, \"VDI Heat Atlas 2010 Chapter D3.1 Liquids and Gases\" "); name.assign("Ammonia"); aliases.push_back("NH3"); aliases.push_back("ammonia"); aliases.push_back("R717"); aliases.push_back(std::string("AMMONIA")); REFPROPname.assign("AMMONIA"); BibTeXKeys.EOS = "TillnerRoth-DKV-1993"; BibTeXKeys.VISCOSITY = "Fenghour-JPCRD-1995"; BibTeXKeys.CONDUCTIVITY = "Tufeu-BBPC-1984"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R1234zeClass::R1234zeClass() { static const double n[]={0,4.434245E-02, 1.646369E+00, -2.437488E+00, -5.170560E-01, 1.815626E-01, -1.210104E+00, -5.944653E-01, 7.521992E-01, -6.747216E-01, -2.448183E-02, 1.379434E+00, -4.697024E-01, -2.036158E-01, -8.407447E-02, 5.109529E-04}; // d used for consistency with CO2 correlation (corresponds to i from Span) static const double d[]={0, 4, //[1] 1, //[2] 1, //[3] 2, //[4] 3, //[5] 1, //[6] 3, //[7] 2, //[8] 2, //[9] 7, //[10] 1, //[11] 1, //[12] 3, //[13] 3, //[14] 2, //[15 }; static const double t[]={0.00, 1.00,0.31,0.923,1.06,0.44,2.08,2.32,1.25,2.0,1.0,0.93,1.93,2.69,1.0,2.0}; // c used for consistency with CO2 correlation (corresponds to l from Span) static const double c[]={0, 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 2, //[6] 2, //[7] 1, //[8] 2, //[9] 1, //[10] }; static const double eta[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 1.0, //[11] 1.4, //[12] 1.134, //[13] 7.68, //[14] 24 //[15] }; // epsilon is used here for consistency with the definitions in R744.c upon which Nitrogen.c is based // is the value unity in Span static const double beta[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 1.64, //[11] 1.57, //[12] 1.49, //[13] 257.0, //[14] 45, //[15] }; static const double GAMMA[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 1.130, //[11] 0.61, //[12] 0.65, //[13] 1.13, //[14] 1.34 //[15] }; // GAMMA is used here for consistency with the definitions in R744.c upon which Nitrogen.c is based static const double epsilon[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 0.711, //[11] 0.856, //[12] 0.753, //[13] 0.772, //[14] 1.88 //[15] }; //Constants for ideal gas expression static const double a0[] = {0.0,6.259,7.303,8.597,2.333}; static const double b0[] = {0.0,0.0,691/382.52,1705/382.520,4216/382.52}; // Terms divided by critical temp phirlist.push_back(new phir_power(n,d,t,c,1,10,16)); phirlist.push_back(new phir_gaussian(n,d,t,eta,epsilon,beta,GAMMA,11,15,16)); // phi0=log(delta)+a0[1]*log(tau)+a0[2]*log(1-exp(-b0*tau)); phi0list.push_back(new phi0_lead(0,0)); // phi0_lead is like log(delta)+a1+a2*tau with a1=0, a2=0 phi0list.push_back(new phi0_logtau(a0[1])); std::vector<double> a0_v(a0,a0+sizeof(a0)/sizeof(double)); std::vector<double> b0_v(b0,b0+sizeof(b0)/sizeof(double)); phi0list.push_back(new phi0_Planck_Einstein(a0_v,b0_v,2,4)); // Critical parameters crit.rho = 4.29*114.0415928; crit.p = PressureUnit(3636.25, UNIT_KPA); crit.T = 382.52; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 114.0415928; params.Ttriple = 168.62; params.ptriple = 0.23; params.accentricfactor = 0.313; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 2000.0; limits.pmax = 2200000.0; limits.rhomax = 53.15*params.molemass; EOSReference.assign("Mark O. McLinden, Monika Thol, Eric W. Lemmon, \"Thermodynamic Properties of trans-1,3,3,3-tetrafluoropropene [R1234ze(E)]: Measurements of Density and Vapor Pressure and a Comprehensive Equation of State\", International Refrigeration and Air Conditioning Conference at Purdue, July 12-15, 2010"); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("R1234ze(E)"); aliases.push_back("R1234ZEE"); aliases.push_back("R1234zeE"); aliases.push_back(std::string("R1234ZE(E)")); REFPROPname.assign("R1234ZE"); BibTeXKeys.EOS = "McLinden-PURDUE-2010"; BibTeXKeys.CONDUCTIVITY = "Perkins-JCED-2011"; }
R744Class::R744Class() { static double alpha[40],beta[43],GAMMA[40],epsilon[40],a[43],b[43],A[43],B[43],C[43],D[43],a0[9],theta0[9]; static double n[]={0, 0.388568232032E+00, 0.293854759427E+01, -0.558671885350E+01, -0.767531995925E+00, 0.317290055804E+00, 0.548033158978E+00, 0.122794112203E+00, 0.216589615432E+01, 0.158417351097E+01, -0.231327054055E+00, 0.581169164314E-01, -0.553691372054E-00, 0.489466159094E-00, -0.242757398435E-01, 0.624947905017E-01, -0.121758602252E+00, -0.370556852701E+00, -0.167758797004E-01, -0.119607366380E+00, -0.456193625088E-01, 0.356127892703E-01, -0.744277271321E-02, -0.173957049024E-02, -0.218101212895E-01, 0.243321665592E-01, -0.374401334235E-01, 0.143387157569E-00, -0.134919690833E-00, -0.231512250535E-01, 0.123631254929E-01, 0.210583219729E-02, -0.339585190264E-03, 0.559936517716E-02, -0.303351180556E-03, -0.213654886883E+03, 0.266415691493E+05, -0.240272122046E+05, -0.283416034240E+03, 0.212472844002E+03, -0.666422765408E+00, 0.726086323499E+00, 0.550686686128E-01}; static double d[]={0, 1, 1, 1, 1, 2, 2, 3, 1, 2, 4, 5, 5, 5, 6, 6, 6, 1, 1, 4, 4, 4, 7, 8, 2, 3, 3, 5, 5, 6, 7, 8, 10, 4, 8, 2, 2, 2, 3, 3}; static double t[]={0.00, 0.00, 0.75, 1.00, 2.00, 0.75, 2.00, 0.75, 1.50, 1.50, 2.50, 0.00, 1.50, 2.00, 0.00, 1.00, 2.00, 3.00, 6.00, 3.00, 6.00, 8.00, 6.00, 0.00, 7.00, 12.00, 16.00, 22.00, 24.00, 16.00, 24.00, 8.00, 2.00, 28.00, 14.00, 1.00, 0.00, 1.00, 3.00, 3.00}; static double c[]={0,0,0,0,0,0,0,0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 6}; alpha[35]=25.0; alpha[36]=25.0; alpha[37]=25.0; alpha[38]=15.0; alpha[39]=20.0; beta[35]=325.0; beta[36]=300.0; beta[37]=300.0; beta[38]=275.0; beta[39]=275.0; GAMMA[35]=1.16; GAMMA[36]=1.19; GAMMA[37]=1.19; GAMMA[38]=1.25; GAMMA[39]=1.22; epsilon[35]=1.00; epsilon[36]=1.00; epsilon[37]=1.00; epsilon[38]=1.00; epsilon[39]=1.00; a[40]=3.5; a[41]=3.5; a[42]=3.0; b[40]=0.875; b[41]=0.925; b[42]=0.875; beta[40]=0.300; beta[41]=0.300; beta[42]=0.300; A[40]=0.700; A[41]=0.700; A[42]=0.700; B[40]=0.3; B[41]=0.3; B[42]=1.0; C[40]=10.0; C[41]=10.0; C[42]=12.5; D[40]=275.0; D[41]=275.0; D[42]=275.0; //Constants for ideal gas expression a0[1]=8.37304456; a0[2]=-3.70454304; a0[3]=2.500000; a0[4]=1.99427042; a0[5]=0.62105248; a0[6]=0.41195293; a0[7]=1.04028922; a0[8]=0.08327678; theta0[4]=3.15163; theta0[5]=6.11190; theta0[6]=6.77708; theta0[7]=11.32384; theta0[8]=27.08792; std::vector<double> a_v(a,a+sizeof(a)/sizeof(double)); std::vector<double> b_v(b,b+sizeof(b)/sizeof(double)); std::vector<double> A_v(A,A+sizeof(A)/sizeof(double)); std::vector<double> B_v(B,B+sizeof(B)/sizeof(double)); std::vector<double> C_v(C,C+sizeof(C)/sizeof(double)); std::vector<double> D_v(D,D+sizeof(D)/sizeof(double)); phirlist.push_back(new phir_power(n,d,t,c,1,34,35)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,GAMMA,35,39,40)); phirlist.push_back(new phir_critical(n,d,t,a,b,beta,A,B,C,D,40,42,43)); std::vector<double> a0_v(a0,a0+sizeof(a0)/sizeof(double)); std::vector<double> theta0_v(theta0,theta0+sizeof(theta0)/sizeof(double)); phi0list.push_back(new phi0_lead(a0[1],a0[2])); phi0list.push_back(new phi0_logtau(a0[3])); phi0list.push_back(new phi0_Planck_Einstein(a0,theta0,4,8,9)); // Critical parameters crit.rho = 44.0098*10.6249063; crit.p = PressureUnit(7377.3, UNIT_KPA); crit.T = 304.1282; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 44.0098; params.Ttriple = 216.592; params.ptriple = 517.996380545; params.R_u = 8.31451; params.accentricfactor = 0.22394; // Limit parameters limits.Tmin = 216.592; limits.Tmax = 2000.0; limits.pmax = 800000.0; limits.rhomax = 37.24 * params.molemass; EOSReference.assign("\"A New Equation of State for Carbon Dioxide Covering the Fluid Region from the " "Triple Point Temperature to 1100 K at Pressures up to 800 MPa\", " "R. Span and W. Wagner, J. Phys. Chem. Ref. Data, v. 25, 1996"); TransportReference.assign("\"The Transport Properties of Carbon Dioxide\"," " V. Vesovic and W.A. Wakeham and G.A. Olchowy and " "J.V. Sengers and J.T.R. Watson and J. Millat" "J. Phys. Chem. Ref. Data, v. 19, 1990"); name.assign("CarbonDioxide"); aliases.push_back("R744"); aliases.push_back("co2"); aliases.push_back("CO2"); aliases.push_back("carbondioxide"); REFPROPname.assign("CO2"); // Adjust to the IIR reference state (h=200 kJ/kg, s = 1 kJ/kg for sat. liq at 0C) params.HSReferenceState = "IIR"; BibTeXKeys.EOS = "Span-JPCRD-1996"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; BibTeXKeys.VISCOSITY = "Vesovic-JPCRD-1990"; BibTeXKeys.CONDUCTIVITY = "Vesovic-JPCRD-1990"; }
R32Class::R32Class() { static const double n[]={ 0.0, //[0] 0.1046634e+1, //[1] -0.5451165, //[2] -0.2448595e-2, //[3] -0.4877002e-1, //[4] 0.3520158e-1, //[5] 0.1622750e-2, //[6] 0.2377225e-4, //[7] 0.29149e-1, //[8] 0.3386203e-2, //[9] -0.4202444e-2, //[10] 0.4782025e-3, //[11] -0.5504323e-2, //[12] -0.2418396e-1, //[13] 0.4209034, //[14] -0.4616537, //[15] -0.1200513e+1, //[16] -0.2591550e+1, //[17] -0.1400145e+1, //[18] 0.8263017 //[19] }; static const double d[]={ 0, //[0] 1, //[1] 2, //[2] 5, //[3] 1, //[4] 1, //[5] 3, //[6] 8, //[7] 4, //[8] 4, //[9] 4, //[10] 8, //[11] 3, //[12] 5, //[13] 1, //[14] 1, //[15] 3, //[16] 1, //[17] 2, //[18] 3 //[19] }; static const double t[]={ 0.0, //[0] 1.0/4.0, //[1] 1.0, //[2] -1.0/4.0, //[3] -1.0, //[4] 2.0, //[5] 2.0, //[6] 3.0/4.0, //[7] 1.0/4.0, //[8] 18.0, //[9] 26.0, //[10] -1.0, //[11] 25.0, //[12] 7.0/4.0, //[13] 4.0, //[14] 5.0, //[15] 1.0, //[16] 3.0/2.0, //[17] 1.0, //[18] 1.0/2.0 //[19] }; static const double c[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 0, //[8] 4, //[9] 3, //[10] 1, //[11] 4, //[12] 1, //[13] 2, //[14] 2, //[15] 1, //[16] 1, //[17] 1, //[18] 1 //[19] }; static const double a0[]={ -8.258096, //[0] 6.353098, //[1] 3.004486, //[2] 1.160761, //[3] 2.645151, //[4] 5.794987, //[5] 1.129475 //[6] }; static const double n0[]={ 0.0, //[0] 0.0, //[1] 0.0, //[2] 2.2718538, //[3] 11.9144210, //[4] 5.1415638, //[5] 32.7682170 //[6] }; std::vector<double> a0_v(a0,a0+sizeof(a0)/sizeof(double)); std::vector<double> n0_v(n0,n0+sizeof(n0)/sizeof(double)); phirlist.push_back(new phir_power(n,d,t,c,1,19,20)); // return log(delta)+a0[0]+a0[1]*tau+a0[2]*log(tau)+a0[3]*log(1-exp(-n0[3]*tau))+a0[4]*log(1-exp(-n0[4]*tau))+a0[5]*log(1-exp(-n0[5]*tau))+a0[6]*log(1-exp(-n0[6]*tau)); phi0list.push_back(new phi0_lead(a0[0],a0[1])); phi0list.push_back(new phi0_logtau(a0[2])); phi0list.push_back(new phi0_Planck_Einstein(a0_v,n0_v,3,6)); // Critical parameters crit.rho = 8.1500846*52.024; crit.p = PressureUnit(5782, UNIT_KPA); crit.T = 351.255; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 52.024; params.Ttriple = 136.34; params.ptriple = 0.0480073825051; params.accentricfactor = 0.2769; params.R_u = 8.314471; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 435.0; limits.pmax = 70000.0; limits.rhomax = 27.4734*params.molemass; EOSReference.assign("Tillner-Roth, R. and Yokozeki, A.," " \"An international standard equation of state for difluoromethane (R-32)" " for temperatures from the triple point at 136.34 K to 435 K and pressures" " up to 70 MPa,\"" " J. Phys. Chem. Ref. Data, 26(6):1273-1328, 1997."); TransportReference.assign("Surface Tension: R. Heide, \"The surface tension of HFC refrigerants and mixtures\", Int J. Refrig. Vol. 20, No. 7, pp. 496-503, 1997"); name.assign("R32"); ECSReferenceFluid = "Propane"; BibTeXKeys.EOS = "TillnerRoth-JPCRD-1997"; BibTeXKeys.ECS_LENNARD_JONES = "Huber-IECR-2003"; BibTeXKeys.ECS_FITS = "Huber-IECR-2003"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }