https://mooseframework.inl.gov
Loading...
Searching...
No Matches
IdealGasFluidProperties.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
13#include "NaNInterface.h"
15
16#pragma GCC diagnostic push
17#pragma GCC diagnostic ignored "-Woverloaded-virtual"
18
24 public NaNInterface,
26{
27public:
29
32
33 using SinglePhaseFluidProperties::cp_from_p_T;
34 using SinglePhaseFluidProperties::cv_from_p_T;
35 using SinglePhaseFluidProperties::e_from_p_T;
36 using SinglePhaseFluidProperties::k_from_p_T;
37 using SinglePhaseFluidProperties::mu_from_p_T;
38 using SinglePhaseFluidProperties::s_from_p_T;
39
40 virtual Real p_from_v_e(Real v, Real e) const override;
41 virtual ADReal p_from_v_e(const ADReal & v, const ADReal & e) const override;
42 virtual void p_from_v_e(Real v, Real e, Real & p, Real & dp_dv, Real & dp_de) const override;
43 virtual void p_from_v_e(const ADReal & v,
44 const ADReal & e,
45 ADReal & p,
46 ADReal & dp_dv,
47 ADReal & dp_de) const override;
48 virtual Real T_from_v_e(Real v, Real e) const override;
49 virtual ADReal T_from_v_e(const ADReal & v, const ADReal & e) const override;
50 virtual void T_from_v_e(Real v, Real e, Real & T, Real & dT_dv, Real & dT_de) const override;
51 virtual void T_from_v_e(const ADReal & v,
52 const ADReal & e,
53 ADReal & T,
54 ADReal & dT_dv,
55 ADReal & dT_de) const override;
56 virtual Real c_from_v_e(Real v, Real e) const override;
57 virtual ADReal c_from_v_e(const ADReal & v, const ADReal & e) const override;
58 virtual void c_from_v_e(Real v, Real e, Real & c, Real & dc_dv, Real & dc_de) const override;
59 virtual Real cp_from_v_e(Real v, Real e) const override;
60 virtual void cp_from_v_e(Real v, Real e, Real & cp, Real & dcp_dv, Real & dcp_de) const override;
61 virtual Real cv_from_v_e(Real v, Real e) const override;
62 virtual void cv_from_v_e(Real v, Real e, Real & cv, Real & dcv_dv, Real & dcv_de) const override;
63 virtual Real mu_from_v_e(Real v, Real e) const override;
64 virtual void mu_from_v_e(Real v, Real e, Real & mu, Real & dmu_dv, Real & dmu_de) const override;
65 virtual Real k_from_v_e(Real v, Real e) const override;
66 virtual void k_from_v_e(Real v, Real e, Real & k, Real & dk_dv, Real & dk_de) const override;
67 virtual Real s_from_v_e(Real v, Real e) const override;
68 virtual void s_from_v_e(Real v, Real e, Real & s, Real & ds_dv, Real & ds_de) const override;
69 virtual Real s_from_p_T(Real p, Real T) const override;
70 virtual void s_from_p_T(Real p, Real T, Real & s, Real & ds_dp, Real & ds_dT) const override;
71 virtual Real s_from_h_p(Real h, Real p) const override;
72 virtual void s_from_h_p(Real h, Real p, Real & s, Real & ds_dh, Real & ds_dp) const override;
73 virtual Real rho_from_p_s(Real p, Real s) const override;
74 virtual void
75 rho_from_p_s(Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds) const override;
76 virtual Real e_from_v_h(Real v, Real h) const override;
77 virtual void e_from_v_h(Real v, Real h, Real & e, Real & de_dv, Real & de_dh) const override;
78 virtual Real rho_from_p_T(Real p, Real T) const override;
79 virtual ADReal rho_from_p_T(const ADReal & p, const ADReal & T) const override;
80 virtual void
81 rho_from_p_T(Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT) const override;
82 virtual void rho_from_p_T(const ADReal & p,
83 const ADReal & T,
84 ADReal & rho,
85 ADReal & drho_dp,
86 ADReal & drho_dT) const override;
87 virtual Real e_from_p_rho(Real p, Real rho) const override;
88 virtual ADReal e_from_p_rho(const ADReal & p, const ADReal & rho) const override;
89 virtual void
90 e_from_p_rho(Real p, Real rho, Real & e, Real & de_dp, Real & de_drho) const override;
91 virtual void e_from_p_rho(const ADReal & p,
92 const ADReal & rho,
93 ADReal & e,
94 ADReal & de_dp,
95 ADReal & de_drho) const override;
96 virtual Real e_from_T_v(Real T, Real v) const override;
97 virtual void e_from_T_v(Real T, Real v, Real & e, Real & de_dT, Real & de_dv) const override;
98 virtual ADReal e_from_T_v(const ADReal & T, const ADReal & v) const override;
99 virtual void e_from_T_v(const ADReal & T,
100 const ADReal & v,
101 ADReal & e,
102 ADReal & de_dT,
103 ADReal & de_dv) const override;
104 virtual Real p_from_T_v(Real T, Real v) const override;
105 virtual void p_from_T_v(Real T, Real v, Real & p, Real & dp_dT, Real & dp_dv) const override;
106 virtual Real h_from_T_v(Real T, Real v) const override;
107 virtual void h_from_T_v(Real T, Real v, Real & h, Real & dh_dT, Real & dh_dv) const override;
108 virtual Real s_from_T_v(Real T, Real v) const override;
109 virtual void s_from_T_v(Real T, Real v, Real & s, Real & ds_dT, Real & ds_dv) const override;
110 virtual Real cv_from_T_v(Real T, Real v) const override;
111 virtual Real e_spndl_from_v(Real v) const override;
112 virtual void v_e_spndl_from_T(Real T, Real & v, Real & e) const override;
113 virtual Real h_from_p_T(Real p, Real T) const override;
114 virtual void h_from_p_T(Real p, Real T, Real & h, Real & dh_dp, Real & dh_dT) const override;
115 virtual Real e_from_p_T(Real p, Real T) const override;
116 virtual void e_from_p_T(Real p, Real T, Real & e, Real & de_dp, Real & de_dT) const override;
117 virtual Real p_from_h_s(Real h, Real s) const override;
118 virtual void p_from_h_s(Real h, Real s, Real & p, Real & dp_dh, Real & dp_ds) const override;
119 virtual Real g_from_v_e(Real v, Real e) const override;
120 virtual Real T_from_p_h(Real p, Real h) const override;
121 virtual void T_from_p_h(Real p, Real h, Real & T, Real & dT_dp, Real & dT_dh) const override;
122 virtual Real cv_from_p_T(Real p, Real T) const override;
123 virtual void cv_from_p_T(Real p, Real T, Real & cv, Real & dcv_dp, Real & dcv_dT) const override;
124 virtual Real cp_from_p_T(Real p, Real T) const override;
125 virtual void cp_from_p_T(Real p, Real T, Real & cp, Real & dcp_dp, Real & dcp_dT) const override;
126 virtual Real mu_from_p_T(Real p, Real T) const override;
127 virtual void mu_from_p_T(Real p, Real T, Real & mu, Real & dmu_dp, Real & dmu_dT) const override;
128 virtual Real k_from_p_T(Real pressure, Real temperature) const override;
129 virtual void
130 k_from_p_T(Real pressure, Real temperature, Real & k, Real & dk_dp, Real & dk_dT) const override;
131 virtual std::string fluidName() const override;
132 virtual Real molarMass() const override;
133 virtual bool hasConstantSpecificHeats() const override { return true; }
135 virtual Real newtonStartTemperature() const override { return _T_initial_guess; }
137 virtual Real criticalTemperature() const override;
138 virtual Real criticalDensity() const override;
139 virtual Real criticalInternalEnergy() const override;
140 virtual Real gamma_from_v_e(Real v, Real e) const override;
141 virtual Real gamma_from_p_T(Real p, Real T) const override;
142 virtual Real c_from_p_T(Real p, Real T) const override;
143 virtual ADReal c_from_p_T(const ADReal & p, const ADReal & T) const override;
144 virtual void c_from_p_T(Real /*p*/, Real T, Real & c, Real & dc_dp, Real & dc_dT) const override;
145 virtual Real beta_from_p_T(Real p, Real T) const override;
146 virtual ADReal beta_from_p_T(const ADReal & p, const ADReal & T) const override;
147 virtual void
148 beta_from_p_T(Real p, Real T, Real & beta, Real & dbeta_dp, Real & dbeta_dT) const override;
149
150 virtual Real pp_sat_from_p_T(Real /*p*/, Real /*T*/) const override;
151
153
154 // Methods used by Navier-Stokes module
155 virtual Real gamma() const { return _gamma; };
156 virtual Real cv() const { return _cv; };
157 virtual Real cp() const { return _cp; };
158
159protected:
161 const Real & _gamma;
163 const Real & _molar_mass;
165 const Real & _e_ref;
166
168 const Real _R_specific;
170 const Real _cp;
172 const Real _cv;
173
175 const Real _mu;
177 const Real _k;
178
179 // properties at critical point (used by IdealRealGasMixtureFluidProperties (primary component))
180 Real _T_c;
181 Real _rho_c;
182 Real _e_c;
183};
184
185#pragma GCC diagnostic pop
DualNumber< Real, DNDerivativeType, true > ADReal
const double mu
Ideal gas fluid properties Default parameters are for air at atmospheric pressure and temperature.
virtual Real T_from_p_h(Real p, Real h) const override
virtual std::string fluidName() const override
Fluid name.
virtual Real mu_from_v_e(Real v, Real e) const override
const Real _R_specific
Specific gas constant (R / molar mass)
virtual Real k_from_v_e(Real v, Real e) const override
const Real & _molar_mass
molar mass
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real newtonStartTemperature() const override
The internal energy is linear in temperature, so Newton's method converges from any start.
const Real & _gamma
Adiabatic index (ratio of specific heats cp/cv)
virtual Real c_from_v_e(Real v, Real e) const override
virtual Real s_from_T_v(Real T, Real v) const override
virtual Real e_from_v_h(Real v, Real h) const override
virtual Real T_from_v_e(Real v, Real e) const override
virtual Real cv_from_p_T(Real p, Real T) const override
virtual Real e_from_p_rho(Real p, Real rho) const override
virtual void v_e_spndl_from_T(Real T, Real &v, Real &e) const override
Specific internal energy from temperature and specific volume.
virtual Real h_from_T_v(Real T, Real v) const override
virtual Real rho_from_p_T(Real p, Real T) const override
virtual Real criticalInternalEnergy() const override
Critical specific internal energy.
virtual Real s_from_h_p(Real h, Real p) const override
virtual Real e_spndl_from_v(Real v) const override
Specific internal energy from temperature and specific volume.
virtual const GasTransportUtils::LennardJonesParameters * lennardJonesParameters() const override
Lennard-Jones parameters of the gas, from which a mixture computes binary diffusion coefficients,...
virtual Real e_from_T_v(Real T, Real v) const override
const Real _cv
Specific heat at constant volume.
virtual bool hasConstantSpecificHeats() const override
Whether the specific heats are constant, so that the specific internal energy is linear in temperatur...
virtual Real cp_from_p_T(Real p, Real T) const override
static InputParameters validParams()
virtual Real c_from_p_T(Real p, Real T) const override
virtual Real cv_from_T_v(Real T, Real v) const override
virtual Real criticalDensity() const override
Critical density.
virtual Real mu_from_p_T(Real p, Real T) const override
const Real & _e_ref
Reference specific internal energy.
virtual Real s_from_p_T(Real p, Real T) const override
virtual Real s_from_v_e(Real v, Real e) const override
virtual Real molarMass() const override
Molar mass [kg/mol].
virtual Real p_from_h_s(Real h, Real s) const override
virtual Real gamma_from_v_e(Real v, Real e) const override
const Real _mu
Dynamic viscosity.
virtual Real p_from_T_v(Real T, Real v) const override
const Real _cp
Specific heat at constant pressure.
virtual Real e_from_p_T(Real p, Real T) const override
virtual Real criticalTemperature() const override
Critical temperature.
virtual Real gamma_from_p_T(Real p, Real T) const override
virtual Real h_from_p_T(Real p, Real T) const override
virtual Real beta_from_p_T(Real p, Real T) const override
virtual Real cp_from_v_e(Real v, Real e) const override
virtual Real pp_sat_from_p_T(Real, Real) const override
virtual Real g_from_v_e(Real v, Real e) const override
virtual Real k_from_p_T(Real pressure, Real temperature) const override
const Real _k
Thermal conductivity.
virtual Real rho_from_p_s(Real p, Real s) const override
virtual Real cv_from_v_e(Real v, Real e) const override
Interface of the fluid properties of ideal gases that can be components of IdealGasMixtureFluidProper...
const InputParameters & parameters() const
Interface class for producing errors, warnings, or just quiet NaNs.
Common class for single phase fluid properties.
const Real _T_initial_guess
Initial guess for temperature (or temperature used to compute the initial guess)
e e e e s T T T T T rho v v T e h
Parameters of the Lennard-Jones (12-6) potential of a species.