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:
Ian Bell
2014-09-02 14:56:04 +01:00
parent 5e470617c9
commit fca950907f
8 changed files with 83 additions and 2 deletions

View File

@@ -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},

View File

@@ -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"
}
}
}

View File

@@ -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
};

View File

@@ -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()));

View File

@@ -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()));
}

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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