mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-01 03:00:13 -04:00
Implemented benzene viscosity correlation of Avgeri et al. from JPCRD, 2014
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
@@ -186,6 +186,18 @@
|
||||
timestamp = {2013.04.28}
|
||||
}
|
||||
|
||||
@ARTICLE{Avgeri-JPCRD-2014-Benzene,
|
||||
author = {S. Avgeri and M. J. Assael and M. L. Huber and R. A. Perkins},
|
||||
title = {{Reference Correlation of the Viscosity of Benzene from the Triple
|
||||
Point to 675 K and up to 300 MPa}},
|
||||
journal = {J. Phys. Chem. Ref. Data},
|
||||
year = {2014},
|
||||
volume = {43},
|
||||
pages = {033103},
|
||||
owner = {Belli},
|
||||
timestamp = {2014.09.02}
|
||||
}
|
||||
|
||||
@ARTICLE{Bell-IECR-2014,
|
||||
author = {Bell, Ian H. and Wronski, Jorrit and Quoilin, Sylvain and Lemort,
|
||||
Vincent},
|
||||
|
||||
@@ -527,6 +527,57 @@
|
||||
],
|
||||
"type": "polynomial"
|
||||
}
|
||||
},
|
||||
"viscosity": {
|
||||
"BibTeX": "Avgeri-JPCRD-2014-Benzene",
|
||||
"dilute": {
|
||||
"C": 2.1357e-08,
|
||||
"a": [
|
||||
0.234018,
|
||||
-0.476136,
|
||||
-0.015269
|
||||
],
|
||||
"molar_mass": 0.07811184,
|
||||
"molar_mass_units": "kg/mol",
|
||||
"t": [
|
||||
0,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"type": "collision_integral"
|
||||
},
|
||||
"epsilon_over_k": 412.0,
|
||||
"epsilon_over_k_units": "K",
|
||||
"higher_order": {
|
||||
"hardcoded": "Benzene"
|
||||
},
|
||||
"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.40e-10,
|
||||
"sigma_eta_units": "m"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -239,6 +239,7 @@ struct ViscosityHigherOrderVariables
|
||||
VISCOSITY_HIGHER_ORDER_HEXANE, ///< Use \ref TransportRoutines::viscosity_hexane_higher_order_hardcoded
|
||||
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_FRICTION_THEORY, ///< Use \ref TransportRoutines::viscosity_higher_order_friction_theory
|
||||
VISCOSITY_HIGHER_ORDER_NOT_SET
|
||||
};
|
||||
|
||||
@@ -490,6 +490,8 @@ protected:
|
||||
}
|
||||
else if (!target.compare("Ethane")){
|
||||
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_ETHANE; return;
|
||||
}else if (!target.compare("Benzene")){
|
||||
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_BENZENE; return;
|
||||
}
|
||||
else{
|
||||
throw ValueError(format("hardcoded higher order viscosity term [%s] is not understood for fluid %s",target.c_str(), fluid.name.c_str()));
|
||||
|
||||
@@ -318,6 +318,8 @@ long double HelmholtzEOSMixtureBackend::calc_viscosity_background(long double et
|
||||
delta_eta_h = TransportRoutines::viscosity_heptane_higher_order_hardcoded(*this); break;
|
||||
case ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_ETHANE:
|
||||
delta_eta_h = TransportRoutines::viscosity_ethane_higher_order_hardcoded(*this); break;
|
||||
case ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_BENZENE:
|
||||
delta_eta_h = TransportRoutines::viscosity_benzene_higher_order_hardcoded(*this); break;
|
||||
default:
|
||||
throw ValueError(format("higher order viscosity type [%d] is invalid for fluid %s", components[0]->transport.viscosity_dilute.type, name().c_str()));
|
||||
}
|
||||
|
||||
@@ -295,14 +295,18 @@ long double TransportRoutines::viscosity_water_hardcoded(HelmholtzEOSMixtureBack
|
||||
|
||||
return (mubar_0*mubar_1*mubar_2)/1e6;
|
||||
}
|
||||
|
||||
long double TransportRoutines::viscosity_hydrogen_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
long double Tr = HEOS.T()/33.145, rhor = HEOS.keyed_output(CoolProp::iDmass)*0.011;
|
||||
long double c[] = {0, 6.43449673e-6, 4.56334068e-2, 2.32797868e-1, 9.58326120e-1, 1.27941189e-1, 3.63576595e-1};
|
||||
return c[1]*pow(rhor,2)*exp(c[2]*Tr+c[3]/Tr+c[4]*pow(rhor,2)/(c[5]+Tr)+c[6]*pow(rhor,6));
|
||||
}
|
||||
|
||||
long double TransportRoutines::viscosity_benzene_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
long double Tr = HEOS.T()/562.02, rhor = HEOS.rhomass()/304.792;
|
||||
long double c[] = {-9.98945, 86.06260, 2.74872, 1.11130, -1.0, -134.1330, -352.473, 6.60989, 88.4174};
|
||||
return 1e-6*pow(rhor,2.0/3.0)*sqrt(Tr)*(c[0]*pow(rhor,2) + c[1]*rhor/(c[2]+c[3]*Tr+c[4]*rhor) + (c[5]*rhor+c[6]*pow(rhor,2))/(c[7]+c[8]*pow(rhor,2)));
|
||||
}
|
||||
long double TransportRoutines::viscosity_hexane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
|
||||
|
||||
@@ -108,6 +108,7 @@ public:
|
||||
|
||||
static long double viscosity_ethane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double viscosity_hydrogen_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double viscosity_benzene_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double viscosity_hexane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double viscosity_heptane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double viscosity_higher_order_friction_theory(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
@@ -232,6 +232,14 @@ vel("Cyclohexane", "T", 500, "Dmolar", 8.5915e3, "V", 380.04e-6, 1e-4),
|
||||
vel("Cyclohexane", "T", 700, "Dmolar", 1e-10, "V", 15.093e-6, 1e-4),
|
||||
vel("Cyclohexane", "T", 700, "Dmolar", 7.4765e3, "V", 176.749e-6, 1e-4),
|
||||
|
||||
// From Avgeri, JPCRD, 2014
|
||||
vel("Benzene", "T", 300, "Dmass", 1e-10, "V", 7.625e-6, 1e-4),
|
||||
vel("Benzene", "T", 400, "Dmass", 1e-10, "V", 10.102e-6, 1e-4),
|
||||
vel("Benzene", "T", 550, "Dmass", 1e-10, "V", 13.790e-6, 1e-4),
|
||||
vel("Benzene", "T", 300, "Dmass", 875, "V", 608.52e-6, 1e-4),
|
||||
vel("Benzene", "T", 400, "Dmass", 760, "V", 211.74e-6, 1e-4),
|
||||
vel("Benzene", "T", 550, "Dmass", 500, "V", 60.511e-6, 1e-4),
|
||||
|
||||
};
|
||||
|
||||
class TransportValidationFixture
|
||||
|
||||
Reference in New Issue
Block a user