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"; }
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"; }
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"; }
// base/math TEST(base_math, matrix_assign) { bk::real3 l_v(1, 2, 3); EXPECT_EQ(1, l_v.x()); EXPECT_EQ(2, l_v.y()); EXPECT_EQ(3, l_v.z()); }
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"; }
//D5 DecamethylcyclopentasiloxaneClass::DecamethylcyclopentasiloxaneClass() { const double d[] = { 0, 1.0, //[1] 1.0, //[2] 1.0, //[3] 2.0, //[4] 3.0, //[5] 7.0, //[6] 2.0, //[7] 5.0, //[8] 1.0, //[9] 4.0, //[10] 3.0, //[11] 4.0, //[12] }; const double t[] = { 0, 0.25, //[1] 1.125, //[2] 1.5, //[3] 1.375, //[4] 0.25, //[5] 0.875, //[6] 0.625, //[7] 1.75, //[8] 3.625, //[9] 3.625, //[10] 14.5, //[11] 12.0, //[12] }; const double l[] = { 0, 0.0, //[1] 0.0, //[2] 0.0, //[3] 0.0, //[4] 0.0, //[5] 0.0, //[6] 1.0, //[7] 1.0, //[8] 2.0, //[9] 2.0, //[10] 3.0, //[11] 3.0, //[12] }; const double n[]={0.0,1.40844725,-2.29248044,0.42851607,-0.73506382,0.16103808,0.00029643278,0.82412481,0.15214274,-0.6849589,-0.055703624,0.013055391,-0.031853761}; // divided by R_u to give cp0/R_u terms like in Lemmon 2000 const double u0[]={0.0,-4.19725991019033,0.223886736283434,-0.000168790032608204,6.01361096651718E-08}; const double n0[]={0.0,0,1,2,3}; std::vector<double> n_v(n,n+sizeof(n)/sizeof(double)); std::vector<double> u0_v(u0,u0+sizeof(u0)/sizeof(double)); std::vector<double> n0_v(n0,n0+sizeof(n0)/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)); // Critical parameters crit.rho = 304.90928495748; crit.p = PressureUnit(1160, UNIT_KPA); crit.T = 619.15; crit.v = 1.0/crit.rho; // Load up a new structure with reducing parameters reduce.rho = 292.570762680819; reduce.p = PressureUnit(1161.46, UNIT_KPA); reduce.T = 619.23462341; reduce.v = 1.0/reduce.rho; preduce = &reduce; // Other fluid parameters params.molemass=370.7697; params.Ttriple=226; params.accentricfactor=0.658; params.R_u = 8.314472; // Calculated at Tmin params.ptriple = 0.0275116653286; // Limits of EOS limits.Tmin = 300; 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,12,13)); double T0 = 484.050286854327, rho0 = 727.981991948461, R_ = params.R_u/params.molemass, m, c, H0 = 115.63073039269375, /// kJ/kmol S0 = 0.14017795179966980, /// kJ/kmol/K tau0=crit.T/T0, delta0=rho0/crit.rho; // log(delta)+c+m*tau /// c is the constant term c=-S0/R_-1+log(tau0/delta0);/*<< from the leading term*/ /// m multiplies the tau term in the leading term (slope) m=H0/(R_*reduce.T); /*<< from the leading term */ phi_BC * phi0_lead_ = new phi0_lead(c,m); phi0list.push_back(phi0_lead_); phi_BC * phi0_logtau_ = new phi0_logtau(-1.0); phi0list.push_back(phi0_logtau_); phi0list.push_back(new phi0_cp0_constant(u0_v[1],reduce.T,T0)); phi_BC * phi0_cp0_poly_ = new phi0_cp0_poly(u0_v,n0_v,reduce.T,T0,2,4); phi0list.push_back(phi0_cp0_poly_); EOSReference.assign("Colonna, P., N.R. Nannan, A. Guardone, E.W. Lemmon, \"Multiparameter equations of state for selected siloxanes\", Fluid Phase Equilibria 244 (2006) 193-211."); TransportReference.assign("Using ECS in fully predictive mode"); name.assign("D5"); aliases.push_back(std::string("Decamethylcyclopentasiloxane")); REFPROPname.assign("D5"); ECSReferenceFluid = "Nitrogen"; BibTeXKeys.EOS = "Colonna-FPE-2006"; BibTeXKeys.SURFACE_TENSION = "Mulero-JPCRD-2012"; }