diff --git a/dev/fluids/R123.json b/dev/fluids/R123.json index aa02a51d..5f7be314 100644 --- a/dev/fluids/R123.json +++ b/dev/fluids/R123.json @@ -255,5 +255,90 @@ "rhoVtriple_units": "mol/m^3" } ], - "NAME": "R123" + "NAME": "R123", + "TRANSPORT": { + "BibTeX": "Tanaka-IJT-1996", + "epsilon_over_k": 340, + "epsilon_over_k_units": "K", + "sigma_eta": 5.6e-10, + "sigma_eta_units": "m", + "viscosity": { + "dilute": { + "a": [ + -2.273638e-06, + 5.099859e-08, + -2.402786e-11 + ], + "t": [ + 0, + 1, + 2 + ], + "type": "powers_of_T" + }, + "higher_order": { + "T_reduce": 456.831, + "T_reduce_units": "K", + "a": [ + -1.2245673e-05, + 1.39463316064215e-05, + -5.553966e-05, + 1.863975355e-05, + -1.4708365237499999e-05 + ], + "d1": [ + 1, + 1, + 1, + 2, + 3 + ], + "d2": [ + 0 + ], + "f": [ + 0.000585991090909 + ], + "g": [ + 3.32411454545 + ], + "gamma": [ + 0, + 0, + 0, + 0, + 0 + ], + "h": [ + 0 + ], + "l": [ + 1, + 1, + 1, + 1, + 1 + ], + "p": [ + 1 + ], + "q": [ + 0 + ], + "rhomolar_reduce": 3596.417, + "rhomolar_reduce_units": "mol/m^3", + "t1": [ + 0, + -1, + 0, + 0, + 0 + ], + "t2": [ + 0 + ], + "type": "modified_Batschinski_Hildebrand" + } + } + } } \ No newline at end of file diff --git a/doc/transport_table/table.tex b/doc/transport_table/table.tex index f453cfb0..4916159c 100644 --- a/doc/transport_table/table.tex +++ b/doc/transport_table/table.tex @@ -17,20 +17,18 @@ Fluid & Reference & $\eta^0$ & $\eta^r$ \\ Ammonia & (data) Fenghour 1995 & $\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2\Game(T^*)}$\newline$\mathfrak{S}(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & $\eta^r = B_{BV}\rho\eta^0(T) + \Delta\eta$\newline$\Delta\eta = \sum_i b_i(T)\rho^i$\\\hline Ethanol & Kiselev 2005 & $\eta^0 = \sum_i a_i T^{n_i}$ & $\eta^r = B_{RF}\rho\eta^0(T)+\Delta \eta$ \newline $\Delta\eta = \displaystyle\sum_{i=2}^n\displaystyle\sum_{j=0}^me_{ij}\frac{\delta^i}{\tau_j}+f_1\left(\frac{\delta}{\delta_0(\tau)-\delta}-\frac{\delta}{\delta_0(\tau)}\right)$ \newline $\delta_0(\tau)=g_2+g_3\sqrt{\tau}$\\\hline R404A, R410A, R507, R407 & Geller 2000 & $\eta^0 = \sum_i A_iT^i$&$\eta^r = \sum_j b_j\rho^j$ \\\hline - - - +R152A & (data) Krauss 1996 & $\eta^0 = \dfrac{5}{16}\sqrt{\dfrac{MkT}{1000\pi N}}\dfrac{10^{24}}{\sigma^2\Omega^*(T^*)}=\dfrac{0.2169614\sqrt{T}}{\sigma^2\Omega(T^*)}$\newline $\Omega(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & $\dfrac{\Delta\eta}{H_c} = \displaystyle\sum_{i=1}^{4}E_i\left(\frac{\rho}{\rho_c}\right)^i + \frac{E_5}{\rho/\rho_c-E_6}+\frac{E_5}{E_6}$\\\hline \hline\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 SF6 & Quinones-Cisneros 2012 & $\eta^0 = \sum_i d_i T_r^{n_i}$ & FRICTION THEORY\\\hline H2S & Quinones-Cisneros 2012 & $\eta^0 = 8.7721\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 -R123 & (data) Tanaka 1996 & $\eta^0 = \displaystyle\sum_{i}a_iT_i$ & $\eta^r = \eta^1\rho+\Delta\eta$ \newline $\eta^1 = b_0+b_1T$\newline$\Delta\eta = \frac{a_0}{\rho-\rho_0}+\frac{a_0}{\rho_0}+a_1\rho+a_2\rho^2+a_3\rho^3$\\\hline Water & (data) Huber 2009 & & \\\hline -R152A & (data) Krauss 1996 & $\eta^0 = \dfrac{5}{16}\sqrt{\dfrac{MkT}{1000\pi N}}\dfrac{10^{24}}{\sigma^2\Omega^*(T^*)}=\dfrac{0.2169614\sqrt{T}}{\sigma^2\Omega(T^*)}$\newline $\Omega(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & $\dfrac{\Delta\eta}{H_c} = \displaystyle\sum_{i=1}^{4}E_i\left(\frac{\rho}{\rho_c}\right)^i + \frac{E_5}{\rho/\rho_c-E_6}+\frac{E_5}{E_6}$\\\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 + + Helium & Arp 1998 & NASTY & NASTY \\\hline n-Hexane & (data) Michailidou 2013 &$\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2S(T^*)}$\newline$S(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$& $\eta^r = \eta^0(T)\rho B_{RF} + \Delta\eta$\newline$\Delta\eta = (\rho_r^{2/3}T_r^{1/2})\left\lbrace\dfrac{c_0}{T_r}+\dfrac{c_1}{c_2+T_r+c_3\rho_r^2}+\dfrac{c_4(1+\rho_r)}{c_5 + c_6T_r+c_7\rho_r+\rho_r^2+c_8\rho_rT_r} \right\rbrace$ \\\hline Hydrogen & Muzny 2013 & $\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2S^*(T^*)}$\newline$S^*(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & $\eta^r = B_{RF}\rho\eta^0(T) + \Delta\eta$\newline$\Delta\eta = c_1\rho_r^2\left[c_2T_r+c_3/T_r+\frac{c_4\rho_r^2}{c_5+T_r}+c_6\rho_r^6\right]$\\\hline @@ -45,6 +43,7 @@ Carbon Dioxide & (data) Fenghour 1998 & $\eta^0 = \dfrac{1.00697\sqrt{T}}{\sigma Nitrogen, argon, oxygen air & (data) Lemmon and Jacobsen 2004 & $\eta^0 = \dfrac{0.0266958\sqrt{MT}}{\sigma^2\Omega(T^*)}$\newline$\Omega(T^*)=\exp\left(\sum_{i=0}^{4}b_i[\ln T^*]^i\right)$ & $\eta^r = \sum_{i=1}^NN_i\tau^{\tau_i}\delta^{d_i}\exp(-\gamma_i\delta^{l_i})$\\\hline R134a & Huber 2003 & $\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2\mathfrak{S}(T^*)}$\newline$\mathfrak{S}(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & $\eta^r = \eta^0(T)\rho B_{RF} + \Delta\eta$\newline$\Delta\eta = c_1\delta+\left(\frac{c_2}{\tau^6}+\frac{c_3}{\tau^2}+\frac{c_4}{\sqrt{\tau}}+c_5\tau^2\right)\delta^2+c_6\delta^3+c_7\left(\frac{1}{\delta_0-\delta}-\frac{1}{\delta_0}\right)$ \newline $\delta_0(\tau)=\frac{c_{10}}{1+c_8\tau+c_9\tau^2}$\\\hline Dimethyl Ether & Meng 2012 & $\eta^0 = \dfrac{0.021357\sqrt{MT}}{\sigma^2\mathfrak{S}(T^*)}$\newline$\mathfrak{S}(T^*)=\exp\left(\sum_{i=0}^{4}a_i[\ln T^*]^i\right)$ & $\eta^r = \Delta\eta$\newline$\Delta\eta = \sum_{i=0}^{1}n_i\tau^{t_i}\delta^{d_i} + \sum_{i=2}^{6}n_i\tau^{t_i}\delta^{d_i}\exp(-\delta^{p_i})$\\\hline +R123 & (data) Tanaka 1996 & $\eta^0 = \displaystyle\sum_{i}a_iT_i$ & $\eta^r = \eta^1\rho+\Delta\eta$ \newline $\eta^1 = b_0+b_1T$\newline$\Delta\eta = \frac{a_0}{\rho-\rho_0}+\frac{a_0}{\rho_0}+a_1\rho+a_2\rho^2+a_3\rho^3$\newline$\Delta\eta = \frac{a_0/\rho_c}{\delta-\delta_0}+\frac{a_0/\rho_c}{\delta_0}+a_1\rho_c\delta+a_2\rho_c^2\delta^2+a_3\rho_c^3\delta^3$\\\hline \hline\hline \end{tabular} diff --git a/include/CoolPropFluid.h b/include/CoolPropFluid.h index 6f3f1841..c38fd261 100644 --- a/include/CoolPropFluid.h +++ b/include/CoolPropFluid.h @@ -49,14 +49,19 @@ struct ViscosityDiluteGasCollisionIntegralData long double molar_mass, C; std::vector a, t; }; +struct ViscosityDiluteGasPowersOfT +{ + std::vector a, t; +}; struct ViscosityDiluteVariables { enum ViscosityDiluteEnum {VISCOSITY_DILUTE_COLLISION_INTEGRAL, VISCOSITY_DILUTE_KINETIC_THEORY, - VISCOSITY_DILUTE_POLYNOMIAL_IN_T + VISCOSITY_DILUTE_POWERS_OF_T }; int type; ViscosityDiluteGasCollisionIntegralData collision_integral; + ViscosityDiluteGasPowersOfT powers_of_T; }; struct ViscosityRainWaterFriendData diff --git a/src/Backends/Helmholtz/Fluids/FluidLibrary.h b/src/Backends/Helmholtz/Fluids/FluidLibrary.h index a324d394..a87d5cd6 100644 --- a/src/Backends/Helmholtz/Fluids/FluidLibrary.h +++ b/src/Backends/Helmholtz/Fluids/FluidLibrary.h @@ -277,6 +277,16 @@ protected: else if (!type.compare("kinetic_theory")){ fluid.transport.viscosity_dilute.type = CoolProp::ViscosityDiluteVariables::VISCOSITY_DILUTE_KINETIC_THEORY; } + else if (!type.compare("powers_of_T")){ + // Get a reference to the entry in the fluid instance + CoolProp::ViscosityDiluteGasPowersOfT &CI = fluid.transport.viscosity_dilute.powers_of_T; + + // Load up the values + CI.a = cpjson::get_long_double_array(dilute["a"]); + CI.t = cpjson::get_long_double_array(dilute["t"]); + + fluid.transport.viscosity_dilute.type = CoolProp::ViscosityDiluteVariables::VISCOSITY_DILUTE_POWERS_OF_T; + } else{ throw ValueError(format("type [%s] is not understood for fluid %s",type.c_str(),fluid.name.c_str())); } diff --git a/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp b/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp index 7b6ecb0a..b3ecd54b 100644 --- a/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp +++ b/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp @@ -137,15 +137,17 @@ long double HelmholtzEOSMixtureBackend::calc_viscosity(void) switch(components[0]->transport.viscosity_dilute.type) { case ViscosityDiluteVariables::VISCOSITY_DILUTE_KINETIC_THEORY: - eta_dilute = TransportRoutines::general_dilute_gas_viscosity(*this); break; + eta_dilute = TransportRoutines::viscosity_dilute_kinetic_theory(*this); break; case ViscosityDiluteVariables::VISCOSITY_DILUTE_COLLISION_INTEGRAL: - eta_dilute = TransportRoutines::dilute_gas_viscosity(*this); break; + eta_dilute = TransportRoutines::viscosity_dilute_collision_integral(*this); break; + case ViscosityDiluteVariables::VISCOSITY_DILUTE_POWERS_OF_T: + eta_dilute = TransportRoutines::viscosity_dilute_powers_of_T(*this); break; default: throw ValueError(format("dilute viscosity type [%d] is invalid for fluid %s", components[0]->transport.viscosity_dilute.type, name().c_str())); } // Residual part - long double B_eta_initial = TransportRoutines::initial_density_dependence_viscosity_term(*this); + long double B_eta_initial = TransportRoutines::viscosity_initial_density_dependence_Rainwater_Friend(*this); long double rho = rhomolar(); long double initial_part = eta_dilute*B_eta_initial*rhomolar(); long double delta_eta_h = TransportRoutines::modified_Batschinski_Hildebrand_viscosity_term(*this); diff --git a/src/Backends/Helmholtz/TransportRoutines.cpp b/src/Backends/Helmholtz/TransportRoutines.cpp index 227ea196..31eab729 100644 --- a/src/Backends/Helmholtz/TransportRoutines.cpp +++ b/src/Backends/Helmholtz/TransportRoutines.cpp @@ -4,7 +4,7 @@ namespace CoolProp{ -long double TransportRoutines::general_dilute_gas_viscosity(HelmholtzEOSMixtureBackend &HEOS) +long double TransportRoutines::viscosity_dilute_kinetic_theory(HelmholtzEOSMixtureBackend &HEOS) { if (HEOS.is_pure_or_pseudopure) { @@ -21,11 +21,11 @@ long double TransportRoutines::general_dilute_gas_viscosity(HelmholtzEOSMixtureB return 26.692e-9*sqrt(molar_mass_kgkmol*HEOS.T())/(pow(sigma_nm, 2)*OMEGA22); // Pa-s } else{ - throw NotImplementedError("TransportRoutines::general_dilute_gas_viscosity is only for pure and pseudo-pure"); + throw NotImplementedError("TransportRoutines::viscosity_dilute_kinetic_theory is only for pure and pseudo-pure"); } } -long double TransportRoutines::dilute_gas_viscosity(HelmholtzEOSMixtureBackend &HEOS) +long double TransportRoutines::viscosity_dilute_collision_integral(HelmholtzEOSMixtureBackend &HEOS) { if (HEOS.is_pure_or_pseudopure) { @@ -54,7 +54,27 @@ long double TransportRoutines::dilute_gas_viscosity(HelmholtzEOSMixtureBackend & return C*sqrt(molar_mass_kgkmol*HEOS.T())/(pow(sigma_nm, 2)*S); // Pa-s } else{ - throw NotImplementedError("TransportRoutines::dilute_gas_viscosity is only for pure and pseudo-pure"); + throw NotImplementedError("TransportRoutines::viscosity_dilute_collision_integral is only for pure and pseudo-pure"); + } +} + +long double TransportRoutines::viscosity_dilute_powers_of_T(HelmholtzEOSMixtureBackend &HEOS) +{ + if (HEOS.is_pure_or_pseudopure) + { + // Retrieve values from the state class + CoolProp::ViscosityDiluteGasPowersOfT &data = HEOS.components[0]->transport.viscosity_dilute.powers_of_T; + const std::vector &a = data.a, &t = data.t; + + long double summer = 0, T = HEOS.T(); + for (std::size_t i = 0; i < a.size(); ++i) + { + summer += a[i]*pow(T, t[i]); + } + return summer; + } + else{ + throw NotImplementedError("TransportRoutines::viscosity_dilute_powers_of_T is only for pure and pseudo-pure"); } } @@ -66,7 +86,7 @@ long double TransportRoutines::modified_Batschinski_Hildebrand_viscosity_term(He long double delta = HEOS.rhomolar()/HO.rhomolar_reduce, tau = HO.T_reduce/HEOS.T(); - // The first term that is formed of powers of tau and delta + // The first term that is formed of powers of tau (Tc/T) and delta (rho/rhoc) long double S = 0; for (unsigned int i = 0; i < HO.a.size(); ++i){ S += HO.a[i]*pow(delta, HO.d1[i])*pow(tau, HO.t1[i])*exp(HO.gamma[i]*pow(delta, HO.l[i])); @@ -89,7 +109,6 @@ long double TransportRoutines::modified_Batschinski_Hildebrand_viscosity_term(He } long double delta0 = summer_numer/summer_denom; - double Tr = 1/tau; // The higher-order-term component return S + F*(1/(delta0-delta)-1/delta0); // Pa-s } @@ -98,7 +117,7 @@ long double TransportRoutines::modified_Batschinski_Hildebrand_viscosity_term(He } } -long double TransportRoutines::initial_density_dependence_viscosity_term(HelmholtzEOSMixtureBackend &HEOS) +long double TransportRoutines::viscosity_initial_density_dependence_Rainwater_Friend(HelmholtzEOSMixtureBackend &HEOS) { if (HEOS.is_pure_or_pseudopure) { @@ -119,7 +138,7 @@ long double TransportRoutines::initial_density_dependence_viscosity_term(Helmhol return B_eta; // [m^3/mol] } else{ - throw NotImplementedError("TransportRoutines::initial_density_dependence_viscosity_term is only for pure and pseudo-pure"); + throw NotImplementedError("TransportRoutines::viscosity_initial_density_dependence_Rainwater_Friend is only for pure and pseudo-pure"); } } diff --git a/src/Backends/Helmholtz/TransportRoutines.h b/src/Backends/Helmholtz/TransportRoutines.h index 2a402e90..bb81d798 100644 --- a/src/Backends/Helmholtz/TransportRoutines.h +++ b/src/Backends/Helmholtz/TransportRoutines.h @@ -19,7 +19,7 @@ public: \f] 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 general_dilute_gas_viscosity(HelmholtzEOSMixtureBackend &HEOS); + 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 @@ -32,21 +32,17 @@ public: \f] 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 dilute_gas_viscosity(HelmholtzEOSMixtureBackend &HEOS); + static long double viscosity_dilute_collision_integral(HelmholtzEOSMixtureBackend &HEOS); /** - \brief The modified Batschinski-Hildebrand contribution to the viscosity + \brief A dilute gas viscosity term formed of summation of power terms \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) + \eta^0 = \displaystyle\sum_ia_iT^{t_i} \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 + with T in K, \f$eta^0\f$ in Pa-s */ - static long double modified_Batschinski_Hildebrand_viscosity_term(HelmholtzEOSMixtureBackend &HEOS); + static long double viscosity_dilute_powers_of_T(HelmholtzEOSMixtureBackend &HEOS); /** \brief The initial density dependence term \f$B_{\eta}\f$ from Rainwater-Friend theory @@ -68,7 +64,23 @@ public: IMPORTANT: This function returns \f$B_{\eta}\f$, not \f$\eta_{RF}\f$ */ - static long double initial_density_dependence_viscosity_term(HelmholtzEOSMixtureBackend &HEOS); + 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$ + \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 + */ + static long double modified_Batschinski_Hildebrand_viscosity_term(HelmholtzEOSMixtureBackend &HEOS); + + }; }; /* namespace CoolProp */ diff --git a/src/Tests/CoolProp-Tests.cpp b/src/Tests/CoolProp-Tests.cpp index 8d4d7d6e..d0bfb87b 100644 --- a/src/Tests/CoolProp-Tests.cpp +++ b/src/Tests/CoolProp-Tests.cpp @@ -104,12 +104,12 @@ vel("CO2", "T", 304, "Dmass", 254.3205, "V", 20.99e-6, 1e-3), vel("CO2", "T", 220, "Dmass", 1194.86, "V", 269.37e-6, 1e-3), vel("CO2", "T", 300, "Dmass", 1029.27, "V", 132.55e-6, 1e-3), vel("CO2", "T", 800, "Dmass", 407.828, "V", 48.74e-6, 1e-3), -// -//// Tanaka, IJT, 1996 -//vel("R123", "T", 265, "Dmass", 1545.8, "V", 627.1e-6, 1e-3), -//vel("R123", "T", 265, "Dmass", 1.614, "V", 9.534e-6, 1e-3), -//vel("R123", "T", 415, "Dmass", 1079.4, "V", 121.3e-6, 1e-3), -//vel("R123", "T", 415, "Dmass", 118.9, "V", 15.82e-6, 1e-3), + +// Tanaka, IJT, 1996 +vel("R123", "T", 265, "Dmass", 1545.8, "V", 627.1e-6, 1e-3), +vel("R123", "T", 265, "Dmass", 1.614, "V", 9.534e-6, 1e-3), +vel("R123", "T", 415, "Dmass", 1079.4, "V", 121.3e-6, 1e-3), +vel("R123", "T", 415, "Dmass", 118.9, "V", 15.82e-6, 1e-3), // //// Krauss, IJT, 1996 //vel("R152A", "T", 242, "Dmass", 1025.5, "V", 347.3e-6, 1e-3),