R161Class::R161Class() { double n[] = {0.0, 1.511, -2.3, -0.457, 0.1683, 0.04133, 0.62187, -0.0265, -1.03, -0.285, -0.476, 0.82, -0.3532, -0.116, -0.0220583, -1.63148}; double t[] = {0, 0.37, 0.97, 1.14, 0.744, 1, 1.26, 1, 1.8, 3, 2.25, 1, 1.2, 5.3, 1, 4}; double d[] = {0, 1, 1, 2, 3, 4, 2, 7, 1, 2, 3, 1, 1, 3, 3, 3}; double c[] = {0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0}; double eta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.96, 1.35, 1.26, 1.23, 16.8}; double beta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.7, 5.2, 3.9, 4.7, 413}; double gamma[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9, 0.69, 0.67, 0.67, 1.15}; double epsilon[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.683, 0.892, 0.785, 1.33, 0.86}; //Critical parameters crit.rho = 6.28*48.0595; //[kg/m^3] crit.p = PressureUnit(5010, UNIT_KPA); //[kPa] crit.T = 375.25; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 48.0595; params.Ttriple = 130; params.accentricfactor = 0.21624284106618674; params.R_u = 8.314472; params.ptriple = 0.005512; // Limits of EOS limits.Tmin = 130; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; 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)); const double a0 = -6.9187, a1 = 5.4788, n0 = 4; phi0list.push_back(new phi0_lead(a0, a1)); phi0list.push_back(new phi0_logtau(n0-1)); const double u0[] = {0, 420/crit.T, 1548/crit.T, 3882/crit.T}; const double v0[] = {0, 2.059, 9.253, 6.088}; std::vector<double> u0_v(u0,u0+sizeof(u0)/sizeof(double)); std::vector<double> v0_v(v0,v0+sizeof(v0)/sizeof(double)); phi0list.push_back(new phi0_Planck_Einstein(v0_v,u0_v,1,3)); EOSReference.assign("Jiangtao Wu and Yong Zhou, \"An Equation of State for Fluoroethane (R161)\", Int J Thermophys (2012) 33:220–234"); TransportReference.assign("Using ECS in fully predictive mode."); name.assign("R161"); aliases.push_back(std::string("R161")); REFPROPname.assign("R161"); BibTeXKeys.EOS = "Wu-IJT-2012"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R125Class::R125Class() { double n[] = {0.0, 5.280760, -8.676580, 0.7501127, 0.7590023, 0.01451899, 4.777189, -3.330988, 3.775673, -2.290919, 0.8888268, -0.6234864, -0.04127263, -0.08455389, -0.1308752, 0.008344962, -1.532005, -0.05883649, 0.02296658}; double t[] = {0, 0.669, 1.05, 2.75, 0.956, 1.00, 2.00, 2.75, 2.38, 3.37, 3.47, 2.63, 3.45, 0.72, 4.23, 0.20, 4.5, 29.0, 24.0}; double d[] = {0, 1, 1, 1, 2, 4, 1, 1, 2, 2, 3, 4, 5, 1, 5, 1, 2, 3, 5}; double l[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 2, 3, 3}; double m[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.7, 7.0, 6.0}; //Critical parameters crit.rho = 4.779*120.0214; //[kg/m^3] crit.p = PressureUnit(3617.7, UNIT_KPA); //[kPa] crit.T = 339.173; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 120.0214; params.Ttriple = 172.52; params.accentricfactor = 0.3052; params.R_u = 8.314472; params.ptriple = 2.914; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_Lemmon2005( n,d,t,l,m,1,18,19)); const double a1 = 37.2674, a2 = 8.88404, a3 = -49.8651; phi0list.push_back(new phi0_lead(a1,a2)); phi0list.push_back(new phi0_logtau(-1)); phi0list.push_back(new phi0_power(a3,-0.1)); double a[] = {0,0,0,0, 2.303, 5.086, 7.3}; double b[] = {0,0,0,0, 0.92578, 2.22895, 5.03283}; std::vector<double> a_v(a,a+sizeof(a)/sizeof(double)); std::vector<double> b_v(b,b+sizeof(b)/sizeof(double)); phi0list.push_back(new phi0_Planck_Einstein(a_v,b_v,4,6)); EOSReference.assign("Lemmon-JPCRD-2005"); TransportReference.assign("Viscosity: Huber IECR 2006\n\n Conductivity: Perkins JCED 2006"); name.assign("R125"); REFPROPname.assign("R125"); BibTeXKeys.EOS = "Lemmon-JPCRD-2005"; BibTeXKeys.VISCOSITY = "Huber-IECR-2006"; BibTeXKeys.CONDUCTIVITY = "Perkins-JCED-2006"; BibTeXKeys.ECS_LENNARD_JONES = "Huber-IECR-2006"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
UndecaneClass::UndecaneClass() { double n[] = {0.0, -0.66172706, 1.3375396, -2.5608399, 0.10678910, 0.28873614e-3, 0.49587209e-1, 0.55407101e-7, 0.99754712, 1.5774025, 0.13108354e-2, -0.59326961, -0.93001876e-1, -0.17960228, -0.22560853e-1}; double t[] = {0, 1.5,0.25,1.25,0.25,0.875,1.375,0,2.375,2.0,2.125,3.5,6.5,4.75,12.5}; double d[] = {0, 1, 1, 1, 3, 7, 2, 1, 1, 2, 5, 1, 1, 4, 2}; double c[] = {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3}; //Critical parameters crit.rho = 1.5149*156.31; //[kg/m^3] crit.p = PressureUnit(1990.4, UNIT_KPA); //[kPa] crit.T = 638.8; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 156.30826; params.Ttriple = 247.541; params.accentricfactor = 0.53903710137185668; params.R_u = 8.314472; params.ptriple = 0.00044605108038132317; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n,d,t,c,1,14,15)); phi0list.push_back(new phi0_lead(0, 0)); phi0list.push_back(new phi0_logtau(-1)); double alpha[] = {-1158848, 20321.8, -119.4274, 0.4284215, -4.157728e-4, 1.61828e-7}; double beta[] = {-2, -1, 0, 1, 2, 3}; std::vector<double> alpha_v(alpha, alpha+sizeof(alpha)/sizeof(double)); std::vector<double> beta_v(beta, beta+sizeof(beta)/sizeof(double)); phi0list.push_back(new phi0_cp0_poly(alpha_v, beta_v, crit.T, 298.15, 0, 5)); EOSReference.assign("Aleksandrov, I. S. and A. A. Gerasimov and B. A. Grigor'ev \"Using Fundamental Equations of State for Calculating the Thermodynamic Properties of Normal Undecane\" Thermal Engineering, 2011, Vol. 58, No. 8, pp. 691-698"); TransportReference.assign("Using ECS in fully predictive mode."); name.assign("n-Undecane"); aliases.push_back("Undecane"); aliases.push_back(std::string("UNDECANE")); aliases.push_back(std::string("N-UNDECANE")); aliases.push_back("C11"); REFPROPname.assign("C11"); ECSReferenceFluid = "n-Dodecane"; BibTeXKeys.EOS = "Aleksandrov-TE-2011"; }
MethylStearateClass::MethylStearateClass() { double n[] = {0.0, 0.3959635e-01, 0.2466654e01, -0.3895950e01, -0.1167375, 0.4127229e-01, -0.1403734e01, -0.6465264, 0.1934675e01, -0.1608124e01, -0.1113813e-01, 0.2125325e01, -0.7772671, -0.4183684}; double d[] = {0.0, 4, 1, 1, 2, 3, 1, 3, 2, 2, 7, 1, 1, 3}; double t[] = {0.0, 1, 0.3, 1.25, 1.65, 0.8, 3.1, 3.4, 2.3, 3.8, 1.2, 3.2, 3.8, 3.8}; double c[] = {0.0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 1, 2, 2, 2}; static double eta[] = {0,0,0,0,0,0,0,0,0,0,0,1.1,1.6,1.1}; static double beta[] = {0,0,0,0,0,0,0,0,0,0,0,0.9,0.65,0.75}; static double _gamma[] = {0,0,0,0,0,0,0,0,0,0,0,1.14,0.65,0.77}; static double epsilon[] = {0,0,0,0,0,0,0,0,0,0,0,0.79,0.90,0.76}; //Critical parameters crit.rho = 0.7943*298.50382; //[kg/m^3] crit.p = PressureUnit(1239, UNIT_KPA); //[kPa] crit.T = 775; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 298.50382; // From REFPROP, not provided in paper (but should be!!) params.Ttriple = 311.84; // From REFPROP, not provided in paper params.accentricfactor = 1.01756; params.R_u = 8.314472; params.ptriple = 6.0109170319097108e-006; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n,d,t,c,1,10,14)); phirlist.push_back(new phir_gaussian(n,d,t,eta,epsilon,beta,_gamma,11,13,14)); phi0list.push_back(new phi0_lead(-1,0)); phi0list.push_back(new phi0_logtau(-1)); const double u0[] = {0, 556.17/crit.T, 1311.85/crit.T, 2825.71/crit.T}; const double v0[] = {0, 276.94/params.R_u, 408.997/params.R_u, 472.702/params.R_u}; std::vector<double> u0_v(u0,u0+sizeof(u0)/sizeof(double)); std::vector<double> v0_v(v0,v0+sizeof(v0)/sizeof(double)); phi0list.push_back(new phi0_cp0_poly(247.115/params.R_u,-0.0916606,crit.T,298)); phi0list.push_back(new phi0_Planck_Einstein(v0_v,u0_v,1,3)); name.assign("MethylStearate"); aliases.push_back(std::string("METHYLSTEARATE")); REFPROPname.assign("MSTEARAT"); ECSReferenceFluid = "Propane"; BibTeXKeys.EOS = "Huber-EF-2009"; }
DeuteriumClass::DeuteriumClass() { double n[] = {0, 0.006267958, 10.53609, -10.14149, 0.356061, 0.1824472, -1.129638, -0.0549812, -0.6791329, 1.347918, -0.8657582, 1.719146, -1.917977, 0.1233365, -0.07936891, 1.686617, -4.240326, 1.857114, -0.5903705, 1.520171, 2.361373, -2.297315}; double t[] = {0, 1, 0.462, 0.5584, 0.627, 1.201, 0.309, 1.314, 1.1166, 1.25, 1.25, 1.395, 1.627, 1, 2.5, 0.635, 0.664, 0.7082, 2.25, 1.524, 0.67, 0.709}; double d[] = {0, 4, 1, 1, 2, 3, 1, 3, 2, 2, 2, 1, 1, 3, 2, 1, 1, 2, 3, 3, 1, 3}; double c[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0}; double alpha[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.868, 0.636, 0.668, 0.65, 0.745, 0.782, 0.693}; // phi from paper double epsilon[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.46, 1.7864, 1.647, 0.541, 0.969, 1.892, 1.076}; // D from paper double beta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.613, 0.584, 0.57, 1.056, 1.01, 1.025, 1.029}; double gamma[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6306, 0.711, 0.6446, 0.8226, 0.992, 1.2184, 1.203}; //Constants for ideal gas expression double a0[] = {0, -3.54145, 3.0326, -3.52422, -1.73421, -3.57135, 2.14858, 6.23107, -3.30425, 6.23098, -3.57137, 3.32901, 0.97782}; double n0[] = {0, 7174.1/38.34, 8635/38.34, 902.7/38.34, 181.1/38.34, 438.5/38.34, 5034.2/38.34, 269.9/38.34, 229.9/38.34, 666.4/38.34, 452.8/38.34, 192/38.34, 1187.6/38.34}; phirlist.push_back(new phir_power(n,d,t,c,1,14,22)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,gamma,15,21,22)); //lead term of the form log(delta)+a1+a2*tau phi0list.push_back(new phi0_lead(-2.0677351753,2.4237151502)); phi0list.push_back(new phi0_logtau(1.5)); phi0list.push_back(new phi0_Planck_Einstein(a0,n0,1,12,13)); // Critical parameters crit.rho = 17.23*4.0282; crit.p = PressureUnit(1679.6, UNIT_KPA); crit.T = 38.34; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 4.0282; params.Ttriple = 18.724; params.ptriple = 17.202; params.accentricfactor = -0.136290274128; params.R_u = 8.3144621; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 1000.0; limits.pmax = 2000000.0; limits.rhomax = 102.0*params.molemass; name.assign("Deuterium"); aliases.push_back("deuterium"); aliases.push_back("D2"); REFPROPname.assign("D2"); BibTeXKeys.EOS = "Richardson-JPCRD-2013"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
ParaDeuteriumClass::ParaDeuteriumClass() { double n[] = {0, 0.006267958, 10.53609, -10.14149, 0.356061, 0.1824472, -1.129638, -0.0549812, -0.6791329, 1.347918, -0.8657582, 1.719146, -1.917977, 0.1233365, -0.07936891, 1.686617, -4.240326, 1.857114, -0.5903705, 1.520171, 2.361373, -2.297315}; double t[] = {0, 1, 0.462, 0.5584, 0.627, 1.201, 0.309, 1.314, 1.1166, 1.25, 1.25, 1.395, 1.627, 1, 2.5, 0.635, 0.664, 0.7082, 2.25, 1.524, 0.67, 0.709}; double d[] = {0, 4, 1, 1, 2, 3, 1, 3, 2, 2, 2, 1, 1, 3, 2, 1, 1, 2, 3, 3, 1, 3}; double c[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0}; double alpha[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.868, 0.636, 0.668, 0.65, 0.745, 0.782, 0.693}; // phi from paper double epsilon[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.46, 1.7864, 1.647, 0.541, 0.969, 1.892, 1.076}; // D from paper double beta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.613, 0.584, 0.57, 1.056, 1.01, 1.025, 1.029}; double gamma[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6306, 0.711, 0.6446, 0.8226, 0.992, 1.2184, 1.203}; //Constants for ideal gas expression double a0[] = {0, 1.28527, 1.11376, -2.491, 6.38763, 6.17406, -3.13698, -3.14254, -2.29511, -3.37, 1.13634, 0.72512}; double n0[] = {0, 5068/38.34, 1000.8/38.34, 261.5/38.34, 437.2/38.34, 312.3/38.34, 382.8/38.34, 356.8/38.34, 294.7/38.34, 682.4/38.34, 246/38.34, 277.1/38.34}; phirlist.push_back(new phir_power(n,d,t,c,1,14,22)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,gamma,15,21,22)); //lead term of the form log(delta)+a1+a2*tau phi0list.push_back(new phi0_lead(-2.0683998716, 2.4241000701)); phi0list.push_back(new phi0_logtau(1.5)); phi0list.push_back(new phi0_Planck_Einstein(a0,n0,1,11,12)); // Critical parameters crit.rho = 17.23*4.0282; crit.p = PressureUnit(1679.6, UNIT_KPA); crit.T = 38.34; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 4.0282; params.Ttriple = 18.724; params.ptriple = 17.202; params.accentricfactor = -0.136290274128; params.R_u = 8.3144621; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 1000.0; limits.pmax = 2000000.0; limits.rhomax = 102.0*params.molemass; name.assign("ParaDeuterium"); aliases.push_back("paradeuterium"); REFPROPname = "N/A"; BibTeXKeys.EOS = "Richardson-JPCRD-2013"; }
MethanolClass::MethanolClass() { double n[] = {0, 0.96352729792779e-1, -0.10848826325874e1, 0.29919647090261e-1, -0.17963419593895e-2, 0.47354317752015e-4, 0.10013578850486e+1, -0.12555691488591e+1, 0.85469725717500e0, -0.58295570793694e-1, 0.26935675584229e-1, 0.11504892676606e0, -0.51081766133636e-2, 0.19167368789348e-2, -0.28618221186953e0, 0.48168213019845e0, -0.33081091251828e0, 0.92842083313630e-1, -0.35936470747247e-1}; double d[] = {0, 1, 1, 4, 5, 7, 1, 1, 3, 4, 5, 1, 7, 9, 2, 3, 4, 6, 7}; double t[] = {0, -0.125, 1.500, 0.000, -0.875, 1.250, 0.250, 2.000, 1.750, 2.500, 2.375, 6.875, 5.875, 5.000, 18.500, 19.000, 17.500, 14.000, 12.000}; double l[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3}; // Critical parameters crit.rho = 273; crit.p = PressureUnit(8103.5, UNIT_KPA); crit.T = 512.50; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 32.04216; params.Ttriple = 175.61; params.ptriple = 0.00018629; params.accentricfactor = 0.5625; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; // Residual part phirlist.push_back(new phir_power(n,d,t,l,1,18,19)); double m = 0.977118832, epsilonbar = 5.46341463, vbarn = 0.204481952, kappabar = 0.148852832e-2; phirlist.push_back(new phir_SAFT_associating_2B(m, epsilonbar, vbarn, kappabar)); // Ideal-gas part phi0list.push_back(new phi0_lead(13.9864114647, 3.2006369296e3)); phi0list.push_back(new phi0_logtau(3.1950423807804)); phi0list.push_back(new phi0_power(-1.14289818828912e-3*crit.T, -1)); phi0list.push_back(new phi0_power(-2.62687155181005e-7*pow(crit.T,2), -2)); phi0list.push_back(new phi0_power(6.42610441977784e-11*pow(crit.T,3), -3)); phi0list.push_back(new phi0_Planck_Einstein( 4.70118076896145, 3.7664265756)); name.assign("Methanol"); aliases.push_back("methanol"); aliases.push_back(std::string("METHANOL")); REFPROPname.assign("METHANOL"); BibTeXKeys.EOS = "Piazza-FPE-2013"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R143AClass::R143AClass() { double n [] = {0, 7.7736443, -8.7018500, -0.27779799, 0.14609220, 0.0089581616, -0.20552116, 0.10653258, 0.023270816, -0.013247542, -0.042793870, 0.36221685, -0.25671899, -0.092326113, 0.083774837, 0.017128445, -0.017256110, 0.0049080492}; double d [] = {0, 1, 1, 1, 2, 5, 1, 3, 5, 7, 1, 2, 2, 3, 4, 2, 3, 5}; double t [] = {0, 0.67, 0.833, 1.7, 1.82, 0.35, 3.9, 0.95, 0.0, 1.19, 7.2, 5.9, 7.65, 7.5, 7.45, 15.5, 22.0, 19.0}; double l [] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3}; //Critical parameters crit.rho = 5.12845*84.041; //[kg/m^3] crit.p = PressureUnit(3761, UNIT_KPA); //[kPa] crit.T = 345.857; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 84.041; params.Ttriple = 161.34; params.ptriple = 1.077; params.accentricfactor = 0.261489646224; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n,d,t,l,1,17,18)); // lead term: log(delta)+c+m*tau phi0list.push_back(new phi0_lead(5.903087, 7.307253)); phi0list.push_back(new phi0_logtau(-1)); phi0list.push_back(new phi0_cp0_poly(1.0578,0.33,crit.T,273.15)); phi0list.push_back(new phi0_Planck_Einstein(4.4402, 1791/crit.T)); phi0list.push_back(new phi0_Planck_Einstein(3.7515, 823/crit.T)); EOSReference.assign("Eric W. Lemmon and Richard T. Jacobsen, \"An International Standard Formulation for the Thermodynamic Properties of 1,1,1-Trifluoroethane (HFC-143a) for Temperatures From 161 to 450 K and Pressures to 50 MPa,\" J. Phys. Chem. Ref. Data, Vol. 29, No. 4, 2000"); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("R143a"); aliases.push_back("R143A"); REFPROPname.assign("R143A"); BibTeXKeys.EOS = "LemmonJacobsen-JPCRD-2000"; BibTeXKeys.ECS_LENNARD_JONES = "McLinden-IJR-2000"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R124Class::R124Class() { double n[] = {0.0, -0.1262962e-1, 0.2168373e1, -0.3330033e1, 0.1610361e0, -0.9666145e-4, 0.1191310e-1, -0.2880217e-2, 0.1681346e-2, 0.1594968e-4, 0.1289674e0, 0.1182213e-4, -0.4713997e0, -0.2412873e0, 0.6868066e0, -0.8621095e-1, 0.4728645e-5, 0.1487933e-1, -0.3001338e-1, 0.1849606e-2, 0.4126073e-3}; double t[] = {0, 2, 0.5, 1, 0.5, 2.5, -1, 1, 0, -0.5, 1.5, 1, 2.5, -0.25, 1, 5, 2, 15, 20, 15, 45}; double d[] = {0, 1, 1, 1, 2, 2, 3, 5, 6, 8, 2, 12, 1, 1, 1, 1, 15, 3, 3, 4, 9}; double c[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 4, 4}; //Critical parameters crit.rho = 560; //[kg/m^3] crit.p = PressureUnit(3624.295, UNIT_KPA); //[kPa] crit.T = 395.425; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 136.4762; params.Ttriple = 75; params.accentricfactor = 0.28809508422142915; params.R_u = 8.314471; params.ptriple = 2.67380659624e-05; // Limits of EOS limits.Tmin = 120; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n,d,t,c,1,20,21)); double a0[] = {0, -11.669406, 9.8760443, 2.175638, -7.389735, 0.8736831, -0.1115133}; double t0[] = {0, 0, 0, 0, -1, -2, -3}; phi0list.push_back(new phi0_lead(a0[1],a0[2])); phi0list.push_back(new phi0_logtau(a0[3])); phi0list.push_back(new phi0_power(a0,t0,4,7,8)); name.assign("R124"); REFPROPname.assign("R124"); ECSReferenceFluid = "Propane"; BibTeXKeys.EOS = "deVries-ICR-1995"; BibTeXKeys.ECS_FITS = "Huber-IECR-2003"; BibTeXKeys.ECS_LENNARD_JONES = "Huber-IECR-2003"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R113Class::R113Class() { double n[] = {0, 8.432092286E-01, -2.019185967E+00, 2.920612996E-01, 5.323107661E-02, 3.214971931E-03, 4.667858574E-05, -1.227522799E-06, 8.167288718E-01, -1.340790803E+00, 4.065752705E-01, -1.534754634E-01, -2.414435149E-02, -2.113056197E-02, -3.565436205E-02, 1.364654968E-03, -1.251838755E-02, -1.385761351E-03, 7.206335486E-04}; double t[] = {0, 0.5, 1.5, 1.5, -0.5, 2, 0, 3, -0.5, 0, 2, 1.5, 6, 2, 10, 6, 18, 15, 33}; double d[] = {0, 1, 1, 2, 3, 4, 8, 8, 3, 3, 3, 5, 1, 2, 2, 9, 3, 7, 8}; double c[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4}; //Critical parameters crit.rho = 560; //[kg/m^3] crit.p = PressureUnit(3.3922e+006, UNIT_PA); //[Pa] crit.T = 487.21; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 187.375; params.Ttriple = 236.93; params.accentricfactor = 0.252535; params.R_u = 8.314471; params.ptriple = 1.87; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power(n,d,t,c,1,18,19)); const double a0[] = {0, 0.131479282e2, -0.540537150e1, 0.299999660e1, 0.124464495e2, 0.272181845e1, 0.692712415, 0.332248298e1}; const double n0[] = {0, 0, 0, 0, 0.104971737e1, 0.329788641e1, 0.862650812e1, 0.329670446e1}; 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,n0,4,7,8)); name.assign("R113"); REFPROPname.assign("R113"); ECSReferenceFluid = "R134a"; BibTeXKeys.EOS = "Marx-BOOK-1992"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
NeonClass::NeonClass() { double n[] = {0, 3.532653449, -4.513954384, -0.1524027959, 2.188568609, -7.44299997, 7.755627402, -3.122553128, 1.014206899, -0.05289214086, 0.1566849239, -0.2228527050, -0.01410150942, 0.07036229719, -0.05882048367, 0.01571172741, 0.001292202769, 0.0007902035603, -0.0003794403616, 0.04652799333, 0.04524001818, -0.2383421991, 0.00629359013, -0.001272313644, -1.75235256E-07, 0.007188419232, -0.05403006914, 0.07578222187, -0.03808588254, 0.006034022431}; double d[] = {0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 6, 6, 6, 1, 2, 2, 2, 2, 2, 4, 8, 8, 8, 8}; double t[] = {0, 0.5, 0.75, 3.5, 0.5, 0.75, 1, 1.5, 2.5, 0.25, 0.5, 2.5, 1, 3, 4, 5, 1, 5, 6, 4, 1, 5, 8, 12, 32, 10, 6, 7, 8, 9}; double c[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 4, 6, 6, 2, 2, 2, 2, 2}; phirlist.push_back(new phir_power(n,d,t,c,1,29,30)); // Critical parameters crit.rho = 23.882*20.179; crit.p = PressureUnit(2680.0, UNIT_KPA); crit.T = 44.4918; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 20.179; params.Ttriple = 24.56; params.ptriple = 43.432339578188873; params.accentricfactor = -0.038449299273685900; params.R_u = 8.31434; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 2000.0; limits.pmax = 1000000.0; limits.rhomax = 50.65*params.molemass; //Constants for ideal gas expression phi0list.push_back(new phi0_lead(0,0)); phi0list.push_back(new phi0_logtau(1.5)); name.assign("Neon"); aliases.push_back("neon"); aliases.push_back(std::string("NEON")); REFPROPname.assign("Neon"); ECSReferenceFluid = "Nitrogen"; BibTeXKeys.EOS = "Katti-ACE-1986"; BibTeXKeys.ECS_LENNARD_JONES = "Poling-BOOK-2001"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R12Class::R12Class() { double n[] = {0, 2.075343402E+00, -2.962525996E+00, 1.001589616E-02, 1.781347612E-02, 2.556929157E-02, 2.352142637E-03, -8.495553314E-05, -1.535945599E-02, -2.108816776E-01, -1.654228806E-02, -1.181316130E-02, -4.160295830E-05, 2.784861664E-05, 1.618686433E-06, -1.064614686E-01, 9.369665207E-04, 2.590095447E-02, -4.347025025E-02, 1.012308449E-01, -1.100003438E-01, -3.361012009E-03, 3.789190008E-04}; double t[] = {0, 0.5, 1, 2, 2.5, -0.5, 0, 0, -0.5, 1.5, 2.5, -0.5, 0, 0.5, -0.5, 4, 4, 2, 4, 12, 14, 0, 14}; double d[] = {0, 1, 1, 1, 2, 4, 6, 8, 1, 1, 5, 7, 12, 12, 14, 1, 9, 1, 1, 3, 3, 5, 9}; double c[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4}; //Critical parameters crit.rho = 565; //[kg/m^3] crit.p = PressureUnit(4136.1, UNIT_KPA); //[kPa] crit.T = 385.12; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 120.913; params.Ttriple = 116.099; params.accentricfactor = 0.17947831734355124; params.R_u = 8.314471; params.ptriple = 0.000242549651843; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power(n,d,t,c,1,22,23)); const double a0[] = {0, 0.100100905e2, -0.466434985e1, 0.300361975e1, 0.316062357e1, 0.371258136, 0.356226039e1, 0.212152336e1}; const double n0[] = {0, 0, 0, 0, 0.372204562e1, 0.630985083e1, 0.178037889e1, 0.107087607e1}; 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,n0,4,7,8)); name.assign("R12"); REFPROPname.assign("R12"); ECSReferenceFluid = "R134a"; BibTeXKeys.EOS = "Marx-BOOK-1992"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
HFE143mClass::HFE143mClass() { double n[] = {0.0, 0.77715884e+01, -0.87042570e+01, -0.28095049e+00, 0.14540153e+00, 0.92291277e-02, -0.21416510e+00, 0.99475155e-01, 0.23247135e-01, -0.12873573e-01, -0.57366549e-01, 0.36504650e+00, -0.25433763e+00, -0.90896436e-01, 0.83503619e-01, 0.15477603e-01, -0.16641941e-01, 0.52410163e-02}; double t[] = {0, 0.682, 0.851, 1.84, 1.87, 0.353, 3.92, 1.14, 0.104, 1.19, 6.58, 6.73, 7.99, 7.31, 7.45, 16.5, 24.8, 10.5}; double d[] = {0, 1, 1, 1, 2, 5, 1, 3, 5, 7, 1, 2, 2, 3, 4, 2, 3, 5}; double l[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3}; //Critical parameters crit.rho = 4.648140744*100.04; //[kg/m^3] crit.p = PressureUnit(3635, UNIT_KPA); //[kPa] crit.T = 377.921; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 100.04; params.Ttriple = 240; params.accentricfactor = 0.28887136567003235; params.R_u = 8.314472; params.ptriple = 65.359393007; // Limits of EOS limits.Tmin = 240; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n,d,t,l,1,17,18)); double T0 = 273.15, p0 = 256.64, R_u = 8.314472, R_= R_u/params.molemass, rho0=p0/(R_*T0), m, c, H0 = 40617.6, /// kJ/kmol S0 = 174.758, /// kJ/kmol/K tau0=crit.T/T0, delta0=rho0/crit.rho; // log(delta)+c+m*tau /// c is the constant term c=-S0/R_u-1+log(tau0/delta0);/*<< from the leading term*/ /// m multiplies the tau term in the leading term (slope) m=H0/(R_u*crit.T); /*<< from the leading term */ double N[] = {20.37, 0.2918, -1.950e-4, 4.650e-8}; phi0list.push_back(new phi0_lead(c,m)); phi0list.push_back(new phi0_logtau(-1.0)); phi0list.push_back(new phi0_cp0_constant(N[0]/R_u,crit.T,T0)); phi0list.push_back(new phi0_cp0_poly(N[1]/R_u,1,crit.T,T0)); phi0list.push_back(new phi0_cp0_poly(N[2]/R_u,2,crit.T,T0)); phi0list.push_back(new phi0_cp0_poly(N[3]/R_u,3,crit.T,T0)); EOSReference.assign("Ryo Akasaka and Yohei Kayukawa \" A fundamental equation of state for trifluoromethyl methyl ether (HFE-143m) and its application to refrigeration cycle analysis \" International Journal of Refrigeration 35 (2012) 1003-1013 "); TransportReference.assign("Using ECS in fully predictive mode."); name.assign("HFE143m"); aliases.push_back("HFE-143m"); aliases.push_back("HFE143M"); aliases.push_back("HFE-143M"); aliases.push_back("RE143A"); aliases.push_back("RE143a"); REFPROPname.assign("RE143A"); BibTeXKeys.EOS = "Akasaka-IJR-2012"; }
MethaneClass::MethaneClass() { double _n[] = {0, 4.367901028E-02, 6.709236199E-01, -1.765577859E+00, 8.582330241E-01, -1.206513052E+00, 5.120467220E-01, -4.000010791E-04, -1.247842423E-02, 3.100269701E-02, 1.754748522E-03, -3.171921605E-06, -2.240346840E-06, 2.947056156E-07, 1.830487909E-01, 1.511883679E-01, -4.289363877E-01, 6.894002446E-02, -1.408313996E-02, -3.063054830E-02, -2.969906708E-02, -1.932040831E-02, -1.105739959E-01, 9.952548995E-02, 8.548437825E-03, -6.150555662E-02, -4.291792423E-02, -1.813207290E-02, 3.445904760E-02, -2.385919450E-03, -1.159094939E-02, 6.641693602E-02, -2.371549590E-02, -3.961624905E-02, -1.387292044E-02, 3.389489599E-02, -2.927378753E-03, 9.324799946E-05, -6.287171518E+00, 1.271069467E+01, -6.423953466E+00}; double _d[] = {0, 1, 1, 1, 2, 2, 2, 2, 3, 4, 4, 8, 9, 10, 1, 1, 1, 2, 4, 5, 6, 1, 2, 3, 4, 4, 3, 5, 5, 8, 2, 3, 4, 4, 4, 5, 6, 2, 0, 0, 0}; double _t[] = {0, -0.5, 0.5, 1, 0.5, 1, 1.5, 4.5, 0, 1, 3, 1, 3, 3, 0, 1, 2, 0, 0, 2, 2, 5, 5, 5, 2, 4, 12, 8, 10, 10, 10, 14, 12, 18, 22, 18, 14, 2, 0, 1, 2}; double _l[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2}; double _eta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 40, 40, 40}; double _epsilon[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1}; double _beta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 250, 250, 250}; double _gamma[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.07, 1.11, 1.11, 1.11}; std::vector<double> n_v(_n,_n+sizeof(_n)/sizeof(double)); std::vector<double> d_v(_d,_d+sizeof(_d)/sizeof(double)); std::vector<double> t_v(_t,_t+sizeof(_t)/sizeof(double)); std::vector<double> l_v(_l,_l+sizeof(_l)/sizeof(double)); std::vector<double> eta_v(_eta,_eta+sizeof(_eta)/sizeof(double)); std::vector<double> epsilon_v(_epsilon,_epsilon+sizeof(_epsilon)/sizeof(double)); std::vector<double> beta_v(_beta,_beta+sizeof(_beta)/sizeof(double)); std::vector<double> gamma_v(_gamma,_gamma+sizeof(_gamma)/sizeof(double)); //Critical parameters crit.rho = 10.139128*16.0428; //[kg/m^3] crit.p = PressureUnit(4599.2,UNIT_KPA); //[kPa] crit.T = 190.564; //[K] crit.v = 1/crit.rho; // Reducing parameters used in EOS reduce.p = PressureUnit(4599.2, UNIT_KPA); reduce.T = 190.564; //[K] reduce.rho = 10.139128*16.0428; //[kg/m^3] reduce.v = 1.0/reduce.rho; preduce = &reduce; // Other fluid parameters params.molemass = 16.0428; params.Ttriple = 90.6941; params.ptriple = 11.696; params.accentricfactor = 0.01142; params.R_u = 8.31451; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n_v,d_v,t_v,l_v,1,36)); phirlist.push_back(new phir_gaussian( n_v,d_v,t_v,eta_v,epsilon_v,beta_v,gamma_v,37,40)); double _theta [] ={0,0,0,0,3.400432401,10.26951575,20.43932747,29.93744884,79.13351945}; std::vector<double> theta_v (_theta,_theta+sizeof(_theta)/sizeof(double)); double _n0 [] ={0,9.91243972,-6.33270087,3.0016,0.008449,4.6942,3.4865,1.6572,1.4115}; std::vector<double> n0_v (_n0,_n0+sizeof(_n0)/sizeof(double)); // lead term: log(delta)+c+m*tau phi0list.push_back(new phi0_lead(n0_v[1], n0_v[2])); phi0list.push_back(new phi0_logtau(n0_v[3])); phi0list.push_back(new phi0_Planck_Einstein(n0_v,theta_v,4,8)); EOSReference.assign("Setzmann, U. and Wagner, W., \"A New Equation of State and Tables of Thermodynamic Properties for Methane Covering the Range from the Melting Line to 625 K at Pressures up to 1000 MPa,\" J. Phys. Chem. Ref. Data, 20(6):1061-1151, 1991."); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("Methane"); aliases.push_back("CH4"); aliases.push_back("methane"); aliases.push_back("METHANE"); REFPROPname.assign("METHANE"); BibTeXKeys.EOS = "Setzmann-JPCRD-1991"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
IsoButaneClass::IsoButaneClass() { double _n [] = {0, 2.0686820727966E+00, -3.6400098615204E+00, 5.1968754427244E-01, 1.7745845870123E-01, -1.2361807851599E-01, 4.5145314010528E-02, 3.0476479965980E-02, 7.5508387706302E-01, -8.5885381015629E-01, 3.6324009830684E-02, -1.9548799450550E-02, -4.4452392904960E-03, 4.6410763666460E-03, -7.1444097992825E-02, -8.0765060030713E-02, 1.5560460945053E-01, 2.0318752160332E-03, -1.0624883571689E-01, 3.9807690546305E-02, 1.6371431292386E-02, 5.3212200682628E-04, -7.8681561156387E-03, -3.0981191888963E-03, -4.2276036810382E-02, -5.3001044558079E-03}; double _l[]= {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 0, 0}; double _d[]= {0, 1, 1, 1, 2, 3, 4, 4, 1, 1, 2, 7, 8, 8, 1, 2, 3, 3, 4, 5, 5, 10, 2, 6, 1, 2}; double _t[]= {0, 0.5, 1, 1.5, 0, 0.5, 0.5, 0.75, 2, 2.5, 2.5, 1.5, 1, 1.5, 4, 7, 3, 7, 3, 1, 6, 0, 6, 13, 2, 0}; double _eta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10}; double _epsilon[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.85, 1}; double _beta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 200}; double _gamma[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.16, 1.13}; std::vector<double> n_v(_n,_n+sizeof(_n)/sizeof(double)); std::vector<double> d_v(_d,_d+sizeof(_d)/sizeof(double)); std::vector<double> t_v(_t,_t+sizeof(_t)/sizeof(double)); std::vector<double> l_v(_l,_l+sizeof(_l)/sizeof(double)); std::vector<double> eta_v(_eta,_eta+sizeof(_eta)/sizeof(double)); std::vector<double> epsilon_v(_epsilon,_epsilon+sizeof(_epsilon)/sizeof(double)); std::vector<double> beta_v(_beta,_beta+sizeof(_beta)/sizeof(double)); std::vector<double> gamma_v(_gamma,_gamma+sizeof(_gamma)/sizeof(double)); //Critical parameters crit.rho = 225.5; //[kg/m^3] crit.p = PressureUnit(3629,UNIT_KPA); //[kPa] crit.T = 407.817; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 58.12220; params.Ttriple = 113.73; params.ptriple = 2.28968758984e-05; params.accentricfactor = 0.183531783208; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n_v,d_v,t_v,l_v,1,23)); phirlist.push_back(new phir_gaussian( n_v,d_v,t_v,eta_v,epsilon_v,beta_v,gamma_v,24,25)); double _theta [] ={0,0,0,0,0.951277902,2.387895885,4.346904269,10.36885864}; std::vector<double> theta_v (_theta,_theta+sizeof(_theta)/sizeof(double)); double _n0 [] ={0,11.60865546,-5.29450411,3.05956619,4.94641014,4.09475197,15.6632824,9.73918122}; std::vector<double> n0_v (_n0,_n0+sizeof(_n0)/sizeof(double)); // lead term: log(delta)+c+m*tau phi0list.push_back(new phi0_lead(n0_v[1], n0_v[2])); phi0list.push_back(new phi0_logtau(n0_v[3])); phi0list.push_back(new phi0_Planck_Einstein(n0_v,theta_v,4,7)); EOSReference.assign("Buecker, D. and Wagner, W. \"Reference Equations of State for the Thermodynamic Properties of Fluid Phase n-Butane and Isobutane,\" J. Phys. Chem. Ref. Data, Vol. 35, No. 2, 2006, 929-1019."); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("IsoButane"); aliases.push_back("isobutane"); aliases.push_back("Isobutane"); aliases.push_back("ISOBUTANE"); aliases.push_back("R600A"); aliases.push_back("R600a"); REFPROPname.assign("ISOBUTAN"); // Adjust to the IIR reference state (h=200 kJ/kg, s = 1 kJ/kg for sat. liq at 0C) params.HSReferenceState = "IIR"; BibTeXKeys.EOS = "Buecker-JPCRD-2006B"; BibTeXKeys.VISCOSITY = "Vogel-IJT-2000"; BibTeXKeys.ECS_LENNARD_JONES = "Vogel-IJT-2000"; BibTeXKeys.CONDUCTIVITY = "Perkins-JCED-2002B"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
EthaneClass::EthaneClass() { double n[] = {0.0, 0.83440745735241, //[1] -1.4287360607171, //[2] 0.34430242210927, //[3] -0.42096677920265, //[4] 0.012094500886549, //[5] -0.57976201597341, //[6] -0.033127037870838, //[7] -0.1175165489413, //[8] -0.11160957833067, //[9] 0.062181592654406, //[10] 0.098481795434443, //[11] -0.098268582682358, //[12] -0.00023977831007049, //[13] 0.00069885663328821, //[14] 0.000019665987803305, //[15] -0.014586152207928, //[16] 0.046354100536781, //[17] 0.0060764622180645, //[18] -0.0026447330147828, //[19] -0.042931872689904, //[20] 0.0029987786517263, //[21] 0.005291933517501, //[22] -0.0010383897798198, //[23] -0.054260348214694, //[24] -0.21959362918493, //[25] 0.35362456650354, //[26] -0.12477390173714, //[27] 0.18425693591517, //[28] -0.16192256436754, //[29] -0.082770876149064, //[30] 0.050160758096437, //[31] 0.0093614326336655, //[32] -0.00027839186242864, //[33] 0.000023560274071481, //[34] 0.0039238329738527, //[35] -0.00076488325813618, //[36] -0.004994430444073, //[37] 0.0018593386407186, //[38] -0.00061404353331199, //[39] -0.0023312179367924, //[40] 0.002930104790876, //[41] -0.00026912472842883, //[42] 184.13834111814, //[43] -10.397127984854, //[44] }; double d[] = {0, 1, //[1] 1, //[2] 2, //[3] 2, //[4] 4, //[5] 1, //[6] 1, //[7] 2, //[8] 2, //[9] 3, //[10] 6, //[11] 6, //[12] 7, //[13] 9, //[14] 10, //[15] 2, //[16] 4, //[17] 4, //[18] 5, //[19] 5, //[20] 6, //[21] 8, //[22] 9, //[23] 2, //[24] 3, //[25] 3, //[26] 3, //[27] 4, //[28] 4, //[29] 5, //[30] 5, //[31] 6, //[32] 11, //[33] 14, //[34] 3, //[35] 3, //[36] 4, //[37] 8, //[38] 10, //[39] 1, //[40] 1, //[41] 3, //[42] 3, //[43] 2 //[44] }; double t[] = {0, 0.25, //[1] 1, //[2] 0.25, //[3] 0.75, //[4] 0.75, //[5] 2, //[6] 4.25, //[7] 0.75, //[8] 2.25, //[9] 3, //[10] 1, //[11] 1.25, //[12] 2.75, //[13] 1, //[14] 2, //[15] 2.5, //[16] 5.5, //[17] 7, //[18] 0.5, //[19] 5.5, //[20] 2.5, //[21] 4, //[22] 2, //[23] 10, //[24] 16, //[25] 18, //[26] 20, //[27] 14, //[28] 18, //[29] 12, //[30] 19, //[31] 7, //[32] 15, //[33] 9, //[34] 26, //[35] 28, //[36] 28, //[37] 22, //[38] 13, //[39] 0, //[40] 3, //[41] 3, //[42] 0, //[43] 3, //[44] }; double l[] = {0, 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 1, //[6] 1, //[7] 1, //[8] 1, //[9] 1, //[10] 1, //[11] 1, //[12] 1, //[13] 1, //[14] 1, //[15] 2, //[16] 2, //[17] 2, //[18] 2, //[19] 2, //[20] 2, //[21] 2, //[22] 2, //[23] 3, //[24] 3, //[25] 3, //[26] 3, //[27] 3, //[28] 3, //[29] 3, //[30] 3, //[31] 3, //[32] 3, //[33] 3, //[34] 4, //[35] 4, //[36] 4, //[37] 4, //[38] 4, //[39] 0, //[40] 0, //[41] 0, //[42] 0, //[43] 0, //[44] }; double eta [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //[indices 0-39] 15, //[40] 15, //[41] 15, //[42] 20, //[43] 20, //[44] }; double epsilon [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //[indices 0-39] 1, //[40] 1, //[41] 1, //[42] 1, //[43] 1, //[44] }; double beta [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //[indices 0-39] 150, //[40] 150, //[41] 150, //[42] 275, //[43] 400, //[44] }; double gamma [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //[indices 0-39] 1.05, //[40] 1.05, //[41] 1.05, //[42] 1.22, //[43] 1.16, //[44] }; std::vector<double> n_v(n,n+sizeof(n)/sizeof(double)); std::vector<double> d_v(d,d+sizeof(d)/sizeof(double)); std::vector<double> t_v(t,t+sizeof(t)/sizeof(double)); std::vector<double> l_v(l,l+sizeof(l)/sizeof(double)); std::vector<double> eta_v(eta,eta+sizeof(eta)/sizeof(double)); std::vector<double> epsilon_v(epsilon,epsilon+sizeof(epsilon)/sizeof(double)); std::vector<double> beta_v(beta,beta+sizeof(beta)/sizeof(double)); std::vector<double> gamma_v(gamma,gamma+sizeof(gamma)/sizeof(double)); //Critical parameters crit.rho = 6.856886685*30.06904;// 206.18; //[kg/m^3] crit.p = PressureUnit(4872.2,UNIT_KPA); //[kPa] crit.T = 305.322; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 30.06904; params.Ttriple = 90.368; params.ptriple = 0.00114240920349; params.accentricfactor = 0.099; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n_v,d_v,t_v,l_v,1,39)); phirlist.push_back(new phir_gaussian( n_v,d_v,t_v,eta_v,epsilon_v,beta_v,gamma_v,40,44)); double _theta [] ={0,0,0,0,1.409105233,4.009917071,6.596709834,13.97981027}; std::vector<double> theta_v (_theta,_theta+sizeof(_theta)/sizeof(double)); double _n0 [] ={0,9.212802589,-4.68224855,3.003039265,1.117433359,3.467773215,6.94194464,5.970850948}; std::vector<double> n0_v (_n0,_n0+sizeof(_n0)/sizeof(double)); // lead term: log(delta)+c+m*tau phi0list.push_back(new phi0_lead(n0_v[1], n0_v[2])); phi0list.push_back(new phi0_logtau(n0_v[3])); phi0list.push_back(new phi0_Planck_Einstein(n0_v,theta_v,4,7)); EOSReference.assign("Buecker, D. and Wagner, W. \"A Reference Equation of State for the Thermodynamic Properties of Ethane for Temperatures from the Melting Line to 675 K and Pressures up to 900 MPa,\" J. Phys. Chem. Ref. Data, 35(1):205-266, 2006."); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("Ethane"); aliases.push_back("ethane"); aliases.push_back("ETHANE"); REFPROPname.assign("ETHANE"); BibTeXKeys.EOS = "Buecker-JPCRD-2006"; BibTeXKeys.VISCOSITY = "Friend-JPCRD-1991"; BibTeXKeys.CONDUCTIVITY = "Friend-JPCRD-1991"; BibTeXKeys.ECS_LENNARD_JONES = "Friend-JPCRD-1991"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
nButaneClass::nButaneClass() { double _n [] = {0, 2.5536998241635E+00, -4.4585951806696E+00, 8.2425886369063E-01, 1.1215007011442E-01, -3.5910933680333E-02, 1.6790508518103E-02, 3.2734072508724E-02, 9.5571232982005E-01, -1.0003385753419E+00, 8.5581548803855E-02, -2.5147918369616E-02, -1.5202958578918E-03, 4.7060682326420E-03, -9.7845414174006E-02, -4.8317904158760E-02, 1.7841271865468E-01, 1.8173836739334E-02, -1.1399068074953E-01, 1.9329896666669E-02, 1.1575877401010E-03, 1.5253808698116E-04, -4.3688558458471E-02, -8.2403190629989E-03, -2.8390056949441E-02, 1.4904666224681E-03}; double _l[]= {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 0, 0}; double _d[]= {0, 1, 1, 1, 2, 3, 4, 4, 1, 1, 2, 7, 8, 8, 1, 2, 3, 3, 4, 5, 5, 10, 2, 6, 1, 2}; double _t[]= {0, 0.5, 1, 1.5, 0, 0.5, 0.5, 0.75, 2, 2.5, 2.5, 1.5, 1, 1.5, 4, 7, 3, 7, 3, 1, 6, 0, 6, 13, 2, 0}; double _eta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10}; double _epsilon[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.85, 1}; double _beta[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 200}; double _gamma[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.16, 1.13}; std::vector<double> n_v(_n,_n+sizeof(_n)/sizeof(double)); std::vector<double> d_v(_d,_d+sizeof(_d)/sizeof(double)); std::vector<double> t_v(_t,_t+sizeof(_t)/sizeof(double)); std::vector<double> l_v(_l,_l+sizeof(_l)/sizeof(double)); std::vector<double> eta_v(_eta,_eta+sizeof(_eta)/sizeof(double)); std::vector<double> epsilon_v(_epsilon,_epsilon+sizeof(_epsilon)/sizeof(double)); std::vector<double> beta_v(_beta,_beta+sizeof(_beta)/sizeof(double)); std::vector<double> gamma_v(_gamma,_gamma+sizeof(_gamma)/sizeof(double)); //Critical parameters crit.rho = 228; //[kg/m^3] crit.p = PressureUnit(3796,UNIT_KPA); //[kPa] crit.T = 425.125; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 58.12220; params.Ttriple = 134.895; params.ptriple = 0.000665785834101; params.accentricfactor = 0.200810094644; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n_v,d_v,t_v,l_v,1,23)); phirlist.push_back(new phir_gaussian( n_v,d_v,t_v,eta_v,epsilon_v,beta_v,gamma_v,24,25)); double _theta [] ={0,0,0,0,0.774840445,3.340602552,4.970513096,9.975553778}; std::vector<double> theta_v (_theta,_theta+sizeof(_theta)/sizeof(double)); double _n0 [] ={0, 12.54882924,-5.46976878,3.24680487,5.54913289,11.4648996,7.59987584,9.66033239}; std::vector<double> n0_v (_n0,_n0+sizeof(_n0)/sizeof(double)); // lead term: log(delta)+c+m*tau phi0list.push_back(new phi0_lead(n0_v[1], n0_v[2])); phi0list.push_back(new phi0_logtau(n0_v[3])); phi0list.push_back(new phi0_Planck_Einstein(n0_v,theta_v,4,7)); EOSReference.assign("Buecker, D. and Wagner, W. \"Reference Equations of State for the Thermodynamic Properties of Fluid Phase n-Butane and Isobutane,\" J. Phys. Chem. Ref. Data, Vol. 35, No. 2, 2006, 929-1019."); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("n-Butane"); aliases.push_back("nButane"); aliases.push_back("butane"); aliases.push_back("BUTANE"); aliases.push_back("N-BUTANE"); REFPROPname.assign("BUTANE"); BibTeXKeys.EOS = "Buecker-JPCRD-2006B"; BibTeXKeys.VISCOSITY = "Vogel-HTHP-1999"; BibTeXKeys.CONDUCTIVITY = "Perkins-JCED-2002A"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; BibTeXKeys.ECS_LENNARD_JONES = "Vogel-HTHP-1999"; }
R1234yfClass::R1234yfClass() { static const double n[]={ 0, //[0] 0.04592563, //[1] 1.546958, //[2] -2.355237, //[3] -0.4827835, //[4] 0.1758022, //[5] -1.210006, //[6] -0.6177084, //[7] 0.6805262, //[8] -0.6968555, //[9] -0.02695779, //[10] 1.389966, //[11] -0.4777136, //[12] -0.1975184, //[13] -1.147646, //[14] 0.0003428541 //[15] }; static const double d[]={ 0, //[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, //[0] 1, //[1] 0.32, //[2] 0.929, //[3] 0.94, //[4] 0.38, //[5] 2.28, //[6] 1.76, //[7] 0.97, //[8] 2.44, //[9] 1.05, //[10] 1.4, //[11] 3, //[12] 3.5, //[13] 1, //[14] 3.5 //[15] }; static const double c[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 2, //[6] 2, //[7] 1, //[8] 2, //[9] 1, //[10] }; static const double alpha[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 0, //[8] 0, //[9] 0, //[10] 1.02, //[11] 1.336, //[12] 1.055, //[13] 5.84, //[14] 16.2, //[15] }; static const double beta[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 0, //[8] 0, //[9] 0, //[10] 1.42, //[11] 2.31, //[12] 0.89, //[13] 80, //[14] 108, //[15] }; static const double gamma[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 0, //[8] 0, //[9] 0, //[10] 1.13, //[11] 0.67, //[12] 0.46, //[13] 1.28, //[14] 1.2 //[15] }; static const double epsilon[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 0, //[8] 0, //[9] 0, //[10] 0.712, //[11] 0.91, //[12] 0.677, //[13] 0.718, //[14] 1.64 //[15] }; static const double v0[]={ 0.0, //[0] 7.549, //[1] 1.537, //[2] 2.030, //[3] 7.455, //[4] }; static const double u0[]={ // each of the ui terms are divided by the critical temp {fie on you Mr. EOS-maker} 0.0, //[0] 718/367.85, //[1] 877/367.85, //[2] 4465/367.85,//[3] 1755/367.85,//[4] }; std::vector<double> u0_v(u0,u0+sizeof(u0)/sizeof(double)); std::vector<double> v0_v(v0,v0+sizeof(v0)/sizeof(double)); phirlist.push_back(new phir_power(n,d,t,c,1,10,11)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,gamma,11,15,16)); phi0list.push_back(new phi0_lead(-12.837928,8.042605)); phi0list.push_back(new phi0_logtau(4.944)); phi0list.push_back(new phi0_Planck_Einstein(v0_v,u0_v,1,4)); // Critical parameters crit.rho = 475.553441976; crit.p = PressureUnit(3382.2, UNIT_KPA); crit.T = 367.85; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 114.0415928; params.Ttriple = 220; params.ptriple = 31.5093083629; params.accentricfactor = 0.276; params.R_u = 8.314472; // Limits of EOS limits.Tmin = 220; limits.Tmax = 410.0; limits.pmax = 30000.0; limits.rhomax = 11.64*params.molemass; EOSReference.assign("Richter, M. and M.O. McLinden and E.W. Lemmon, \"Thermodynamic Properties of 2,3,3,3-Tetrafluoroprop-1-ene" "(R1234yf): Vapor Pressure and p-rho-T Measurements and an Equation of State\"" ", J. Chem. Eng. Data, v. 56, 2011, pp 3254-3264"); TransportReference.assign("Surface Tension: Katsuyuki Tanaka, Yukihiro Higashi, \"Thermodynamic properties of HFO-1234yf (2,3,3,3-tetrafluoropropene)\", International Journal of Refrigeration 33 (2010) 474-479"); aliases.push_back("R1234YF"); name.assign("R1234yf"); BibTeXKeys.EOS = "Richter-JCED-2011"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; BibTeXKeys.CONDUCTIVITY = "Perkins-JCED-2011"; }
R410AClass::R410AClass() { static double a[]={ 36.8871, //[0] 7.15807, //[1] -46.87575, //[2] 2.0623, //[3] 5.9751, //[4] 1.5612 //[5] }; static double b[]={ 0, //[0] 0, //[1] -0.1, //[2] 2.02326, //[3] 5.00154, //[4] 11.2484 //[5] }; static double N[]={ 0.0, //[0] 0.987252, //[1] -1.03017, //[2] 1.17666, //[3] -0.138991, //[4] 0.00302373, //[5] -2.53639, //[6] -1.96680, //[7] -0.830480, //[8] 0.172477, //[9] -0.261116, //[10] -0.0745473, //[11] 0.679757, //[12] -0.652431, //[13] 0.0553849, //[14] -0.0710970, //[15] -0.000875332, //[16] 0.0200760, //[17] -0.0139761, //[18] -0.0185110, //[19] 0.0171939, //[20] -0.00482049 //[21] }; static double t[]={ 0.0, //[0] 0.44, //[1] 1.2, //[2] 2.97, //[3] 2.95, //[4] 0.2, //[5] 1.93, //[6] 1.78, //[7] 3.0, //[8] 0.2, //[9] 0.74, //[10] 3.0, //[11] 2.1, //[12] 4.3, //[13] 0.25, //[14] 7.0, //[15] 4.7, //[16] 13.0, //[17] 16.0, //[18] 25.0, //[19] 17.0, //[20] 7.4 //[21] }; static double d[]={ 0, //[0] 1, //[1] 1, //[2] 1, //[3] 2, //[4] 5, //[5] 1, //[6] 2, //[7] 3, //[8] 5, //[9] 5, //[10] 5, //[11] 1, //[12] 1, //[13] 4, //[14] 4, //[15] 9, //[16] 2, //[17] 2, //[18] 4, //[19] 5, //[20] 6 //[21] }; static double l[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 1, //[6] 1, //[7] 1, //[8] 1, //[9] 1, //[10] 1, //[11] 2, //[12] 2, //[13] 2, //[14] 2, //[15] 2, //[16] 3, //[17] 3, //[18] 3, //[19] 3, //[20] 3 //[21] }; phirlist.push_back(new phir_power(N,d,t,l,1,21,22)); /* sum=log(delta)-log(tau)+a[0]+a[1]*tau+a[2]*pow(tau,b[2]); for(k=3;k<=5;k++) { sum+=a[k]*log(1.0-exp(-b[k]*tau)); } */ phi0list.push_back(new phi0_lead(a[0],a[1])); phi0list.push_back(new phi0_logtau(-1.0)); phi0list.push_back(new phi0_power(a[2],b[2])); phi0list.push_back(new phi0_Planck_Einstein(a,b,3,5,6)); // Other fluid parameters params.molemass = 72.5854; params.Ttriple = 200.0; params.ptriple = 29.0116613767; params.accentricfactor = 0.296; params.R_u = 8.314472; isPure = false; // Critical parameters crit.rho = 459.0300696; crit.p = PressureUnit(4901.2,UNIT_KPA); crit.T = 344.494; crit.v = 1.0/crit.rho; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 50000.0; limits.rhomax = 19.51*params.molemass; EOSReference.assign("E.W. Lemmon, \"Pseudo-pure fluid Equations of State for the Refrigerant Blends R410A, R404A, R507C and R407C\"" ",Int. J. Thermophys. v. 24, n4, 2003"); TransportReference.assign("Viscosity: V. Geller, \"Viscosity of Mixed Refrigerants R404A,R407C," "R410A, and R507A\", 2000 Purdue Refrigeration conferences\n\n" "Thermal Conductivity: V.Z. Geller, B.Z. Nemzer, and U.V. Cheremnykh \"Thermal Conductivity " "of the Refrigerant mixtures R404A,R407C,R410A, and R507A\" " "Int. J. Thermophysics, v. 22, n 4 2001"); name.assign("R410A"); aliases.push_back("R410a"); BibTeXKeys.EOS = "Lemmon-IJT-2003"; BibTeXKeys.VISCOSITY = "Geller-PURDUE-2000"; BibTeXKeys.CONDUCTIVITY = "Geller-IJT-2001"; }
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"; }
R22Class::R22Class() { static const double n[]={0, 0.0695645445236, //[1] 25.2275419999, //[2] -202.351148311, //[3] 350.063090302, //[4] -223.134648863, //[5] 48.8345904592, //[6] 0.0108874958556, //[7] 0.590315073614, //[8] -0.689043767432, //[9] 0.284224445844, //[10] 0.125436457897, //[11] -0.0113338666416, //[12] -0.063138895917, //[13] 0.00974021015232, //[14] -0.000408406844722, //[15] 0.00074194877357, //[16] 0.000315912525922, //[17] 0.00000876009723338, //[18] -0.000110343340301, //[19] -0.0000705323356879, //[20] 0.23585073151, //[21] -0.192640494729, //[22] 0.00375218008557, //[23] -0.0000448926036678, //[24] 0.0198120520635, //[25] -0.0356958425255, //[26] 0.0319594161562, //[27] 0.00000260284291078, //[28] -0.00897629021967, //[29] 0.0345482791645, //[30] -0.00411831711251, //[31] 0.00567428536529, //[32] -0.00563368989908, //[33] 0.00191384919423, //[34] -0.00178930036389 //[35] }; static const double d[]={0, 1, //[1] 1, //[2] 1, //[3] 1, //[4] 1, //[5] 1, //[6] 1, //[7] 2, //[8] 2, //[9] 2, //[10] 3, //[11] 3, //[12] 4, //[13] 5, //[14] 6, //[15] 7, //[16] 7, //[17] 7, //[18] 8, //[19] 8, //[20] 2, //[21] 2, //[22] 2, //[23] 2, //[24] 3, //[25] 4, //[26] 4, //[27] 4, //[28] 4, //[29] 6, //[30] 6, //[31] 6, //[32] 8, //[33] 8, //[34] 8, //[35] }; static const double t[]={0, -1, //[1] 1.75, //[2] 2.25, //[3] 2.5, //[4] 2.75, //[5] 3, //[6] 5.5, //[7] 1.5, //[8] 1.75, //[9] 3.5, //[10] 1, //[11] 4.5, //[12] 1.5, //[13] 0.5, //[14] 4.5, //[15] 1, //[16] 4, //[17] 5, //[18] -0.5, //[19] 3.5, //[20] 5, //[21] 7, //[22] 12, //[23] 15, //[24] 3.5, //[25] 3.5, //[26] 8, //[27] 15, //[28] 25, //[29] 3, //[30] 9, //[31] 19, //[32] 2, //[33] 7, //[34] 13 //[35] }; static const double l[]={0, 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 0, //[8] 0, //[9] 0, //[10] 0, //[11] 0, //[12] 0, //[13] 0, //[14] 0, //[15] 0, //[16] 0, //[17] 0, //[18] 0, //[19] 0, //[20] 2, //[21] 2, //[22] 2, //[23] 2, //[24] 3, //[25] 2, //[26] 2, //[27] 2, //[28] 4, //[29] 2, //[30] 2, //[31] 4, //[32] 2, //[33] 2, //[34] 4 //[35] }; static const double B[]={0, 4352.3095, //[1] 1935.1591, //[2] 1887.67936, //[3] 1694.88284, //[4] 1605.67848, //[5] 1162.53424, //[6] 857.51288, //[7] 605.72638, //[8] 530.90982, //[9] 5.26140446e-3, //[10] 1.20662553e-4 //[11] }; std::vector<double> B_v(B,B+sizeof(B)/sizeof(double)); std::vector<double> b_v(10,1.0); phirlist.push_back(new phir_power(n,d,t,l,1,35,36)); double T0=273.15, p0=1.0, R_=8.31451/86.549, rho0=p0/(R_*T0), m, c, R_u=8.31451, Tc=369.295, H0 = 35874.80, /// kJ/kmol S0 = 205.2925, /// kJ/kmol/K tau0=Tc/T0, delta0=rho0/523.84216696; // log(delta)+c+m*tau /// c is the constant term c=-S0/R_u-1+log(tau0/delta0);/*<< from the leading term*/ /// m multiplies the tau term in the leading term (slope) m=H0/(R_u*Tc); /*<< from the leading term */ for (unsigned int i=1; i<=9; i++){B_v[i]/=Tc;} phi_BC * phi0_lead_ = new phi0_lead(c,m); phi_BC * phi0_logtau_ = new phi0_logtau(-1.0); phi_BC * phi0_cp0_constant_ = new phi0_cp0_constant(B[10]+4,Tc,T0);/// checked - good phi_BC * phi0_cp0_poly_ = new phi0_cp0_poly(B[11],1,Tc,T0);/// checked - good //phi_BC * phi0_cp0_exponential_ = new phi0_cp0_exponential(b_v,B_v,Tc,T0,1,9);/// checked - good phi0list.push_back(phi0_lead_); phi0list.push_back(phi0_logtau_); phi0list.push_back(phi0_cp0_constant_); phi0list.push_back(phi0_cp0_poly_); //phi0list.push_back(phi0_cp0_exponential_); phi0list.push_back(new phi0_Planck_Einstein(b_v,B_v,1,9)); // Other fluid parameters params.molemass = 86.468; params.Ttriple = 115.73; params.ptriple = 0.00037947; params.accentricfactor = 0.22082; params.R_u = 8.314510; // Critical parameters crit.rho = 6.05822*params.molemass; crit.p = PressureUnit(4990, UNIT_KPA); crit.T = 369.295; crit.v = 1.0/crit.rho; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 550.0; limits.pmax = 60000.0; limits.rhomax = 19.91*params.molemass; EOSReference.assign("Kamei, A., and S. W. Beyerlein, and R. T Jacobsen " "\"Application of Nonlinear Regression in the " "Development of a Wide Range Formulation " "for HCFC-22\"" "International Journal of Thermophysics, Vol 16, No. 5, 1995 "); TransportReference.assign("Using ECS"); name.assign("R22"); BibTeXKeys.EOS = "Kamei-IJT-1995"; BibTeXKeys.ECS_LENNARD_JONES = "McLinden-IJR-2000"; BibTeXKeys.ECS_FITS = "McLinden-IJR-2000"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
SulfurHexafluorideClass::SulfurHexafluorideClass() { double _n [] = {0, 0.54958259132835, -0.87905033269396, -0.84656969731452, 0.27692381593529, -0.49864958372345e1, 0.48879127058055e1, 0.36917081634281e-1, 0.37030130305087e-3, 0.39389132911585e-1, 0.42477413690006e-3, -0.24150013863890e-1, 0.59447650642255e-1, -0.38302880142267, 0.32606800951983, -0.29955940562031e-1, -0.86579186671173e-1, 0.41600684707562e1, -0.41398128855814e1, -0.55842159922714, 0.56531382776891, 0.82612463415545e-2, -0.10200995338080e-1, -0.21662523861406e-1, 0.34650943893908e-1, -0.28694281385812e-1, 0.84007238998053e-2, -0.26969359922498, 0.90415215646344e1, -0.37233103557977e1, -0.27524670823704e4, 0.57711861697319e4, -0.30234003119748e4, 0.22252778435360e7, -0.23056065559032e7, 0.63918852944475e7, -0.60792091415592e7}; double _l [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; double _d [] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 6, 1, 2, 2, 2, 3, 6, 2, 2, 4, 4, 2, 2, 1, 3, 4, 1, 1, 4, 3, 4, 4, 4, 1, 1, 3, 3}; double _t [] = {0, 0.125, 1.25, 1.875, 0.125, 1.5, 1.625, 1.5, 5.625, 0.625, 0.25, 6, 0.25, 4.75, 5.375, 5.875, 2, 5.875, 6, 5.625, 5.75, 0, 0.5, 4, 1, 3, 2, 4, 3, 4, 1, 2, 3, 3, 4, 3, 4}; double _eta [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 11, 25, 30, 30, 30, 30, 30, 30, 30, 30}; double _beta [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 150, 150, 150, 225, 300, 350, 350, 350, 350, 400, 400, 400, 400}; double _gamma [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.13, 1.13, 1.13, 1.16, 1.19, 1.19, 1.16, 1.16, 1.16, 1.16, 1.22, 1.22, 1.22, 1.22}; double _epsilon [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.85, 0.85, 0.85, 0.85, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; std::vector<double> n_v(_n,_n+sizeof(_n)/sizeof(double)); std::vector<double> d_v(_d,_d+sizeof(_d)/sizeof(double)); std::vector<double> t_v(_t,_t+sizeof(_t)/sizeof(double)); std::vector<double> l_v(_l,_l+sizeof(_l)/sizeof(double)); std::vector<double> eta_v(_eta,_eta+sizeof(_eta)/sizeof(double)); std::vector<double> epsilon_v(_epsilon,_epsilon+sizeof(_epsilon)/sizeof(double)); std::vector<double> beta_v(_beta,_beta+sizeof(_beta)/sizeof(double)); std::vector<double> gamma_v(_gamma,_gamma+sizeof(_gamma)/sizeof(double)); //Critical parameters crit.rho = 742.3; //[kg/m^3] crit.p = PressureUnit(3754.983, UNIT_KPA); //[kPa] crit.T = 318.7232; //[K] crit.v = 1/crit.rho; // Other fluid parameters params.molemass = 146.0554192; params.Ttriple = 223.555; params.ptriple = 231.42447394906830; params.accentricfactor = 0.21; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 100000.0; limits.rhomax = 1000000.0*params.molemass; phirlist.push_back(new phir_power( n_v,d_v,t_v,l_v,1,22)); phirlist.push_back(new phir_gaussian( n_v,d_v,t_v,eta_v,epsilon_v,beta_v,gamma_v,23,36)); double _theta [] ={0, 0, 0, 0, 1.617282065, 2.747115139, 4.232907175}; std::vector<double> theta_v (_theta,_theta+sizeof(_theta)/sizeof(double)); double _n0 [] ={0, 11.638611086, -6.392241811, 3.000000000, 3.661182320, 7.878851030, 3.459816790}; std::vector<double> n0_v (_n0,_n0+sizeof(_n0)/sizeof(double)); // lead term: log(delta)+c+m*tau phi0list.push_back(new phi0_lead(n0_v[1], n0_v[2])); phi0list.push_back(new phi0_logtau(n0_v[3])); phi0list.push_back(new phi0_Planck_Einstein(n0_v,theta_v,4,6)); EOSReference.assign("Guder C., and W. Wagner, \"A Reference Equation of State for the Thermodynamic Properties of Sulfur Hexafluoride SF6 for Temperatures from the Melting Line to 625 K and Pressures up to 150 MPa,\" J. Phys. Chem. Ref. Data, Vol. 38, No. 1, 2009"); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("SulfurHexafluoride"); aliases.push_back("SF6"); REFPROPname.assign("SF6"); BibTeXKeys.EOS = "Guder-JPCRD-2009"; BibTeXKeys.VISCOSITY = "QuinonesCisneros-JPCRD-2012"; BibTeXKeys.CONDUCTIVITY = "Assael-JPCRD-2012"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; BibTeXKeys.ECS_LENNARD_JONES = "QuinonesCisneros-JPCRD-2012"; }
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"; }
SES36Class::SES36Class() { //Constants for ideal gas expression static const double a0[]={0.0,13.09,85.26}; static const double b0 = 2197; static const double n[]={0, 0.0675748, //[1] 1.76939, //[2] -2.7609, //[3] -0.566938, //[4] 0.243576, //[5] -1.50937, //[6] -0.774081, //[7] 0.953907, //[8] -1.43736, //[9] -0.0458514, //[10] 2.46053, //[11] -0.903158, //[12] -0.288664, //[13] 0.061038, //[14] }; // 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] }; // t used for consistency with CO2 correlation (corresponds to j from Span) static const double t[]={0.00, 1, //[1] 0.3, //[2] 0.947, //[3] 1.08, //[4] 0.44, //[5] 1.7, //[6] 1.5, //[7] 1.35, //[8] 2.1, //[9] 0.97, //[10] 0.8, //[11] 2, //[12] 2.5, //[13] 4, //[14] }; // 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] }; // alpha is used here for consistency with the definitions in R744.c upon which Nitrogen.c is based // is phi_k from Span static const double eta[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 1.023, //[11] 1.383, //[12] 1, //[13] 7, //[14] }; static const double GAMMA[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 1.1, //[11] 0.64, //[12] 0.5, //[13] 1.26, //[14] }; // 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.7, //[11] 1.55, //[12] 1.07, //[13] 87, //[14] }; // 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.713, //[11] 0.917, //[12] 0.69, //[13] 0.748, //[14] }; std::vector<double> eta_v(eta,eta+sizeof(eta)/sizeof(double)); std::vector<double> epsilon_v(epsilon,epsilon+sizeof(epsilon)/sizeof(double)); std::vector<double> beta_v(beta,beta+sizeof(beta)/sizeof(double)); std::vector<double> gamma_v(GAMMA,GAMMA+sizeof(GAMMA)/sizeof(double)); phirlist.push_back(new phir_power(n,d,t,c,1,10,11)); phirlist.push_back(new phir_gaussian(n,d,t,eta,epsilon,beta,GAMMA,11,14,15)); // 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]-1)); // -1 value needed to yield the correct values for the ideal gas part phi0list.push_back(new phi0_Planck_Einstein(a0[2],b0/450.7)); // Critical parameters crit.rho = 2.8*184.85; crit.p = PressureUnit(2849,UNIT_KPA); crit.T = 450.7; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 184.85; params.Ttriple = 200; // No value given, taken from PPF Refprop file params.ptriple = 0.573325755702; //Evaluated at 200 K params.accentricfactor = 0.352; params.R_u = 8.314472; isPure = false; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 2000.0; limits.pmax = 2200000.0; limits.rhomax = 53.15*params.molemass; EOSReference.assign("Unpublished report: Monika Thol, Eric W. Lemmon, Roland Span, \"Equation of State for a Refrigerant Mixture of R365mfc (1,1,1,3,3-Pentafluorobutane) and Galden® HT 55 (Perfluoropolyether)\", "); TransportReference.assign("Using ECS in predictive mode\n\n" "Surface Tension: A. P. Fröba, H. Kremer, A. Leipertz, F. Flohr and C. Meurer, " "\"Thermophysical Properties of a Refrigerant Mixture of R365mfc (1,1,1,3,3-Pentafluorobutane) " "and Galden® HT 55 (Perfluoropolyether)\", International Journal of Thermophysics, Volume 28, " "Number 2 (2007), 449-480, DOI: 10.1007/s10765-007-0178-y"); name.assign("SES36"); BibTeXKeys.EOS = "Thol-2012"; }
HydrogenClass::HydrogenClass() { static const double n[]={0, -6.93643, 0.01, 2.1101, 4.52059, 0.732564, -1.34086, 0.130985, -0.777414, 0.351944, -0.0211716, 0.0226312, 0.032187, -0.0231752, 0.0557346 }; static const double d[]={0, 1, //[ 1] 4, //[ 2] 1, //[ 3] 1, //[ 4] 2, //[ 5] 2, //[ 6] 3, //[ 7] 1, //[ 8] 3, //[ 9] 2, //[10] 1, //[11] 3, //[12] 1, //[13] 1, //[14] }; static const double t[]={0.00, //offset for natural indices 0.6844, 1.0, 0.989, 0.489, 0.803, 1.1444, 1.409, 1.754, 1.311, 4.187, 5.646, 0.791, 7.249, 2.986 }; static const double c[]={ 0,0,0,0,0,0,0,0, // indices [0-7] 1, 1 }; // alpha instead of eta is used here for consistency with the definitions in R744.c upon which R290.c is based static const double alpha[]={ // phi from paper 0,0,0,0,0,0,0,0,0,0, // indices [0-9] 1.685, 0.489, 0.103, 2.506, 1.607 }; static const double beta[]={ 0,0,0,0,0,0,0,0,0,0, // indices [0-9] 0.171, 0.2245, 0.1304, 0.2785, 0.3967 }; static const double GAMMA[]={ 0,0,0,0,0,0,0,0,0,0, // indices [0-9] 0.7164, 1.3444, 1.4517, 0.7204, 1.5445 }; static const double epsilon[]={ // D from paper 0,0,0,0,0,0,0,0,0,0, // indices [0-9] 1.506, 0.156, 1.736, 0.67, 1.662 }; //Constants for ideal gas expression static const double a0[]={0.0, -1.4579856475, 1.888076782, 1.616, -0.4117, -0.792, 0.758, 1.217 }; static const double b0[]={0.0, 0,0, //[1 and 2 are not used] 16.0205159149, 22.6580178006, 60.0090511389, 74.9434303817, 206.9392065168 }; phirlist.push_back(new phir_power(n,d,t,c,1,9,10)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,GAMMA,10,14,15)); /* phi0=log(delta)+1.5*log(tau)+a0[1]+a0[2]*tau +a0[3]*log(1-exp(-b0[3]*tau)) +a0[4]*log(1-exp(-b0[4]*tau)) +a0[5]*log(1-exp(-b0[5]*tau)) +a0[6]*log(1-exp(-b0[6]*tau)) +a0[7]*log(1-exp(-b0[7]*tau)); */ //lead term of the form log(delta)+a1+a2*tau phi0list.push_back(new phi0_lead(a0[1],a0[2])); phi0list.push_back(new phi0_logtau(1.5)); phi0list.push_back(new phi0_Planck_Einstein(a0,b0,3,7,8)); // Critical parameters crit.rho = 15.508*2.01588; crit.p = PressureUnit(1296.4, UNIT_KPA); crit.T = 33.145; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 2.01588; params.Ttriple = 13.957; params.ptriple = 7.36205784168; params.accentricfactor = -0.219; params.R_u = 8.314472; // Limits of EOS limits.Tmin = 13.957; limits.Tmax = 1000.0; limits.pmax = 2000000.0; limits.rhomax = 102.0*params.molemass; EOSReference.assign("\"Fundamental Equations of State for Parahydrogen, Normal Hydrogen, and Orthohydrogen\"" "by J.W. Leachman and R.T. Jacobsen and S.G. Penoncello and E.W. Lemmon" ", J. Phys. Chem. Ref. Data, Vol. 38, No. 3, 2009, pp 721-748"); TransportReference.assign("Conductivity: Assael, JPCRD, 2011"); name.assign("Hydrogen"); aliases.push_back("hydrogen"); aliases.push_back("H2"); aliases.push_back("R702"); REFPROPname.assign("hydrogen"); BibTeXKeys.EOS = "Leachman-JPCRD-2009"; BibTeXKeys.VISCOSITY = "Muzny-JCED-2013"; BibTeXKeys.CONDUCTIVITY = "Assael-JPCRD-2011"; BibTeXKeys.ECS_LENNARD_JONES = "Poling-BOOK-2001"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R404AClass::R404AClass() { static const double a[]={ 7.00407, //[0] 7.98695, //[1] -18.8664, //[2] 0.63078, //[3] 3.5979, //[4] 5.0335 //[5] }; static const double b[]={ 0, //[0] 0, //[1] -0.3, //[2] 1.19617, //[3] 2.32861, //[4] 5.00188 //[5] }; static const double N[]={ 0.0, //[0] 6.10984, //[1] -7.79453, //[2] 0.0183377, //[3] 0.262270, //[4] -0.00351688, //[5] 0.0116181, //[6] 0.00105992, //[7] 0.850922, //[8] -0.520084, //[9] -0.0464225, //[10] 0.621190, //[11] -0.195505, //[12] 0.336159, //[13] -0.0376062, //[14] -0.00636579, //[15] -0.0758262, //[16] -0.0221041, //[17] 0.0310441, //[18] 0.0132798, //[19] 0.0689437, //[20] -0.0507525, //[21] 0.0161382, //[22] }; static const double t[]={ 0.0, //[0] 0.67, //[1] 0.91, //[2] 5.96, //[3] 0.7, //[4] 6.0, //[5] 0.3, //[6] 0.7, //[7] 1.7, //[8] 3.3, //[9] 7.0, //[10] 2.05, //[11] 4.3, //[12] 2.7, //[13] 1.8, //[14] 1.25, //[15] 12.0, //[16] 6.0, //[17] 8.7, //[18] 11.6, //[19] 13.0, //[20] 17.0, //[21] 16.0 //[22] }; static const int d[]={ 0, //[0] 1, //[1] 1, //[2] 1, //[3] 2, //[4] 2, //[5] 4, //[6] 6, //[7] 1, //[8] 1, //[9] 1, //[10] 2, //[11] 2, //[12] 3, //[13] 4, //[14] 7, //[15] 2, //[16] 3, //[17] 4, //[18] 4, //[19] 2, //[20] 3, //[21] 5 //[22] }; static const int l[]={ 0, //[0] 0, //[1] 0, //[2] 0, //[3] 0, //[4] 0, //[5] 0, //[6] 0, //[7] 1, //[8] 1, //[9] 1, //[10] 1, //[11] 1, //[12] 1, //[13] 1, //[14] 1, //[15] 2, //[16] 2, //[17] 2, //[18] 2, //[19] 3, //[20] 3, //[21] 3 //[22] }; std::vector<double> n_v(N,N+sizeof(N)/sizeof(double)); std::vector<double> d_v(d,d+sizeof(d)/sizeof(int)); std::vector<double> t_v(t,t+sizeof(t)/sizeof(double)); std::vector<double> l_v(l,l+sizeof(l)/sizeof(int)); std::vector<double> a0(a,a+sizeof(a)/sizeof(double)); std::vector<double> n0(b,b+sizeof(b)/sizeof(double)); phi_BC * phir_ = new phir_power(n_v,d_v,t_v,l_v,1,22); phirlist.push_back(phir_); /* sum=log(delta)-log(tau)+a[0]+a[1]*tau+a[2]*pow(tau,b[2]); for(k=3;k<=5;k++) { sum+=a[k]*log(1.0-exp(-b[k]*tau)); } */ phi_BC * phi0_lead_ = new phi0_lead(a0[0],a0[1]); phi_BC * phi0_logtau_ = new phi0_logtau(-1.0); phi_BC * phi0_power_ = new phi0_power(a0[2],n0[2]); phi_BC * phi0_Planck_Einstein_ = new phi0_Planck_Einstein(a0,n0,3,5); phi0list.push_back(phi0_lead_); phi0list.push_back(phi0_logtau_); phi0list.push_back(phi0_power_); phi0list.push_back(phi0_Planck_Einstein_); // Critical parameters (max condensing temperature) crit.rho = 482.162772; crit.p = PressureUnit(3734.8,UNIT_KPA); crit.T = 345.27; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 97.6038; params.Ttriple = 200.0; params.ptriple = 21.2656766151; params.accentricfactor = 0.293; params.R_u = 8.314472; isPure = false; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 50000.0; limits.rhomax = 14.21*params.molemass; EOSReference.assign("E.W. Lemmon, \"Pseudo-pure fluid Equations of State for the Refrigerant Blends R410A, R404A, R507C and R407C\"" ",Int. J. Thermophys. v. 24, n4, 2003"); TransportReference.assign("Viscosity: V. Geller, \"Viscosity of Mixed Refrigerants R404A,R407C," "R410A, and R507A\", 2000 Purdue Refrigeration conferences\n\n" "Thermal Conductivity: V.Z. Geller, B.Z. Nemzer, and U.V. Cheremnykh \"Thermal Conductivity " "of the Refrigerant mixtures R404A,R407C,R410A, and R507A\" " "Int. J. Thermophysics, v. 22, n 4 2001\n\n" "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("R404A"); aliases.push_back("R404a"); BibTeXKeys.EOS = "Lemmon-IJT-2003"; BibTeXKeys.VISCOSITY = "Geller-PURDUE-2000"; BibTeXKeys.CONDUCTIVITY = "Geller-IJT-2001"; BibTeXKeys.SURFACE_TENSION ="Heide-IJR-1997"; }
ParaHydrogenClass::ParaHydrogenClass() { double n [] = {0, -7.33375, 0.01, 2.60375, 4.66279, 0.68239, -1.47078, 0.135801, -1.05327, 0.328239, -0.0577833, 0.0449743, 0.0703464, -0.0401766, 0.11951}; double t [] = {0, 0.6855, 1, 1, 0.489, 0.774, 1.133, 1.386, 1.619, 1.162, 3.96, 5.276, 0.99, 6.791, 3.19}; double d [] = {0, 1, 4, 1, 1, 2, 2, 3, 1, 3, 2, 1, 3, 1, 1}; double c [] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0}; double a0 [] = {0, -1.4485891134, 1.884521239, 4.30256, 13.0289, -47.7365, 50.0013, -18.6261, 0.993973, 0.536078}; double b0 [] = {0, 0, 0, 15.14967511472, 25.0925982148, 29.4735563787, 35.4059141417, 40.724998482, 163.7925799988, 309.2173173842}; double alpha[] = {0,0,0,0,0,0,0,0,0,0,1.7437, 0.5516, 0.0634, 2.1341, 1.777}; // phi from paper double beta[] = {0,0,0,0,0,0,0,0,0,0,0.194, 0.2019, 0.0301, 0.2383, 0.3253}; double GAMMA[] = {0,0,0,0,0,0,0,0,0,0,0.8048, 1.5248, 0.6648, 0.6832, 1.493}; double epsilon[] = {0,0,0,0,0,0,0,0,0,0,1.5487, 0.1785, 1.28, 0.6319, 1.7104}; // D from paper phirlist.push_back(new phir_power(n,d,t,c,1,9,10)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,GAMMA,10,14,15)); /* phi0=log(delta)+1.5*log(tau)+a0[1]+a0[2]*tau +a0[3]*log(1-exp(-b0[3]*tau)) +a0[4]*log(1-exp(-b0[4]*tau)) +a0[5]*log(1-exp(-b0[5]*tau)) +a0[6]*log(1-exp(-b0[6]*tau)) +a0[7]*log(1-exp(-b0[7]*tau)); */ //lead term of the form log(delta)+a1+a2*tau phi_BC * phi0_lead_ = new phi0_lead(a0[1],a0[2]); phi_BC * phi0_logtau_ = new phi0_logtau(1.5); phi_BC * phi0_Planck_Einstein_ = new phi0_Planck_Einstein(a0,b0,3,9,10); phi0list.push_back(phi0_lead_); phi0list.push_back(phi0_logtau_); phi0list.push_back(phi0_Planck_Einstein_); // Critical parameters crit.rho = 15.538*2.01588; crit.p = PressureUnit(1285.8, UNIT_KPA); crit.T = 32.938; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 2.01588; params.Ttriple = 13.8033; params.ptriple = 7.041; params.accentricfactor = -0.219; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 1000.0; limits.pmax = 2000000.0; limits.rhomax = 102.0*params.molemass; EOSReference.assign("\"Fundamental Equations of State for Parahydrogen, Normal Hydrogen, and Orthohydrogen\"" "by J.W. Leachman and R.T. Jacobsen and S.G. Penoncello and E.W. Lemmon" ", J. Phys. Chem. Ref. Data, Vol. 38, No. 3, 2009, pp 721-748"); TransportReference.assign("Viscosity & Surface Tension: McCarty, R.D. and Weber, L.A., " "\"Thermophysical properties of parahydrogen from the freezing liquid line to " "5000 R for pressures to 10,000 psia,\" " "Natl. Bur. Stand., Tech. Note 617, 1972."); name.assign("ParaHydrogen"); aliases.push_back("Parahydrogen"); aliases.push_back("parahydrogen"); REFPROPname.assign("PARAHYD"); BibTeXKeys.EOS = "Leachman-JPCRD-2009"; BibTeXKeys.CONDUCTIVITY = "Assael-JPCRD-2011"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
R507AClass::R507AClass() { std::vector<double> n_v(N,N+sizeof(N)/sizeof(double)); std::vector<double> d_v(d,d+sizeof(d)/sizeof(int)); std::vector<double> t_v(t,t+sizeof(t)/sizeof(double)); std::vector<double> l_v(l,l+sizeof(l)/sizeof(int)); std::vector<double> a0(a,a+sizeof(a)/sizeof(double)); std::vector<double> n0(b,b+sizeof(b)/sizeof(double)); phi_BC * phir_ = new phir_power(n_v,d_v,t_v,l_v,1,22); phirlist.push_back(phir_); /* sum=log(delta)-log(tau)+a[0]+a[1]*tau+a[2]*pow(tau,b[2]); for(k=3;k<=5;k++) { sum+=a[k]*log(1.0-exp(-b[k]*tau)); } */ phi_BC * phi0_lead_ = new phi0_lead(a0[0],a0[1]); phi_BC * phi0_logtau_ = new phi0_logtau(-1.0); phi_BC * phi0_power_ = new phi0_power(a0[2],n0[2]); phi_BC * phi0_Planck_Einstein_ = new phi0_Planck_Einstein(a0,n0,3,5); phi0list.push_back(phi0_lead_); phi0list.push_back(phi0_logtau_); phi0list.push_back(phi0_power_); phi0list.push_back(phi0_Planck_Einstein_); // Critical parameters (max condensing temperature) crit.rho = 490.74; crit.p = PressureUnit(3704.9,UNIT_KPA); crit.T = 343.765; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 98.8592; params.Ttriple = 200.0; params.ptriple = 23.2234432758; params.accentricfactor = 0.286; params.R_u = 8.314472; isPure = false; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 500.0; limits.pmax = 50000.0; limits.rhomax = 14.13*params.molemass; EOSReference.assign("E.W. Lemmon, \"Pseudo-pure fluid Equations of State for the Refrigerant Blends R410A, R404A, R507C and R407C\"" ",Int. J. Thermophys. v. 24, n4, 2003"); TransportReference.assign("Viscosity: V. Geller, \"Viscosity of Mixed Refrigerants R404A,R407C," "R410A, and R507A\", 2000 Purdue Refrigeration conferences\n\n" "Thermal Conductivity: V.Z. Geller, B.Z. Nemzer, and U.V. Cheremnykh \"Thermal Conductivity " "of the Refrigerant mixtures R404A,R407C,R410A, and R507A\" " "Int. J. Thermophysics, v. 22, n 4 2001"); name.assign("R507A"); aliases.push_back("R507a"); BibTeXKeys.EOS = "Lemmon-IJT-2003"; BibTeXKeys.VISCOSITY = "Geller-PURDUE-2000"; BibTeXKeys.CONDUCTIVITY = "Geller-IJT-2001"; }
AirClass::AirClass() { static const double N[]={0, 0.118160747229,//[1] 0.713116392079,//[2] -0.161824192067e1,//[3] 0.714140178971e-1,//[4] -0.865421396646e-1,//[5] 0.134211176704,//[6] 0.112626704218e-1,//[7] -0.420533228842e-1,//[8] 0.349008431982e-1,//[9] 0.164957183186e-3,//[10] -0.101365037912,//[11] -0.173813690970,//[12] -0.472103183731e-1,//[13] -0.122523554253e-1,//[14] -0.146629609713,//[15] -0.316055879821e-1,//[16] 0.233594806142e-3,//[17] 0.148287891978e-1,//[18] -0.938782884667e-2//[19] }; static const double d[]={0, 1,//[1] 1,//[2] 1,//[3] 2,//[4] 3,//[5] 3,//[6] 4,//[7] 4,//[8] 4,//[9] 6,//[10] 1,//[11] 3,//[12] 5,//[13] 6,//[14] 1,//[15] 3,//[16] 11,//[17] 1,//[18] 3//[19] }; static const double t[]={0.00, 0,//[1] 0.33,//[2] 1.01,//[3] 0,//[4] 0,//[5] 0.15,//[6] 0,//[7] 0.2,//[8] 0.35,//[9] 1.35,//[10] 1.6,//[11] 0.8,//[12] 0.95,//[13] 1.25,//[14] 3.6,//[15] 6,//[16] 3.25,//[17] 3.5,//[18] 15//[19] }; static const double l[]={ 0,0,0,0,0,0,0,0,0,0,0, // indices [0-10] 1,//[11] 1,//[12] 1,//[13] 1,//[14] 2,//[15] 2,//[16] 2,//[17] 3,//[18] 3,//[19] }; //Constants for ideal gas expression static const double N0[]={0.0, 0.605719400e-7,//[1] -0.210274769e-4,//[2] -0.158860716e-3,//[3] -13.841928076,//[4] 17.275266575,//[5] -0.195363420e-3,//[6] 2.490888032,//[7] 0.791309509,//[8] 0.212236768,//[9] -0.197938904,//[10] 25.36365,//[11] 16.90741,//[12] 87.31279//[13] }; phirlist.push_back(new phir_power(N,d,t,l,1,19,20)); /* phi0=log(delta); for (k=1;k<=5;k++) { phi0=phi0+N0[k]*powInt(tau,k-4); } phi0+=N0[6]*pow(tau,1.5)+N0[7]*log(tau); for (k=8;k<=9;k++) { phi0+=N0[k]*log(1.0-exp(-N0[k+3]*tau)); } phi0+=N0[10]*log(2.0/3.0+exp(N0[13]*tau)); */ std::vector<double> N0_v(N0,N0+sizeof(N0)/sizeof(double)); std::vector<double> theta0_v(N0,N0+sizeof(N0)/sizeof(double)); // Set some constants theta0_v[1]=1-4; theta0_v[2]=2-4; theta0_v[3]=3-4; theta0_v[4]=4-4; theta0_v[5]=5-4; theta0_v[6]=1.5; theta0_v[8]=N0_v[11]; theta0_v[9]=N0_v[12]; theta0_v[10]=N0_v[13]; phi0list.push_back(new phi0_lead(0.0,0.0)); phi0list.push_back(new phi0_power(N0_v,theta0_v,1,5)); phi0list.push_back(new phi0_power(N0_v[6],1.5)); phi0list.push_back(new phi0_logtau(N0_v[7])); phi0list.push_back(new phi0_Planck_Einstein(N0_v,theta0_v,8,9)); phi0list.push_back(new phi0_Planck_Einstein2(N0_v[10],theta0_v[10],2.0/3.0)); // Critical parameters (max condensing temperature) crit.rho = 11.8308*28.96546; crit.p = PressureUnit(3786.0,UNIT_KPA); crit.T = 132.5306; crit.v = 1.0/crit.rho; maxcondT.rho = 10.4477*28.96546; maxcondT.p = PressureUnit(3785.02,UNIT_KPA); maxcondT.T = 132.6312; maxcondT.v = 1.0/maxcondT.rho; // Other fluid parameters params.molemass = 28.96546; params.Ttriple = 59.75; params.ptriple = 2.44582352329; params.accentricfactor = 0.0335; params.R_u = 8.31451; isPure = false; preduce = &maxcondT; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 2000.0; limits.pmax = 2000000.0; limits.rhomax = 14.21*params.molemass; EOSReference.assign("Lemmon, E.W., Jacobsen, R.T, Penoncello, S.G., and Friend, D.G.," "\"Thermodynamic Properties of Air and Mixtures of Nitrogen, Argon, and" " Oxygen from 60 to 2000 K at Pressures to 2000 MPa," " J. Phys. Chem. Ref. Data, 29(3):331-385, 2000."); TransportReference.assign("E.W. Lemmon and R. T. Jacobsen, \"Viscosity and Thermal Conductivity Equations for " "Nitrogen, Oxygen, Argon, and Air\", " "International Journal of Thermophysics, Vol. 25, No. 1, January 2004"); name.assign("Air"); aliases.push_back("air"); BibTeXKeys.EOS = "Lemmon-JPCRD-2000"; BibTeXKeys.VISCOSITY = "Lemmon-IJT-2004"; BibTeXKeys.CONDUCTIVITY = "Lemmon-IJT-2004"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }
OrthoHydrogenClass::OrthoHydrogenClass() { double n [] = {0, -6.83148, 0.01, 2.11505, 4.38353, 0.211292, -1.00939, 0.142086, -0.87696, 0.804927, -0.710775, 0.0639688, 0.0710858, -0.087654, 0.647088}; double t [] = {0, 0.7333, 1, 1.1372, 0.5136, 0.5638, 1.6248, 1.829, 2.404, 2.105, 4.1, 7.658, 1.259, 7.589, 3.946}; double d [] = {0, 1, 4, 1, 1, 2, 2, 3, 1, 3, 2, 1, 3, 1, 1}; double l [] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0}; double alpha[] = {0,0,0,0,0,0,0,0,0,0,1.169, 0.894, 0.04, 2.072, 1.306}; // Originally phi in the paper double beta[] = {0,0,0,0,0,0,0,0,0,0,0.4555, 0.4046, 0.0869, 0.4415, 0.5743}; double gamma[] = {0,0,0,0,0,0,0,0,0,0,1.5444, 0.6627, 0.763, 0.6587, 1.4327}; double epsilon[] = {0,0,0,0,0,0,0,0,0,0,0.6366, 0.3876, 0.9437, 0.3976, 0.9626}; // Originally D in the paper phirlist.push_back(new phir_power(n,d,t,l,1,9,15)); phirlist.push_back(new phir_gaussian(n,d,t,alpha,epsilon,beta,gamma,10,14,15)); /* phi0=log(delta)+1.5*log(tau)+a0[1]+a0[2]*tau +a0[3]*log(1-exp(-b0[3]*tau)) +a0[4]*log(1-exp(-b0[4]*tau)) +a0[5]*log(1-exp(-b0[5]*tau)) +a0[6]*log(1-exp(-b0[6]*tau)) +a0[7]*log(1-exp(-b0[7]*tau)); */ double a0 [] = {0, -1.4675442336, 1.8845068862, 2.54151, -2.3661, 1.00365, 1.22447}; double b0 [] = {0, 0, 0, 25.7676098736, 43.4677904877, 66.0445514750, 209.7531607465}; //lead term of the form log(delta)+a1+a2*tau phi0list.push_back(new phi0_lead(a0[1],a0[2])); phi0list.push_back(new phi0_logtau(1.5)); phi0list.push_back(new phi0_Planck_Einstein(a0,b0,3,6,7)); // Critical parameters crit.rho = 15.445*2.01588; crit.p = PressureUnit(1310.65, UNIT_KPA); crit.T = 33.22; crit.v = 1.0/crit.rho; // Other fluid parameters params.molemass = 2.01594; params.Ttriple = 14.008; params.ptriple = 7.5598823410394012; params.accentricfactor = -0.219; params.R_u = 8.314472; // Limits of EOS limits.Tmin = params.Ttriple; limits.Tmax = 1000.0; limits.pmax = 2000000.0; limits.rhomax = 102.0*params.molemass; EOSReference.assign("\"Fundamental Equations of State for Parahydrogen, Normal Hydrogen, and Orthohydrogen\"" "by J.W. Leachman and R.T. Jacobsen and S.G. Penoncello and E.W. Lemmon" ", J. Phys. Chem. Ref. Data, Vol. 38, No. 3, 2009, pp 721-748"); TransportReference.assign("Viscosity & Surface Tension: McCarty, R.D. and Weber, L.A., " "\"Thermophysical properties of parahydrogen from the freezing liquid line to " "5000 R for pressures to 10,000 psia,\" " "Natl. Bur. Stand., Tech. Note 617, 1972."); name.assign("OrthoHydrogen"); aliases.push_back("Orthohydrogen"); aliases.push_back("orthohydrogen"); REFPROPname.assign("ORTHOHYD"); BibTeXKeys.EOS = "Leachman-JPCRD-2009"; }