mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-01 03:00:13 -04:00
Implemented the viscosity correlation for n-Heptane of Assael, JPCRD, 2014 (http://scitation.aip.org/content/aip/journal/jpcrd/43/2/10.1063/1.4875930) and testing data
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
@@ -394,6 +394,57 @@
|
||||
],
|
||||
"type": "polynomial"
|
||||
}
|
||||
},
|
||||
"viscosity": {
|
||||
"BibTeX": "Assael-JPCRD-2014-Heptane",
|
||||
"dilute": {
|
||||
"C": 2.1357e-08,
|
||||
"a": [
|
||||
0.33974,
|
||||
-0.49396,
|
||||
0.08050
|
||||
],
|
||||
"molar_mass": 0.100202,
|
||||
"molar_mass_units": "kg/mol",
|
||||
"t": [
|
||||
0,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"type": "collision_integral"
|
||||
},
|
||||
"epsilon_over_k": 426.118,
|
||||
"epsilon_over_k_units": "K",
|
||||
"higher_order": {
|
||||
"hardcoded": "n-Heptane"
|
||||
},
|
||||
"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": 0.61362e-9,
|
||||
"sigma_eta_units": "m"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -188,6 +188,7 @@ struct ViscosityHigherOrderVariables
|
||||
enum ViscosityDiluteEnum {VISCOSITY_HIGHER_ORDER_BATSCHINKI_HILDEBRAND,
|
||||
VISCOSITY_HIGHER_ORDER_HYDROGEN,
|
||||
VISCOSITY_HIGHER_ORDER_HEXANE,
|
||||
VISCOSITY_HIGHER_ORDER_HEPTANE,
|
||||
VISCOSITY_HIGHER_ORDER_ETHANE,
|
||||
VISCOSITY_HIGHER_ORDER_FRICTION_THEORY,
|
||||
VISCOSITY_HIGHER_ORDER_NOT_SET
|
||||
|
||||
@@ -427,6 +427,9 @@ protected:
|
||||
else if (!target.compare("n-Hexane")){
|
||||
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_HEXANE; return;
|
||||
}
|
||||
else if (!target.compare("n-Heptane")){
|
||||
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_HEPTANE; return;
|
||||
}
|
||||
else if (!target.compare("Ethane")){
|
||||
fluid.transport.viscosity_higher_order.type = CoolProp::ViscosityHigherOrderVariables::VISCOSITY_HIGHER_ORDER_ETHANE; return;
|
||||
}
|
||||
|
||||
@@ -189,6 +189,8 @@ long double HelmholtzEOSMixtureBackend::calc_viscosity_background(long double et
|
||||
delta_eta_h = TransportRoutines::viscosity_hydrogen_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:
|
||||
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;
|
||||
default:
|
||||
|
||||
@@ -280,6 +280,7 @@ long double TransportRoutines::viscosity_hydrogen_higher_order_hardcoded(Helmhol
|
||||
|
||||
long double TransportRoutines::viscosity_hexane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
|
||||
long double Tr = HEOS.T()/507.82, rhor = HEOS.keyed_output(CoolProp::iDmass)/233.182;
|
||||
|
||||
// Output is in Pa-s
|
||||
@@ -287,6 +288,16 @@ long double TransportRoutines::viscosity_hexane_higher_order_hardcoded(Helmholtz
|
||||
return pow(rhor,static_cast<long double>(2.0/3.0))*sqrt(Tr)*(c[0]/Tr+c[1]/(c[2]+Tr+c[3]*rhor*rhor)+c[4]*(1+rhor)/(c[5]+c[6]*Tr+c[7]*rhor+rhor*rhor+c[8]*rhor*Tr));
|
||||
}
|
||||
|
||||
long double TransportRoutines::viscosity_heptane_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
/// From Assael, JPCRD, 2014
|
||||
long double Tr = HEOS.T()/540.13, rhor = HEOS.rhomass()/232;
|
||||
|
||||
// Output is in Pa-s
|
||||
double c[] = {0, 22.15000/1e6, -15.00870/1e6, 3.71791/1e6, 77.72818/1e6, 9.73449, 9.51900, -6.34076, -2.51909};
|
||||
return pow(rhor,2.0L/3.0L)*sqrt(Tr)*(c[1]*rhor+c[2]*pow(rhor,2)+c[3]*pow(rhor,3)+c[4]*rhor/(c[5]+c[6]*Tr+c[7]*rhor+rhor*rhor+c[8]*rhor*Tr));
|
||||
}
|
||||
|
||||
long double TransportRoutines::viscosity_higher_order_friction_theory(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
if (HEOS.is_pure_or_pseudopure)
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
with \f$T^* = \frac{T}{\varepsilon/k}\f$ and \f$\sigma\f$ in nm, M is in kg/kmol. Yields viscosity in Pa-s.
|
||||
*/
|
||||
static long double viscosity_dilute_kinetic_theory(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
|
||||
/**
|
||||
\brief The dilute gas viscosity term that is based on collision integral or effective cross section
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
*/
|
||||
static long double viscosity_dilute_collision_integral(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
/**
|
||||
/**
|
||||
\brief A dilute gas viscosity term formed of summation of power terms
|
||||
|
||||
\f[
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
|
||||
static long double viscosity_dilute_collision_integral_powers_of_T(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
/**
|
||||
/**
|
||||
\brief The initial density dependence term \f$B_{\eta}\f$ from Rainwater-Friend theory
|
||||
|
||||
The total contribution from this term is given by
|
||||
@@ -68,17 +68,17 @@ public:
|
||||
*/
|
||||
static long double viscosity_initial_density_dependence_Rainwater_Friend(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
/**
|
||||
/**
|
||||
\brief The modified Batschinski-Hildebrand contribution to the viscosity
|
||||
|
||||
\f[
|
||||
\Delta\eta = \displaystyle\sum_{i}a_{i}\delta^{d1_i}\tau^{t1_j}+\left(\displaystyle\sum_{i}f_i\delta^{d2_i}\tau^{t2_i}\right)\left(\frac{1}{\delta_0(\tau)-\delta}-\frac{1}{\delta_0(\tau)}\right)
|
||||
\f]
|
||||
where \f$\tau = T_c/T\f$ and \f$\delta = \rho/\rho_c\f$
|
||||
where \f$\tau = T_c/T\f$ and \f$\delta = \rho/\rho_c\f$
|
||||
\f[
|
||||
\delta_0(\tau) = \displaystyle\frac{\displaystyle\sum_{i}g_i\tau^{h_i}}{\displaystyle\sum_{i}p_i\tau^{q_i}}
|
||||
\f]
|
||||
The more general form of \f$\delta_0(\tau)\f$ is selected in order to be able to handle all the forms in the literature
|
||||
The more general form of \f$\delta_0(\tau)\f$ is selected in order to be able to handle all the forms in the literature
|
||||
*/
|
||||
static long double viscosity_higher_order_modified_Batschinski_Hildebrand(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
@@ -91,6 +91,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_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);
|
||||
|
||||
/**
|
||||
@@ -110,7 +111,7 @@ public:
|
||||
\Delta\lambda(\rho,T) = \displaystyle\sum_iA_i\tau^{t,i}\delta^{d_i}
|
||||
\f]
|
||||
|
||||
As used by Assael, Perkins, Huber, etc., the residual term is given by
|
||||
As used by Assael, Perkins, Huber, etc., the residual term is given by
|
||||
\f[
|
||||
\Delta\lambda(\rho,T) = \displaystyle\sum_i(B_{1,i}+B_{2,i}(T/T_c))(\rho/\rho_c)^i
|
||||
\f]
|
||||
@@ -135,9 +136,9 @@ public:
|
||||
\f[
|
||||
\zeta = \zeta_0\left(\frac{p_c\rho}{\Gamma\rho_c^2}\right)^{\nu/\gamma}\left[\left.\frac{\partial \rho(T,\rho)}{\partial p} \right|_{T}- \frac{T_R}{T}\left.\frac{\partial \rho(T_R,\rho)}{\partial p} \right|_{T} \right]^{\nu/\gamma},
|
||||
\f]
|
||||
where \f$\lambda^{(c)}\f$ is in W\f$\cdot\f$m\f$^{-1}\f$\f$\cdot\f$K\f$^{-1}\f$, \f$\zeta\f$ is in m,
|
||||
\f$c_p\f$ and \f$c_v\f$ are in J\f$\cdot\f$kg\f$^{-1}\cdot\f$K\f$^{-1}\f$, \f$p\f$ and \f$p_c\f$ are in Pa,
|
||||
\f$\rho\f$ and \f$\rho_c\f$ are in mol\f$\cdot\f$m\f$^{-3}\f$, \f$\eta\f$ is the viscosity in Pa\f$\cdot\f$s,
|
||||
where \f$\lambda^{(c)}\f$ is in W\f$\cdot\f$m\f$^{-1}\f$\f$\cdot\f$K\f$^{-1}\f$, \f$\zeta\f$ is in m,
|
||||
\f$c_p\f$ and \f$c_v\f$ are in J\f$\cdot\f$kg\f$^{-1}\cdot\f$K\f$^{-1}\f$, \f$p\f$ and \f$p_c\f$ are in Pa,
|
||||
\f$\rho\f$ and \f$\rho_c\f$ are in mol\f$\cdot\f$m\f$^{-3}\f$, \f$\eta\f$ is the viscosity in Pa\f$\cdot\f$s,
|
||||
and the remaining parameters are defined in the following tables.
|
||||
|
||||
It should be noted that some authors use slightly different values for the "universal" constants
|
||||
@@ -145,9 +146,9 @@ public:
|
||||
Coefficients for use in the simplified Olchowy-Sengers critical term
|
||||
Parameter | Variable | Value
|
||||
--------- | -------- | ------
|
||||
Boltzmann constant | \f$k\f$ | \f$1.3806488\times 10^{-23}\f$ J\f$\cdot\f$K\f$^{-1}\f$
|
||||
Universal amplitude | \f$R_D\f$ | 1.03
|
||||
Critical exponent | \f$\nu\f$ | 0.63
|
||||
Boltzmann constant | \f$k\f$ | \f$1.3806488\times 10^{-23}\f$ J\f$\cdot\f$K\f$^{-1}\f$
|
||||
Universal amplitude | \f$R_D\f$ | 1.03
|
||||
Critical exponent | \f$\nu\f$ | 0.63
|
||||
Critical exponent | \f$\gamma\f$ | 1.239
|
||||
Reference temperature | \f$T_R\f$ | 1.5\f$T_c\f$
|
||||
|
||||
@@ -182,7 +183,7 @@ public:
|
||||
|
||||
Bell, I. H.; Wronski, J.; Quoilin, S. & Lemort, V. (2014), Pure and Pseudo-pure Fluid Thermophysical Property Evaluation and the Open-Source Thermophysical Property Library CoolProp, Industrial & Engineering Chemistry Research, 53, (6), 2498-2508
|
||||
|
||||
which is originally based on the methods presented in
|
||||
which is originally based on the methods presented in
|
||||
|
||||
Huber, M. L., Laesecke, A. and Perkins, R. A., (2003), Model for the Viscosity and Thermal Conductivity of Refrigerants, Including a New Correlation for the Viscosity of R134a, Industrial & Engineering Chemistry Research, v. 42, pp. 3163-3178
|
||||
|
||||
@@ -200,4 +201,4 @@ public:
|
||||
}; /* class TransportRoutines */
|
||||
|
||||
}; /* namespace CoolProp */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -108,6 +108,14 @@ vel("Hexane", "T", 250, "Dmass", 700, "V", 528.2e-6, 1e-3),
|
||||
vel("Hexane", "T", 400, "Dmass", 600, "V", 177.62e-6, 1e-3),
|
||||
vel("Hexane", "T", 550, "Dmass", 500, "V", 95.002e-6, 1e-3),
|
||||
|
||||
// From Assael, JPCRD, 2014
|
||||
vel("Heptane", "T", 250, "Dmass", 1e-14, "V", 4.9717e-6, 1e-3),
|
||||
vel("Heptane", "T", 400, "Dmass", 1e-14, "V", 7.8361e-6, 1e-3),
|
||||
vel("Heptane", "T", 550, "Dmass", 1e-14, "V", 10.7394e-6, 1e-3),
|
||||
vel("Heptane", "T", 250, "Dmass", 720, "V", 725.69e-6, 1e-3),
|
||||
vel("Heptane", "T", 400, "Dmass", 600, "V", 175.94e-6, 1e-3),
|
||||
vel("Heptane", "T", 550, "Dmass", 500, "V", 95.105e-6, 1e-3),
|
||||
|
||||
// From Fenghour, JPCRD, 1998
|
||||
vel("CO2", "T", 220, "Dmass", 2.440, "V", 11.06e-6, 1e-3),
|
||||
vel("CO2", "T", 300, "Dmass", 1.773, "V", 15.02e-6, 1e-3),
|
||||
@@ -263,10 +271,10 @@ vel("Hexane", "T", 400, "Dmass", 650, "L", 129.28e-3, 2e-4),
|
||||
vel("Hexane", "T", 510, "Dmass", 2, "L", 36.772e-3, 1e-4),
|
||||
|
||||
// From Assael, JPCRD, 2013
|
||||
//vel("Heptane", "T", 250, "Dmass", 720, "L", 137.09e-3, 1e-4),
|
||||
//vel("Heptane", "T", 400, "Dmass", 2, "L", 21.794e-3, 1e-4),
|
||||
//vel("Heptane", "T", 400, "Dmass", 650, "L", 120.75e-3, 1e-4),
|
||||
//vel("Heptane", "T", 535, "Dmass", 100, "L", 51.655e-3, 1e-4),
|
||||
vel("Heptane", "T", 250, "Dmass", 720, "L", 137.09e-3, 1e-4),
|
||||
vel("Heptane", "T", 400, "Dmass", 2, "L", 21.794e-3, 1e-4),
|
||||
vel("Heptane", "T", 400, "Dmass", 650, "L", 120.75e-3, 1e-4),
|
||||
vel("Heptane", "T", 535, "Dmass", 100, "L", 51.655e-3, 1e-4),
|
||||
|
||||
// From Assael, JPCRD, 2013
|
||||
vel("Ethanol", "T", 300, "Dmass", 850, "L", 209.68e-3, 1e-4),
|
||||
|
||||
Reference in New Issue
Block a user