From d741df4e2db3b78fb8f096fd7b91fb9c554b6213 Mon Sep 17 00:00:00 2001 From: Ian Bell Date: Tue, 27 May 2014 18:30:30 +0200 Subject: [PATCH] All fluid specific transport property correlations implemented - a few tests fail still, need to figure out why Signed-off-by: Ian Bell --- dev/fluids/Helium.json | 166 +++++++++--------- dev/fluids/R404A.json | 50 ++++++ dev/fluids/R407C.json | 51 ++++++ dev/fluids/R410A.json | 51 ++++++ dev/fluids/R507A.json | 51 ++++++ .../transport_correlation_conversion.ipynb | 95 +++++++++- include/CoolPropFluid.h | 2 + src/AbstractState.cpp | 8 + src/Backends/Helmholtz/Fluids/FluidLibrary.h | 6 + .../Helmholtz/HelmholtzEOSMixtureBackend.cpp | 4 + src/Backends/Helmholtz/TransportRoutines.cpp | 69 ++++++++ src/Backends/Helmholtz/TransportRoutines.h | 1 + src/Tests/CoolProp-Tests.cpp | 29 +++ 13 files changed, 493 insertions(+), 90 deletions(-) diff --git a/dev/fluids/Helium.json b/dev/fluids/Helium.json index aedc3177..97d7af3c 100644 --- a/dev/fluids/Helium.json +++ b/dev/fluids/Helium.json @@ -172,7 +172,7 @@ 3, 2, 2, - 8 + 1 ], "l": [ 0, @@ -189,46 +189,46 @@ 1 ], "n": [ - 0.009288766, - 0.9258069, - -1.718156, - 0.7606137, - -1.024864, - 0.1052455, - -0.1875722, - -0.1287812, - -0.002227619, - 0.1823465, - -0.04450014, - -8.729033e-05 + 0.014799269, + 3.06281562, + -4.25338698, + 0.05192797, + -0.165087335, + 0.087236897, + 2.10653786, + -0.6283503, + -0.28200301, + 1.04234019, + -0.07620555, + -1.35006365 ], "t": [ - 1, - 0.28, - 0.735, - 0.64, - 0.82, - 1.16, - 1.28, - 2, - 0.41, - 1.33, - 4.2, - 0.6 + 1.0, + 0.426, + 0.631, + 0.596, + 1.705, + 0.568, + 0.9524, + 1.471, + 1.48, + 1.393, + 3.863, + 0.803 ], "type": "ResidualHelmholtzPower" }, { "beta": [ - 0.0385, - 19.8246, - 9.3799, - 0.8073, - 0.031, - 0.0061, - 0.3581, - 0.7518, - 7.4629 + 8.005, + 1.15, + 2.143, + 0.147, + 0.154, + 0.701, + 0.21, + 0.134, + 19.256 ], "d": [ 1, @@ -238,63 +238,63 @@ 2, 2, 3, - 3, + 2, 2 ], "epsilon": [ - 0.6914, - 0.859, - 0.8787, - 2.7182, - 2.0301, - 0.89, - 1.179, - 0.568, - 1.6412 + 0.912, + 0.79, + 0.90567, + 5.1136, + 3.6022, + 0.6488, + 4.2753, + 2.744, + 0.8736 ], "eta": [ - 1.0833, - 18.3824, - 5.0573, - 0.2832, - 6.0582, - 0.2444, - 0.0539, - 0.185, - 0.5941 + 8.674, + 4.006, + 8.1099, + 0.1449, + 0.1784, + 2.432, + 0.0414, + 0.421, + 5.8575 ], "gamma": [ - 1.9776, - 1.6178, - 0.4371, - 0.5355, - 0.7777, - 0.4832, - 0.8162, - 1.2896, - 0.3577 + 1.1475, + 1.7036, + 1.6795, + 0.9512, + 4.475, + 2.7284, + 1.7167, + 1.5237, + 0.7649 ], "n": [ - 0.0385432, - -0.9585106, - -0.0545401, - -0.0368726, - -0.001021851, - 0.06166348, - 0.02493437, - -0.008127424, - -0.008233032 + 0.11997252, + 0.107245, + -0.35374839, + 0.75348862, + 0.00701871, + 0.226283167, + -0.22464733, + 0.12413584, + 0.00901399 ], "t": [ - 3, - 1, - 8.2, - 1, - 2.71, - 1, - 1, - 2, - 1 + 3.273, + 0.66, + 2.629, + 1.4379, + 3.317, + 2.3676, + 0.7545, + 1.353, + 1.982 ], "type": "ResidualHelmholtzGaussian" } @@ -313,7 +313,7 @@ "T_units": "K", "p": 227600, "p_units": "Pa", - "rhomolar": 18130, + "rhomolar": 17383.7, "rhomolar_units": "mol/m^3" }, "rhoLtriple": 36459.45454859136, @@ -324,6 +324,10 @@ ], "NAME": "Helium", "TRANSPORT": { + "conductivity": { + "BibTeX": "HANDS-CRYO-1981", + "hardcoded": "Helium" + }, "viscosity": { "BibTeX": "ARP-NIST-1998", "hardcoded": "Helium" diff --git a/dev/fluids/R404A.json b/dev/fluids/R404A.json index ce9057b6..b966cd81 100644 --- a/dev/fluids/R404A.json +++ b/dev/fluids/R404A.json @@ -289,6 +289,56 @@ ], "NAME": "R404A", "TRANSPORT": { + "conductivity": { + "BibTeX": "Geller-PURDUE-2001", + "critical": { + "hardcoded": "None" + }, + "dilute": { + "A": [ + -0.008624, + 7.36e-05 + ], + "B": [ + 1.0 + ], + "T_reducing": 1, + "T_reducing_units": "K", + "m": [ + 0 + ], + "n": [ + 0, + 1 + ], + "type": "ratio_of_polynomials" + }, + "residual": { + "B": [ + 0.01553528451384, + 0.0059724353152729795, + -0.0030186820979668776, + 0.0010847310542822014 + ], + "T_reducing": 345.27, + "T_reducing_units": "K", + "d": [ + 1, + 2, + 3, + 4 + ], + "rhomass_reducing": 482.162772, + "rhomass_reducing_units": "kg/m^3", + "t": [ + 0, + 0, + 0, + 0 + ], + "type": "polynomial" + } + }, "viscosity": { "BibTeX": "Geller-PURDUE-2000", "dilute": { diff --git a/dev/fluids/R407C.json b/dev/fluids/R407C.json index 4a0a7599..7d5b6065 100644 --- a/dev/fluids/R407C.json +++ b/dev/fluids/R407C.json @@ -285,6 +285,57 @@ ], "NAME": "R407C", "TRANSPORT": { + "conductivity": { + "BibTeX": "Geller-PURDUE-2001", + "critical": { + "hardcoded": "None" + }, + "dilute": { + "A": [ + -0.009628, + 7.638e-05 + ], + "B": [ + 1.0 + ], + "T_reducing": 1, + "T_reducing_units": "K", + "m": [ + 0 + ], + "n": [ + 0, + 1, + 2 + ], + "type": "ratio_of_polynomials" + }, + "residual": { + "B": [ + 0.012310650021, + 0.010203909009044946, + -0.004579223187488973, + 0.001219101484546316 + ], + "T_reducing": 359.345, + "T_reducing_units": "K", + "d": [ + 1, + 2, + 3, + 4 + ], + "rhomass_reducing": 453.43094, + "rhomass_reducing_units": "kg/m^3", + "t": [ + 0, + 0, + 0, + 0 + ], + "type": "polynomial" + } + }, "viscosity": { "BibTeX": "Geller-PURDUE-2000", "dilute": { diff --git a/dev/fluids/R410A.json b/dev/fluids/R410A.json index e3f96ec5..b2268509 100644 --- a/dev/fluids/R410A.json +++ b/dev/fluids/R410A.json @@ -285,6 +285,57 @@ ], "NAME": "R410A", "TRANSPORT": { + "conductivity": { + "BibTeX": "Geller-PURDUE-2001", + "critical": { + "hardcoded": "None" + }, + "dilute": { + "A": [ + -0.008872, + 7.41e-05 + ], + "B": [ + 1.0 + ], + "T_reducing": 1, + "T_reducing_units": "K", + "m": [ + 0 + ], + "n": [ + 0, + 1, + 2 + ], + "type": "ratio_of_polynomials" + }, + "residual": { + "B": [ + 0.016414915288896, + -0.0019058593303886919, + 0.00420061845936278, + -0.0001644950202819914 + ], + "T_reducing": 344.494, + "T_reducing_units": "K", + "d": [ + 1, + 2, + 3, + 4 + ], + "rhomass_reducing": 459.0300696, + "rhomass_reducing_units": "kg/m^3", + "t": [ + 0, + 0, + 0, + 0 + ], + "type": "polynomial" + } + }, "viscosity": { "BibTeX": "Geller-PURDUE-2000", "dilute": { diff --git a/dev/fluids/R507A.json b/dev/fluids/R507A.json index 95b83bf9..b30c9c99 100644 --- a/dev/fluids/R507A.json +++ b/dev/fluids/R507A.json @@ -289,6 +289,57 @@ ], "NAME": "R507A", "TRANSPORT": { + "conductivity": { + "BibTeX": "Geller-PURDUE-2001", + "critical": { + "hardcoded": "None" + }, + "dilute": { + "A": [ + -0.008656, + 7.383e-05 + ], + "B": [ + 1.0 + ], + "T_reducing": 1, + "T_reducing_units": "K", + "m": [ + 0 + ], + "n": [ + 0, + 1, + 2 + ], + "type": "ratio_of_polynomials" + }, + "residual": { + "B": [ + 0.013735812600000001, + 0.00738130916394, + -0.004306582229626043, + 0.0015131427920482105 + ], + "T_reducing": 343.765, + "T_reducing_units": "K", + "d": [ + 1, + 2, + 3, + 4 + ], + "rhomass_reducing": 490.74, + "rhomass_reducing_units": "kg/m^3", + "t": [ + 0, + 0, + 0, + 0 + ], + "type": "polynomial" + } + }, "viscosity": { "BibTeX": "Geller-PURDUE-2000", "dilute": { diff --git a/doc/notebooks/transport_correlation_conversion.ipynb b/doc/notebooks/transport_correlation_conversion.ipynb index df7fd96d..716d23d6 100644 --- a/doc/notebooks/transport_correlation_conversion.ipynb +++ b/doc/notebooks/transport_correlation_conversion.ipynb @@ -407,27 +407,31 @@ ] } ], - "prompt_number": 8 + "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ - "6323.999999999999*0.07258540000000001" + "# Conductivity\n", + "import numpy as np\n", + "rhom = 459.0300696\n", + "b = np.array([3.576e-2,-9.045e-6,4.343e-8,-3.705e-12])/1e3\n", + "t = np.array(range(1,5))\n", + "print (b*rhom**t).tolist()" ], "language": "python", "metadata": {}, "outputs": [ { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 7, + "output_type": "stream", + "stream": "stdout", "text": [ - "459.0300696" + "[0.016414915288896, -0.0019058593303886919, 0.00420061845936278, -0.0001644950202819914]\n" ] } ], - "prompt_number": 7 + "prompt_number": 14 }, { "cell_type": "heading", @@ -441,6 +445,7 @@ "cell_type": "code", "collapsed": false, "input": [ + "# Viscosity \n", "import numpy as np\n", "rhom = 453.43094\n", "b = np.array([0,-3.038e-3,2.927e-4,-9.559e-7,1.739e-9,-1.455e-12,4.756e-16])/1e6\n", @@ -460,6 +465,30 @@ ], "prompt_number": 5 }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Conductivity\n", + "import numpy as np\n", + "rhom = 453.43094\n", + "b = np.array([2.715e-2,4.963e-5,-4.912e-8,2.884e-11])/1e3\n", + "t = np.array(range(1,5))\n", + "print (b*rhom**t).tolist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "[0.012310650021, 0.010203909009044946, -0.004579223187488973, 0.001219101484546316]\n" + ] + } + ], + "prompt_number": 15 + }, { "cell_type": "heading", "level": 1, @@ -476,7 +505,7 @@ "rhom = 482.162772\n", "b = np.array([0,2.260e-3,1.786e-4,-4.202e-7,8.489e-10,-8.670e-13,3.566e-16])/1e6\n", "t = np.array(range(7))\n", - "print (b*rhom**t).tolist()" + "print (b*rhom**t).tolist()\n" ], "language": "python", "metadata": {}, @@ -491,6 +520,30 @@ ], "prompt_number": 7 }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Conductivity\n", + "import numpy as np\n", + "rhom = 482.162772\n", + "b = np.array([3.222e-2, 2.569e-5, -2.693e-8, 2.007e-11])/1e3\n", + "t = np.array(range(1,5))\n", + "print (b*rhom**t).tolist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "[0.01553528451384, 0.0059724353152729795, -0.0030186820979668776, 0.0010847310542822014]\n" + ] + } + ], + "prompt_number": 16 + }, { "cell_type": "heading", "level": 1, @@ -520,7 +573,31 @@ ] } ], - "prompt_number": 8 + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Conductivity\n", + "import numpy as np\n", + "rhom = 490.74\n", + "b = np.array([2.799e-2, 3.065e-5, -3.644e-8, 2.609e-11])/1e3\n", + "t = np.array(range(1,5))\n", + "print (b*rhom**t).tolist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "[0.013735812600000001, 0.00738130916394, -0.004306582229626043, 0.0015131427920482105]\n" + ] + } + ], + "prompt_number": 17 } ], "metadata": {} diff --git a/include/CoolPropFluid.h b/include/CoolPropFluid.h index 2429a942..293457d2 100644 --- a/include/CoolPropFluid.h +++ b/include/CoolPropFluid.h @@ -113,6 +113,7 @@ struct ConductivityCriticalVariables enum ConductivityResidualEnum {CONDUCTIVITY_CRITICAL_SIMPLIFIED_OLCHOWY_SENGERS, CONDUCTIVITY_CRITICAL_R123, CONDUCTIVITY_CRITICAL_AMMONIA, + CONDUCTIVITY_CRITICAL_NONE, CONDUCTIVITY_CRITICAL_NOT_SET }; int type; @@ -199,6 +200,7 @@ public: enum ConductivityDiluteEnum { CONDUCTIVITY_HARDCODED_WATER, CONDUCTIVITY_HARDCODED_R23, + CONDUCTIVITY_HARDCODED_HELIUM, CONDUCTIVITY_NOT_HARDCODED }; ViscosityDiluteVariables viscosity_dilute; diff --git a/src/AbstractState.cpp b/src/AbstractState.cpp index f6eb56e9..637a65b2 100644 --- a/src/AbstractState.cpp +++ b/src/AbstractState.cpp @@ -182,6 +182,14 @@ double AbstractState::keyed_output(int key) return umolar(); case iUmass: return umolar()/molar_mass(); + case iCvmolar: + return cvmolar(); + case iCvmass: + return cvmolar()/molar_mass(); + case iCpmolar: + return cpmolar(); + case iCpmass: + return cpmolar()/molar_mass(); case imolar_mass: return molar_mass(); case iT_reducing: diff --git a/src/Backends/Helmholtz/Fluids/FluidLibrary.h b/src/Backends/Helmholtz/Fluids/FluidLibrary.h index 041c0bcb..a64a5541 100644 --- a/src/Backends/Helmholtz/Fluids/FluidLibrary.h +++ b/src/Backends/Helmholtz/Fluids/FluidLibrary.h @@ -583,6 +583,9 @@ protected: else if (!target.compare("Ammonia")){ fluid.transport.conductivity_critical.type = CoolProp::ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_AMMONIA; return; } + else if (!target.compare("None")){ + fluid.transport.conductivity_critical.type = CoolProp::ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_NONE; return; + } else{ throw ValueError(format("critical conductivity term [%s] is not understood for fluid %s",target.c_str(), fluid.name.c_str())); } @@ -619,6 +622,9 @@ protected: else if (!target.compare("R23")){ fluid.transport.hardcoded_conductivity = CoolProp::TransportPropertyData::CONDUCTIVITY_HARDCODED_R23; return; } + else if (!target.compare("Helium")){ + fluid.transport.hardcoded_conductivity = CoolProp::TransportPropertyData::CONDUCTIVITY_HARDCODED_HELIUM; return; + } else{ throw ValueError(format("hardcoded residual conductivity term [%s] is not understood for fluid %s",target.c_str(), fluid.name.c_str())); } diff --git a/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp b/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp index 4254b5f7..5542e19e 100644 --- a/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp +++ b/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp @@ -223,6 +223,8 @@ long double HelmholtzEOSMixtureBackend::calc_conductivity(void) return TransportRoutines::conductivity_hardcoded_water(*this); case CoolProp::TransportPropertyData::CONDUCTIVITY_HARDCODED_R23: return TransportRoutines::conductivity_hardcoded_R23(*this); + case CoolProp::TransportPropertyData::CONDUCTIVITY_HARDCODED_HELIUM: + return TransportRoutines::conductivity_hardcoded_helium(*this); default: throw ValueError(format("hardcoded viscosity type [%d] is invalid for fluid %s", components[0]->transport.hardcoded_conductivity, name().c_str())); } @@ -266,6 +268,8 @@ long double HelmholtzEOSMixtureBackend::calc_conductivity(void) lambda_critical = TransportRoutines::conductivity_critical_hardcoded_R123(*this); break; case ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_AMMONIA: lambda_critical = TransportRoutines::conductivity_critical_hardcoded_ammonia(*this); break; + case ConductivityCriticalVariables::CONDUCTIVITY_CRITICAL_NONE: + lambda_critical = 0.0; break; default: throw ValueError(format("critical conductivity type [%d] is invalid for fluid %s", components[0]->transport.viscosity_dilute.type, name().c_str())); } diff --git a/src/Backends/Helmholtz/TransportRoutines.cpp b/src/Backends/Helmholtz/TransportRoutines.cpp index a996fa1c..55bc2c65 100644 --- a/src/Backends/Helmholtz/TransportRoutines.cpp +++ b/src/Backends/Helmholtz/TransportRoutines.cpp @@ -744,4 +744,73 @@ long double TransportRoutines::conductivity_critical_hardcoded_ammonia(Helmholtz return DELTA_lambda; } +long double TransportRoutines::conductivity_hardcoded_helium(HelmholtzEOSMixtureBackend &HEOS){ + /* + What an incredibly annoying formulation! Implied coefficients?? Not cool. + */ + double rhoc = 68.0, lambda_e, lambda_c, T = HEOS.T(), rho = HEOS.keyed_output(CoolProp::iDmass); + double summer = 3.739232544/T-2.620316969e1/T/T+5.982252246e1/T/T/T-4.926397634e1/T/T/T/T; + double lambda_0 = 2.7870034e-3*pow(T, 7.034007057e-1)*exp(summer); + double c[]={ 1.862970530e-4, + -7.275964435e-7, + -1.427549651e-4, + 3.290833592e-5, + -5.213335363e-8, + 4.492659933e-8, + -5.924416513e-9, + 7.087321137e-6, + -6.013335678e-6, + 8.067145814e-7, + 3.995125013e-7}; + // Equation 17 + lambda_e = (c[0]+c[1]*T+c[2]*pow(T,1/3.0)+c[3]*pow(T,2.0/3.0))*rho + +(c[4]+c[5]*pow(T,1.0/3.0)+c[6]*pow(T,2.0/3.0))*rho*rho*rho + +(c[7]+c[8]*pow(T,1.0/3.0)+c[9]*pow(T,2.0/3.0)+c[10]/T)*rho*rho*log(rho/rhoc); + + // Critical component + lambda_c = 0.0; + + if (3.5 < T & T < 12) + { + double x0 = 0.392, E1 = 2.8461, E2 = 0.27156, beta = 0.3554, gamma = 1.1743, delta = 4.304, rhoc_crit = 69.158, + Tc = 5.18992, pc = 2.2746e5, R = 4.633e-10, m = 6.6455255e-27, k = 1.38066e-23, pi = M_PI; + + double DeltaT = fabs(1-T/Tc), DeltaRho = fabs(1-rho/rhoc_crit); + double eta = HEOS.viscosity(); // [Pa-s] + double K_T = HEOS.isothermal_compressibility(), K_Tprime, K_Tbar; + double dpdT = HEOS.first_partial_deriv(CoolProp::iP, CoolProp::iT, CoolProp::iDmolar); + + double W = pow(DeltaT/0.2,2) + pow(DeltaRho/0.25,2); + + if (W > 1) + { + K_Tbar = K_T; + } + else + { + double x = pow(DeltaT/DeltaRho,1/beta); + double h = E1*(1 + x/x0)*pow(1 + E2*pow(1 + x/x0, 2/beta), (gamma-1)/(2*beta)); + + /** + dh/dx derived using sympy: + + E1,x,x0,E2,beta,gamma = symbols('E1,x,x0,E2,beta,gamma') + h = E1*(1 + x/x0)*pow(1 + E2*pow(1 + x/x0, 2/beta), (gamma-1)/(2*beta)) + ccode(simplify(diff(h,x))) + */ + double dhdx = E1*(E2*pow((x + x0)/x0, 2/beta)*(gamma - 1)*pow(E2*pow((x + x0)/x0, 2/beta) + 1, (1.0/2.0)*(gamma - 1)/beta) + pow(beta, 2)*pow(E2*pow((x + x0)/x0, 2/beta) + 1, (1.0/2.0)*(2*beta + gamma - 1)/beta))/(pow(beta, 2)*x0*(E2*pow((x + x0)/x0, 2/beta) + 1)); + // Right-hand-side of Equation 9 + double RHS = pow(DeltaRho,delta-1)*(delta*h-x/beta*dhdx); + K_Tprime = 1/(RHS*pow(rho/rhoc_crit,2)*pc); + K_Tbar = W*K_T + (1-W)*K_Tprime; + } + + double c1 = 1/(6*pi*R); + double c2 = sqrt(m*k); + double c3 = c1*c2; + lambda_c = sqrt(m*K_Tbar*k*pow(T,3)/rho)/(6*pi*eta*R)*pow(dpdT,2)*exp(-18.66*pow(DeltaT,2)-4.25*pow(DeltaRho,4)); + } + return lambda_0+lambda_e+lambda_c; +} + }; /* namespace CoolProp */ \ No newline at end of file diff --git a/src/Backends/Helmholtz/TransportRoutines.h b/src/Backends/Helmholtz/TransportRoutines.h index 355cd59b..fdecdfa2 100644 --- a/src/Backends/Helmholtz/TransportRoutines.h +++ b/src/Backends/Helmholtz/TransportRoutines.h @@ -168,6 +168,7 @@ public: static long double conductivity_hardcoded_water(HelmholtzEOSMixtureBackend &HEOS); static long double conductivity_hardcoded_R23(HelmholtzEOSMixtureBackend &HEOS); + static long double conductivity_hardcoded_helium(HelmholtzEOSMixtureBackend &HEOS); static long double conductivity_critical_hardcoded_ammonia(HelmholtzEOSMixtureBackend &HEOS); diff --git a/src/Tests/CoolProp-Tests.cpp b/src/Tests/CoolProp-Tests.cpp index 559eae4d..f3136f09 100644 --- a/src/Tests/CoolProp-Tests.cpp +++ b/src/Tests/CoolProp-Tests.cpp @@ -411,9 +411,38 @@ vel("R23", "T", 180, "Dmolar", 21097, "L", 143.19e-3, 1e-4), vel("R23", "T", 420, "Dmolar", 7564, "L", 50.19e-3, 1e-4), vel("R23", "T", 370, "Dmolar", 32.62, "L", 17.455e-3, 1e-4), +// From REFPROP 9.1 since no sample data provided in Tufeu vel("Ammonia", "T", 310, "Dmolar", 34320, "L", 0.45223303481784971, 1e-4), vel("Ammonia", "T", 395, "Q", 0, "L", 0.2264480769301, 1e-4), +// From Hands, Cryogenics, 1981 +vel("Helium", "T", 800, "P", 1e5, "L", 0.3085, 1e-4), +vel("Helium", "T", 300, "P", 1e5, "L", 0.1560, 1e-4), +vel("Helium", "T", 20, "P", 1e5, "L", 0.0262, 1e-4), +vel("Helium", "T", 8, "P", 1e5, "L", 0.0145, 1e-4), +vel("Helium", "T", 4, "P", 20e5, "L", 0.0255, 1e-4), +vel("Helium", "T", 8, "P", 20e5, "L", 0.0308, 1e-4), +vel("Helium", "T", 20, "P", 20e5, "L", 0.0328, 1e-4), +vel("Helium", "T", 4, "P", 100e5, "L", 0.0385, 1e-4), +vel("Helium", "T", 8, "P", 100e5, "L", 0.0566, 1e-4), +vel("Helium", "T", 20, "P", 100e5, "L", 0.0594, 1e-4), +vel("Helium", "T", 4, "P", 1e5, "L", 0.0186, 1e-4), +vel("Helium", "T", 4, "P", 2e5, "L", 0.0194, 1e-4), +vel("Helium", "T", 5.180, "P", 2.3e5, "L", 0.0195, 1e-4), +vel("Helium", "T", 5.2, "P", 2.3e5, "L", 0.0202, 1e-4), +vel("Helium", "T", 5.230, "P", 2.3e5, "L", 0.0181, 1e-4), +vel("Helium", "T", 5.260, "P", 2.3e5, "L", 0.0159, 1e-4), +vel("Helium", "T", 5.3, "P", 2.3e5, "L", 0.0149, 1e-4), + +// Geller, IJT, 2001 - based on experimental data, no validation data provided +vel("R404A", "T", 253.03, "P", 0.101e6, "L", 0.00991, 0.03), +vel("R404A", "T", 334.38, "P", 2.176e6, "L", 19.93e-3, 0.03), +vel("R407C", "T", 253.45, "P", 0.101e6, "L", 0.00970, 0.03), +vel("R407C", "T", 314.39, "P", 0.458e6, "L", 14.87e-3, 0.03), +vel("R410A", "T", 260.32, "P", 0.101e6, "L", 0.01043, 0.03), +vel("R410A", "T", 332.09, "P", 3.690e6, "L", 22.76e-3, 0.03), +vel("R507A", "T", 254.85, "P", 0.101e6, "L", 0.01007, 0.03), +vel("R507A", "T", 333.18, "P", 2.644e6, "L", 21.31e-3, 0.03), }; TEST_CASE_METHOD(TransportValidationFixture, "Compare thermal conductivities against published data", "[conductivity]")