https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GasTransportUtils.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "MooseTypes.h"
13#include "PhysicalConstants.h"
14#include "libmesh/libmesh_common.h"
15
16#include <cmath>
17#include <string>
18
26{
35
41const LennardJonesParameters & lennardJonesParameters(const std::string & name);
42
48template <typename CppType>
49CppType
50collisionIntegral11(const CppType & T_reduced)
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}
56
61template <typename CppType>
62CppType
63collisionIntegral22(const CppType & T_reduced)
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}
69
77template <typename CppType>
78CppType
79viscosity(const CppType & T, const Real molar_mass, const LennardJonesParameters & lj)
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}
87
99template <typename CppType>
100CppType
102 const CppType & T,
103 const Real molar_mass_i,
104 const Real molar_mass_j,
105 const LennardJonesParameters & lj_i,
106 const LennardJonesParameters & lj_j)
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}
117
126template <typename CppType>
127CppType
128modifiedEuckenConductivity(const CppType & mu, const CppType & cp_over_R, const Real R_specific)
129{
130 return mu * R_specific * (1.32 * cp_over_R + 0.45);
131}
132
137template <typename CppType>
138CppType
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}
149
155template <typename CppType>
156CppType
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}
168}
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const double mu
const Real p
const double T
constexpr Real k_B
Boltzmann constant with units of J/K.
Definition Maxwellian.h:15
const std::string name
Definition Setup.h:21
Transport properties of dilute gases: Lennard-Jones parameters of the NASA 7-coefficient species,...
CppType collisionIntegral22(const CppType &T_reduced)
Reduced collision integral Omega(2,2)* of the Lennard-Jones potential, which enters the viscosity,...
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)],...
CppType steamViscosityZeroDensity(const CppType &T)
Viscosity of steam in the limit of zero density [Pa s], from the IAPWS 2008 formulation,...
CppType steamConductivityZeroDensity(const CppType &T)
Thermal conductivity of steam in the limit of zero density [W/(m K)], from the IAPWS 2011 formulation...
CppType collisionIntegral11(const CppType &T_reduced)
Reduced collision integral Omega(1,1)* of the Lennard-Jones potential, which enters the binary diffus...
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 ...
CppType viscosity(const CppType &T, const Real molar_mass, const LennardJonesParameters &lj)
Chapman-Enskog viscosity of a dilute gas [Pa s].
const LennardJonesParameters & lennardJonesParameters(const std::string &name)
Lennard-Jones parameters of a built-in species.
const auto boltzmann_constant
const Real pi
Parameters of the Lennard-Jones (12-6) potential of a species.
Real epsilon_over_k
Depth of the potential well divided by the Boltzmann constant [K].