diff --git a/CoolPropBibTeXLibrary.bib b/CoolPropBibTeXLibrary.bib index 7db1eeff..bbd68061 100644 --- a/CoolPropBibTeXLibrary.bib +++ b/CoolPropBibTeXLibrary.bib @@ -3258,4 +3258,13 @@ Year = {1994} } +@article{Huber-JPCRD-2016-CO2, + title = {{Reference Correlation of the Thermal Conductivity of Carbon Dioxide from the Triple Point to 1100 K and up to 200 MPa}}, + volume = {45}, + doi = {10.1063/1.4940892}, + number = {1}, + journal = {Journal of Physical and Chemical Reference Data}, + author = {M. L. Huber and E. A. Sykioti and M. J. Assael and R. A. Perkins}, +} + @Comment{jabref-meta: databaseType:bibtex;} diff --git a/dev/fluids/CarbonDioxide.json b/dev/fluids/CarbonDioxide.json index e07c63d9..2513463f 100644 --- a/dev/fluids/CarbonDioxide.json +++ b/dev/fluids/CarbonDioxide.json @@ -615,79 +615,68 @@ }, "TRANSPORT": { "conductivity": { - "BibTeX": "Scalabrin-JPCRD-2006-CO2", + "BibTeX": "Huber-JPCRD-2016-CO2", "critical": { - "hardcoded": "CarbonDioxideScalabrinJPCRD2006" + "GAMMA": 0.052, + "R0": 1.02, + "T_ref": 456.19, + "gamma": 1.239, + "nu": 0.63, + "qD": 2500000000.0, + "zeta0": 1.5e-10, + "type": "simplified_Olchowy_Sengers" }, "dilute": { - "hardcoded": "none" + "hardcoded": "CarbonDioxideHuberJPCRD2016" }, "residual": { - "A": [ - 0.0370597124660408, - 0.0007696647124242399, - 0.0075538113451464, - -0.032416436589336, - 0.078894098855904, - 0.0177830586854928, - 0.10744756315137599, - 0.31839746259479995, - -0.00082691726160072, - 2.0846013855224798e-05 + "B": [ + 0.0100128, + 0.0560488, + -0.0811620, + 0.0624337, + -0.0206336, + 0.00253248, + 0.00430829, + -0.0358563, + 0.0671480, + -0.0522855, + 0.0174571, + -0.00196414 ], "T_reducing": 304.1282, "T_reducing_units": "K", "d": [ 1.0, + 2.0, + 3.0, + 4.0, 5.0, - 1.0, + 6.0, 1.0, 2.0, - 0.0, + 3.0, + 4.0, 5.0, - 9.0, - 0.0, - 0.0 - ], - "gamma": [ - 0, - 0, - 0, - 5, - 5, - 5, - 5, - 5, - 5, - 5 - ], - "l": [ - 0, - 0, - 0, - 2, - 2, - 2, - 2, - 2, - 2, - 2 + 6.0 ], "rhomass_reducing": 467.6, "rhomass_reducing_units": "kg/m^3", "t": [ 0.0, 0.0, - -1.5, + 0.0, + 0.0, + 0.0, 0.0, -1.0, - -1.5, - -1.5, - -1.5, - -3.5, - -5.5 + -1.0, + -1.0, + -1.0, + -1.0, + -1.0 ], - "type": "polynomial_and_exponential" + "type": "polynomial" } }, "viscosity": { diff --git a/include/CoolPropFluid.h b/include/CoolPropFluid.h index 093bd294..93ac8d72 100644 --- a/include/CoolPropFluid.h +++ b/include/CoolPropFluid.h @@ -134,6 +134,7 @@ struct ConductivityDiluteVariables CONDUCTIVITY_DILUTE_RATIO_POLYNOMIALS, CONDUCTIVITY_DILUTE_ETA0_AND_POLY, CONDUCTIVITY_DILUTE_CO2, + CONDUCTIVITY_DILUTE_CO2_HUBER_JPCRD_2016, CONDUCTIVITY_DILUTE_ETHANE, CONDUCTIVITY_DILUTE_NONE, CONDUCTIVITY_DILUTE_NOT_SET diff --git a/src/Backends/Helmholtz/Fluids/FluidLibrary.h b/src/Backends/Helmholtz/Fluids/FluidLibrary.h index 67986ffe..65ccd575 100644 --- a/src/Backends/Helmholtz/Fluids/FluidLibrary.h +++ b/src/Backends/Helmholtz/Fluids/FluidLibrary.h @@ -774,6 +774,10 @@ class JSONFluidLibrary if (!target.compare("CO2")) { fluid.transport.conductivity_dilute.type = CoolProp::ConductivityDiluteVariables::CONDUCTIVITY_DILUTE_CO2; return; + } + else if (!target.compare("CarbonDioxideHuberJPCRD2016")) { + fluid.transport.conductivity_dilute.type = CoolProp::ConductivityDiluteVariables::CONDUCTIVITY_DILUTE_CO2_HUBER_JPCRD_2016; + return; } else if (!target.compare("Ethane")) { fluid.transport.conductivity_dilute.type = CoolProp::ConductivityDiluteVariables::CONDUCTIVITY_DILUTE_ETHANE; return; diff --git a/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp b/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp index dbc4fc74..04360172 100644 --- a/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp +++ b/src/Backends/Helmholtz/HelmholtzEOSMixtureBackend.cpp @@ -826,6 +826,9 @@ void HelmholtzEOSMixtureBackend::calc_conductivity_contributions(CoolPropDbl& di case ConductivityDiluteVariables::CONDUCTIVITY_DILUTE_CO2: dilute = TransportRoutines::conductivity_dilute_hardcoded_CO2(*this); break; + case ConductivityDiluteVariables::CONDUCTIVITY_DILUTE_CO2_HUBER_JPCRD_2016: + dilute = TransportRoutines::conductivity_dilute_hardcoded_CO2_HuberJPCRD2016(*this); + break; case ConductivityDiluteVariables::CONDUCTIVITY_DILUTE_ETHANE: dilute = TransportRoutines::conductivity_dilute_hardcoded_ethane(*this); break; diff --git a/src/Backends/Helmholtz/TransportRoutines.cpp b/src/Backends/Helmholtz/TransportRoutines.cpp index 074357f9..273f8505 100644 --- a/src/Backends/Helmholtz/TransportRoutines.cpp +++ b/src/Backends/Helmholtz/TransportRoutines.cpp @@ -797,6 +797,16 @@ CoolPropDbl TransportRoutines::conductivity_dilute_hardcoded_CO2(HelmholtzEOSMix return lambda_0; } +CoolPropDbl TransportRoutines::conductivity_dilute_hardcoded_CO2_HuberJPCRD2016(HelmholtzEOSMixtureBackend& HEOS) { + + double tau = HEOS.tau(); + double l[]={0.0151874307, 0.0280674040, 0.0228564190, -0.00741624210}; + // Huber 2016 Eq. (3) + double lambda_0 = pow(tau, -0.5)/(l[0] + l[1] * tau + l[2] * pow(tau, 2) + l[3] * pow(tau, 3)); // [mW/m/K] + + return lambda_0/1000; +} + CoolPropDbl TransportRoutines::conductivity_dilute_hardcoded_ethane(HelmholtzEOSMixtureBackend& HEOS) { double e_k = 245.0; diff --git a/src/Backends/Helmholtz/TransportRoutines.h b/src/Backends/Helmholtz/TransportRoutines.h index 575e748b..c645b64f 100644 --- a/src/Backends/Helmholtz/TransportRoutines.h +++ b/src/Backends/Helmholtz/TransportRoutines.h @@ -237,6 +237,8 @@ class TransportRoutines static CoolPropDbl conductivity_critical_hardcoded_CO2_ScalabrinJPCRD2006(HelmholtzEOSMixtureBackend& HEOS); static CoolPropDbl conductivity_critical_hardcoded_R123(HelmholtzEOSMixtureBackend& HEOS); static CoolPropDbl conductivity_dilute_hardcoded_CO2(HelmholtzEOSMixtureBackend& HEOS); + static CoolPropDbl conductivity_dilute_hardcoded_CO2_HuberJPCRD2016(HelmholtzEOSMixtureBackend& HEOS); + static CoolPropDbl conductivity_dilute_hardcoded_ethane(HelmholtzEOSMixtureBackend& HEOS); static CoolPropDbl conductivity_dilute_eta0_and_poly(HelmholtzEOSMixtureBackend& HEOS);