mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-01 03:00:13 -04:00
@@ -271,5 +271,11 @@
|
||||
"rhoVtriple_units": "mol/m^3"
|
||||
}
|
||||
],
|
||||
"NAME": "R23"
|
||||
"NAME": "R23",
|
||||
"TRANSPORT": {
|
||||
"viscosity": {
|
||||
"BibTeX": "Shan-ASHRAE-2000",
|
||||
"hardcoded": "R23"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,6 @@ Ammonia & (data) Fenghour 1995 & $\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2\Ga
|
||||
|
||||
\hline\hline
|
||||
H2S & Quinones-Cisneros 2012 & $\eta^0 = 0.87721\dfrac{\sqrt{T}}{S^*(T^*)}$ \newline $S^*(T^*) = \sum_i \frac{\alpha_i}{T^{*i}}$ & FRICTION THEORY\\\hline
|
||||
R23 & Shan 2000 & $\eta^0 = \frac{5}{16}\sqrt{\frac{MkT}{1000\pi N}}\frac{10^{24}}{\sigma^2\Omega^*(T^*)}$\newline $\Omega(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & \\\hline
|
||||
|
||||
Ethane & Friend 1991 & $\eta^0 = \dfrac{12.0085\sqrt{t}}{\Omega^{(2,2)*}(t)}$ \newline $\Omega^{(2,2)*}(t) = \left[\sum_i C_it^{(i-1)/3-1} \right]^{-1}$& $\Delta\eta = 15.977\left[\displaystyle\sum_i g_i\delta^{r_i}\tau^{s_i}\right]\left[1+\displaystyle\sum_{i=10}^{11}g_i\delta^{r_i}\tau^{s_i}\right]^{-1}$\\\hline
|
||||
\hline\hline \multicolumn{4}{c}{DONE below this line}\\ \hline\hline
|
||||
@@ -40,6 +39,7 @@ n-Hexane & (data) Michailidou 2013 &$\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2
|
||||
SF6 & (data) Quinones-Cisneros 2012 & $\eta^0 = \sum_i d_i T_r^{n_i}$ & FRICTION THEORY\\\hline
|
||||
R404A, R410A, R507, R407 & (data) Geller 2000 & $\eta^0 = \sum_i A_iT^i$&$\eta^r = \sum_j b_j\rho^j$ \\\hline
|
||||
Helium & Arp 1998 & hardcoded & hardcoded \\\hline
|
||||
R23 & Shan 2000 & $\eta^0 = \frac{5}{16}\sqrt{\frac{MkT}{1000\pi N}}\frac{10^{24}}{\sigma^2\Omega^*(T^*)}$\newline $\Omega(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & \\\hline
|
||||
\hline\hline
|
||||
\end{tabular}
|
||||
|
||||
|
||||
@@ -110,6 +110,7 @@ class TransportPropertyData
|
||||
public:
|
||||
enum ViscosityDiluteEnum {VISCOSITY_HARDCODED_WATER,
|
||||
VISCOSITY_HARDCODED_HELIUM,
|
||||
VISCOSITY_HARDCODED_R23,
|
||||
VISCOSITY_NOT_HARDCODED
|
||||
};
|
||||
ViscosityDiluteVariables viscosity_dilute;
|
||||
|
||||
@@ -433,12 +433,13 @@ protected:
|
||||
if (viscosity.HasMember("hardcoded")){
|
||||
std::string target = cpjson::get_string(viscosity,"hardcoded");
|
||||
if (!target.compare("Water")){
|
||||
fluid.transport.hardcoded = CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_WATER;
|
||||
return;
|
||||
fluid.transport.hardcoded = CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_WATER; return;
|
||||
}
|
||||
else if (!target.compare("Helium")){
|
||||
fluid.transport.hardcoded = CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_HELIUM;
|
||||
return;
|
||||
fluid.transport.hardcoded = CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_HELIUM; return;
|
||||
}
|
||||
else if (!target.compare("R23")){
|
||||
fluid.transport.hardcoded = CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_R23; return;
|
||||
}
|
||||
else{
|
||||
throw ValueError();
|
||||
|
||||
@@ -140,6 +140,8 @@ long double HelmholtzEOSMixtureBackend::calc_viscosity(void)
|
||||
return TransportRoutines::viscosity_water_hardcoded(*this);
|
||||
case CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_HELIUM:
|
||||
return TransportRoutines::viscosity_helium_hardcoded(*this);
|
||||
case CoolProp::TransportPropertyData::VISCOSITY_HARDCODED_R23:
|
||||
return TransportRoutines::viscosity_R23_hardcoded(*this);
|
||||
default:
|
||||
throw ValueError(format("hardcoded viscosity type [%d] is invalid for fluid %s", components[0]->transport.hardcoded, name().c_str()));
|
||||
}
|
||||
|
||||
@@ -382,4 +382,37 @@ long double TransportRoutines::viscosity_helium_hardcoded(HelmholtzEOSMixtureBac
|
||||
}
|
||||
}
|
||||
|
||||
long double TransportRoutines::viscosity_R23_hardcoded(HelmholtzEOSMixtureBackend &HEOS)
|
||||
{
|
||||
double C1 = 1.3163, //
|
||||
C2 = 0.1832,
|
||||
DeltaGstar = 771.23,
|
||||
rhoL = 32.174,
|
||||
rhocbar = 7.5114,
|
||||
Tc = 299.2793,
|
||||
DELTAeta_max = 3.967,
|
||||
k = 1.380658e-23,
|
||||
N_A = 6.022137e23, // 1/mol
|
||||
pi = 3.141592654, //
|
||||
Ru = 8.31451,
|
||||
molar_mass = 70.014;
|
||||
|
||||
double a[] = {0.4425728, -0.5138403, 0.1547566, -0.02821844, 0.001578286};
|
||||
double e_k = 243.91, sigma = 0.4278;
|
||||
double Tstar = HEOS.T()/e_k;
|
||||
double logTstar = log(Tstar);
|
||||
double Omega = exp(a[0]+a[1]*logTstar+a[2]*pow(logTstar,2)+a[3]*pow(logTstar,3)+a[4]*pow(logTstar,4));
|
||||
double eta_DG = 1.25*0.021357*sqrt(molar_mass*HEOS.T())/(sigma*sigma*Omega); // uPa-s
|
||||
|
||||
double rhobar = HEOS.rhomolar()/1000; // [mol/L]
|
||||
double eta_L = C2*(rhoL*rhoL)/(rhoL-rhobar)*sqrt(HEOS.T())*exp(rhobar/(rhoL-rhobar)*DeltaGstar/(Ru*HEOS.T()));
|
||||
|
||||
double chi = rhobar - rhocbar;
|
||||
double tau = HEOS.T() - Tc;
|
||||
|
||||
double DELTAeta_c = 4*DELTAeta_max/((exp(chi)+exp(-chi))*(exp(tau)+exp(-tau)));
|
||||
|
||||
return (pow((rhoL-rhobar)/rhoL,C1)*eta_DG+pow(rhobar/rhoL,C1)*eta_L+DELTAeta_c)/1e6;
|
||||
}
|
||||
|
||||
}; /* namespace CoolProp */
|
||||
@@ -85,6 +85,7 @@ public:
|
||||
static long double viscosity_water_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
static long double viscosity_helium_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
static long double viscosity_R23_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
static long double viscosity_hydrogen_higher_order_hardcoded(HelmholtzEOSMixtureBackend &HEOS);
|
||||
|
||||
|
||||
@@ -174,9 +174,15 @@ vel("R507A", "T", 243.15, "Q", 1, "V", 9.83e-6, 1e-2),
|
||||
vel("R507A", "T", 333.15, "Q", 0, "V", 74.37e-6, 1e-2),
|
||||
vel("R507A", "T", 333.15, "Q", 1, "V", 19.35e-6, 1e-2),
|
||||
|
||||
// From Arp, NIST, 1998
|
||||
vel("Helium", "T", 3.6, "P", 0.180e6, "V", 3.745e-6, 1e-2),
|
||||
vel("Helium", "T", 50, "P", 0.180e6, "V", 6.376e-6, 1e-2),
|
||||
vel("Helium", "T", 400, "P", 0.180e6, "V", 24.29e-6, 1e-2),
|
||||
|
||||
// From Shan, ASHRAE, 2000
|
||||
vel("R23", "T", 180, "Dmolar", 21097, "V", 353.88e-6, 1e-4),
|
||||
vel("R23", "T", 420, "Dmolar", 7564, "V", 39.459e-6, 1e-4),
|
||||
vel("R23", "T", 370, "Dmolar", 32.62, "V", 18.213e-6, 1e-4),
|
||||
};
|
||||
|
||||
class ViscosityValidationFixture
|
||||
|
||||
Reference in New Issue
Block a user