Implement viscosity for toluene; closes #785

This commit is contained in:
Ian Bell
2015-08-21 22:03:02 -06:00
parent e4adbb1003
commit 133b19ca8a
8 changed files with 88 additions and 1 deletions

View File

@@ -284,6 +284,18 @@
Timestamp = {2014.09.02}
}
@Article{Avgeri-JPCRD-2015-Toluene,
Title = {{Reference Correlation of the Viscosity of Toluene from the Triple Point to 675 K and up to 500 MPa}},
Author = {S. Avgeri and M. J. Assael and M. L. Huber and R. A. Perkins},
Journal = {J. Phys. Chem. Ref. Data},
Year = {2015},
Pages = {033101},
Volume = {44},
Doi = {10.1063/1.4926955},
Owner = {Belli},
Timestamp = {2015.08.21}
}
@Article{Barreiros-JCT-1982,
Title = {{The Melting Curves of Carbon Monoxide}},
Author = {Susane F. Barreiros and Jorge C. G. Calado and Manuel Nunes da Ponte},

View File

@@ -497,6 +497,57 @@
],
"type": "polynomial"
}
},
"viscosity": {
"BibTeX": "Avgeri-JPCRD-2015-Toluene",
"dilute": {
"C": 2.1357e-08,
"a": [
0.401080,
-0.476409,
0.069442
],
"molar_mass": 0.09213842,
"molar_mass_units": "kg/mol",
"t": [
0,
1,
3
],
"type": "collision_integral"
},
"epsilon_over_k": 472,
"epsilon_over_k_units": "K",
"higher_order": {
"hardcoded": "Toluene"
},
"initial_density": {
"b": [
-19.572881,
219.73999,
-1015.3226,
2471.01251,
-3375.1717,
2491.6597,
-787.26086,
14.085455,
-0.34664158
],
"t": [
0,
-0.25,
-0.5,
-0.75,
-1.0,
-1.25,
-1.5,
-2.5,
-5.5
],
"type": "Rainwater-Friend"
},
"sigma_eta": 5.24e-10,
"sigma_eta_units": "m"
}
}
}

View File

@@ -256,6 +256,7 @@ struct ViscosityHigherOrderVariables
VISCOSITY_HIGHER_ORDER_HEPTANE, ///< Use \ref TransportRoutines::viscosity_heptane_higher_order_hardcoded
VISCOSITY_HIGHER_ORDER_ETHANE, ///< Use \ref TransportRoutines::viscosity_ethane_higher_order_hardcoded
VISCOSITY_HIGHER_ORDER_BENZENE, ///< Use \ref TransportRoutines::viscosity_benzene_higher_order_hardcoded
VISCOSITY_HIGHER_ORDER_TOLUENE, ///< Use \ref TransportRoutines::viscosity_toluene_higher_order_hardcoded
VISCOSITY_HIGHER_ORDER_FRICTION_THEORY, ///< Use \ref TransportRoutines::viscosity_higher_order_friction_theory
VISCOSITY_HIGHER_ORDER_NOT_SET
};

View File

@@ -508,9 +508,13 @@ protected:
else if (!target.compare("n-Heptane")){
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_HEPTANE; return;
}
else if (!target.compare("Toluene")){
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_TOLUENE; return;
}
else if (!target.compare("Ethane")){
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_ETHANE; return;
}else if (!target.compare("Benzene")){
}
else if (!target.compare("Benzene")){
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_BENZENE; return;
}
else{

View File

@@ -440,6 +440,8 @@ CoolPropDbl HelmholtzEOSMixtureBackend::calc_viscosity_background(CoolPropDbl et
delta_eta_h = TransportRoutines::viscosity_higher_order_friction_theory(*this); break;
case ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_HYDROGEN:
delta_eta_h = TransportRoutines::viscosity_hydrogen_higher_order_hardcoded(*this); break;
case ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_TOLUENE:
delta_eta_h = TransportRoutines::viscosity_toluene_higher_order_hardcoded(*this); break;
case ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_HEXANE:
delta_eta_h = TransportRoutines::viscosity_hexane_higher_order_hardcoded(*this); break;
case ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_HEPTANE:

View File

@@ -327,6 +327,13 @@ CoolPropDbl TransportRoutines::viscosity_water_hardcoded(HelmholtzEOSMixtureBack
return (mubar_0*mubar_1*mubar_2)/1e6;
}
CoolPropDbl TransportRoutines::viscosity_toluene_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
{
CoolPropDbl Tr = HEOS.T()/591.75, rhor = HEOS.keyed_output(CoolProp::iDmass)/291.987;
CoolPropDbl c[] = {19.919216, -2.6557905, -135.904211, -7.9962719, -11.014795, -10.113817};
return 1e-6*pow(rhor,2.0/3.0)*sqrt(Tr)*((c[0]*rhor+c[1]*pow(rhor,4))/Tr + c[2]*rhor*rhor*rhor/(rhor*rhor+c[3]+c[4]*Tr)+c[5]*rhor);
}
CoolPropDbl TransportRoutines::viscosity_hydrogen_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
{
CoolPropDbl Tr = HEOS.T()/33.145, rhor = HEOS.keyed_output(CoolProp::iDmass)*0.011;

View File

@@ -117,6 +117,7 @@ public:
static CoolPropDbl viscosity_helium_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
static CoolPropDbl viscosity_R23_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
static CoolPropDbl viscosity_toluene_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
static CoolPropDbl viscosity_ethane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
static CoolPropDbl viscosity_hydrogen_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
static CoolPropDbl viscosity_benzene_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);

View File

@@ -251,6 +251,15 @@ vel("EthylBenzene", "T", 617, "Dmass", 316, "V", 33.22e-6, 1e-2),
vel("HeavyWater", "T", 0.5000*643.847, "Dmass", 3.07*358, "V", 12.0604912273*55.2651e-6, 1e-5),
vel("HeavyWater", "T", 0.9000*643.847, "Dmass", 2.16*358, "V", 1.6561616211*55.2651e-6, 1e-5),
vel("HeavyWater", "T", 1.2000*643.847, "Dmass", 0.8*358, "V", 0.7651099154*55.2651e-6, 1e-5),
// Toluene, Avgeri, JPCRD, 2015
vel("Toluene", "T", 300, "Dmass", 1e-10, "V", 7.023e-6, 1e-4),
vel("Toluene", "T", 400, "Dmass", 1e-10, "V", 9.243e-6, 1e-4),
vel("Toluene", "T", 550, "Dmass", 1e-10, "V", 12.607e-6, 1e-4),
vel("Toluene", "T", 300, "Dmass", 865, "V", 566.78e-6, 1e-4),
vel("Toluene", "T", 400, "Dmass", 770, "V", 232.75e-6, 1e-4),
vel("Toluene", "T", 550, "Dmass", 550, "V", 80.267e-6, 1e-4),
};
class TransportValidationFixture