https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Classes | Functions
GasTransportUtils Namespace Reference

Transport properties of dilute gases: Lennard-Jones parameters of the NASA 7-coefficient species, collision integrals, Chapman-Enskog viscosity and binary diffusion coefficients, the modified Eucken thermal conductivity, and the low-density viscosity and thermal conductivity of steam. More...

Classes

struct  LennardJonesParameters
 Parameters of the Lennard-Jones (12-6) potential of a species. More...
 

Functions

const LennardJonesParameters & lennardJonesParameters (const std::string &name)
 Lennard-Jones parameters of a built-in species.
 
template<typename CppType >
CppType collisionIntegral11 (const CppType &T_reduced)
 Reduced collision integral Omega(1,1)* of the Lennard-Jones potential, which enters the binary diffusion coefficient, from the fit of Neufeld et al.
 
template<typename CppType >
CppType collisionIntegral22 (const CppType &T_reduced)
 Reduced collision integral Omega(2,2)* of the Lennard-Jones potential, which enters the viscosity, from the fit of Neufeld et al.
 
template<typename CppType >
CppType viscosity (const CppType &T, const Real molar_mass, const LennardJonesParameters &lj)
 Chapman-Enskog viscosity of a dilute gas [Pa s].
 
template<typename CppType >
CppType binaryDiffusionCoefficient (const CppType &p, const CppType &T, const Real molar_mass_i, const Real molar_mass_j, const LennardJonesParameters &lj_i, const LennardJonesParameters &lj_j)
 Chapman-Enskog binary diffusion coefficient of a dilute gas pair [m^2/s], with the Lorentz-Berthelot combining rules for the Lennard-Jones parameters of the pair.
 
template<typename CppType >
CppType modifiedEuckenConductivity (const CppType &mu, const CppType &cp_over_R, const Real R_specific)
 Thermal conductivity of a dilute gas from the modified Eucken correlation [W/(m K)], k = mu R_s (1.32 cp/R + 0.45), with the specific gas constant R_s.
 
template<typename CppType >
CppType steamViscosityZeroDensity (const CppType &T)
 Viscosity of steam in the limit of zero density [Pa s], from the IAPWS 2008 formulation, as in Water97FluidProperties.
 
template<typename CppType >
CppType steamConductivityZeroDensity (const CppType &T)
 Thermal conductivity of steam in the limit of zero density [W/(m K)], from the IAPWS 2011 formulation.
 

Detailed Description

Transport properties of dilute gases: Lennard-Jones parameters of the NASA 7-coefficient species, collision integrals, Chapman-Enskog viscosity and binary diffusion coefficients, the modified Eucken thermal conductivity, and the low-density viscosity and thermal conductivity of steam.

The functions are templated so that they accept automatic differentiation types.

Function Documentation

◆ binaryDiffusionCoefficient()

template<typename CppType >
CppType GasTransportUtils::binaryDiffusionCoefficient ( const CppType &  p,
const CppType &  T,
const Real  molar_mass_i,
const Real  molar_mass_j,
const LennardJonesParameters &  lj_i,
const LennardJonesParameters &  lj_j 
)

Chapman-Enskog binary diffusion coefficient of a dilute gas pair [m^2/s], with the Lorentz-Berthelot combining rules for the Lennard-Jones parameters of the pair.

Parameters
[in]ppressure [Pa]
[in]Ttemperature [K]
[in]molar_mass_imolar mass of the first species [kg/mol]
[in]molar_mass_jmolar mass of the second species [kg/mol]
[in]lj_iLennard-Jones parameters of the first species
[in]lj_jLennard-Jones parameters of the second species

Definition at line 101 of file GasTransportUtils.h.

107{
108 using std::sqrt;
109 const Real sigma = 0.5 * (lj_i.sigma + lj_j.sigma);
110 const Real epsilon_over_k = std::sqrt(lj_i.epsilon_over_k * lj_j.epsilon_over_k);
111 const Real reduced_mass = molar_mass_i * molar_mass_j / (molar_mass_i + molar_mass_j) /
114 return 3.0 / 16.0 * sqrt(2 * libMesh::pi * k_B * T / reduced_mass) * k_B * T /
115 (p * libMesh::pi * sigma * sigma * collisionIntegral11(T / epsilon_over_k));
116}
const Real p
const double T
constexpr Real k_B
Boltzmann constant with units of J/K.
Definition Maxwellian.h:15
CppType collisionIntegral11(const CppType &T_reduced)
Reduced collision integral Omega(1,1)* of the Lennard-Jones potential, which enters the binary diffus...
const auto boltzmann_constant
const Real pi
Real epsilon_over_k
Depth of the potential well divided by the Boltzmann constant [K].

Referenced by IdealGasMixtureFluidProperties::binaryDiffusionCoefficient_templ(), TEST_F(), TEST_F(), and TEST_F().

◆ collisionIntegral11()

template<typename CppType >
CppType GasTransportUtils::collisionIntegral11 ( const CppType &  T_reduced)

Reduced collision integral Omega(1,1)* of the Lennard-Jones potential, which enters the binary diffusion coefficient, from the fit of Neufeld et al.

(1972), valid for reduced temperatures from 0.3 to 100

Definition at line 50 of file GasTransportUtils.h.

51{
52 using std::exp, std::pow;
53 return 1.06036 / pow(T_reduced, 0.15610) + 0.19300 * exp(-0.47635 * T_reduced) +
54 1.03587 * exp(-1.52996 * T_reduced) + 1.76474 * exp(-3.89411 * T_reduced);
55}
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

Referenced by binaryDiffusionCoefficient().

◆ collisionIntegral22()

template<typename CppType >
CppType GasTransportUtils::collisionIntegral22 ( const CppType &  T_reduced)

Reduced collision integral Omega(2,2)* of the Lennard-Jones potential, which enters the viscosity, from the fit of Neufeld et al.

(1972), valid for reduced temperatures from 0.3 to 100

Definition at line 63 of file GasTransportUtils.h.

64{
65 using std::exp, std::pow;
66 return 1.16145 / pow(T_reduced, 0.14874) + 0.52487 * exp(-0.77320 * T_reduced) +
67 2.16178 * exp(-2.43787 * T_reduced);
68}

Referenced by viscosity().

◆ lennardJonesParameters()

const LennardJonesParameters & GasTransportUtils::lennardJonesParameters ( const std::string &  name)

Lennard-Jones parameters of a built-in species.

Parameters
[in]namespecies name: H2, O2, H2O, CH4, CO, CO2, or N2

Definition at line 34 of file GasTransportUtils.C.

35{
36 for (const auto & [species, parameters] : lennard_jones_data)
37 if (species == name)
38 return parameters;
39
40 mooseError("No Lennard-Jones parameters for species '", name, "'.");
41}
void mooseError(Args &&... args)
const std::string name
Definition Setup.h:21

Referenced by TEST_F(), TEST_F(), and TEST_F().

◆ modifiedEuckenConductivity()

template<typename CppType >
CppType GasTransportUtils::modifiedEuckenConductivity ( const CppType &  mu,
const CppType &  cp_over_R,
const Real  R_specific 
)

Thermal conductivity of a dilute gas from the modified Eucken correlation [W/(m K)], k = mu R_s (1.32 cp/R + 0.45), with the specific gas constant R_s.

Parameters
[in]muviscosity [Pa s]
[in]cp_over_Rmolar isobaric heat capacity divided by the gas constant
[in]R_specificspecific gas constant [J/(kg K)]

Definition at line 128 of file GasTransportUtils.h.

129{
130 return mu * R_specific * (1.32 * cp_over_R + 0.45);
131}
const double mu

Referenced by NASA7IdealGasFluidProperties::k_from_T().

◆ steamConductivityZeroDensity()

template<typename CppType >
CppType GasTransportUtils::steamConductivityZeroDensity ( const CppType &  T)

Thermal conductivity of steam in the limit of zero density [W/(m K)], from the IAPWS 2011 formulation.

Water97FluidProperties uses the IAPS 1985 formulation, whose zero-density term agrees within 2% below 1500 K but decreases above about 2200 K and becomes negative near 3300 K.

Definition at line 157 of file GasTransportUtils.h.

158{
159 using std::sqrt;
160 // Critical temperature of water [K]
161 const CppType Tbar = T / 647.096;
162 const CppType sum =
163 2.443221e-3 +
164 (1.323095e-2 + (6.770357e-3 + (-3.454586e-3 + 4.096266e-4 / Tbar) / Tbar) / Tbar) / Tbar;
165 // The formulation gives the conductivity in milliwatts per meter and kelvin
166 return 1e-3 * sqrt(Tbar) / sum;
167}

Referenced by NASA7IdealGasFluidProperties::k_from_T(), TEST_F(), and TEST_F().

◆ steamViscosityZeroDensity()

template<typename CppType >
CppType GasTransportUtils::steamViscosityZeroDensity ( const CppType &  T)

Viscosity of steam in the limit of zero density [Pa s], from the IAPWS 2008 formulation, as in Water97FluidProperties.

Definition at line 139 of file GasTransportUtils.h.

140{
141 using std::sqrt;
142 // Critical temperature of water [K]
143 const CppType Tbar = T / 647.096;
144 const CppType sum =
145 1.67752 + 2.20462 / Tbar + 0.6366564 / (Tbar * Tbar) - 0.241605 / (Tbar * Tbar * Tbar);
146 // The formulation gives the viscosity in micropascal seconds
147 return 1e-6 * 100 * sqrt(Tbar) / sum;
148}

Referenced by NASA7IdealGasFluidProperties::mu_from_T(), TEST_F(), and TEST_F().

◆ viscosity()

template<typename CppType >
CppType GasTransportUtils::viscosity ( const CppType &  T,
const Real  molar_mass,
const LennardJonesParameters &  lj 
)

Chapman-Enskog viscosity of a dilute gas [Pa s].

Parameters
[in]Ttemperature [K]
[in]molar_massmolar mass [kg/mol]
[in]ljLennard-Jones parameters

Definition at line 79 of file GasTransportUtils.h.

80{
81 using std::sqrt;
82 const Real molecular_mass = molar_mass / PhysicalConstants::avogadro_number;
83 return 5.0 / 16.0 *
84 sqrt(molecular_mass * PhysicalConstants::boltzmann_constant * T / libMesh::pi) /
86}
CppType collisionIntegral22(const CppType &T_reduced)
Reduced collision integral Omega(2,2)* of the Lennard-Jones potential, which enters the viscosity,...

Referenced by NASA7IdealGasFluidProperties::k_from_T(), NASA7IdealGasFluidProperties::mu_from_T(), TEST_F(), and TEST_F().