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"
14
15#pragma GCC diagnostic push
16#pragma GCC diagnostic ignored "-Woverloaded-virtual"
17
23{
24public:
26
29
30 using SinglePhaseFluidProperties::cp_from_p_T;
31 using SinglePhaseFluidProperties::cv_from_p_T;
32 using SinglePhaseFluidProperties::e_from_p_T;
33 using SinglePhaseFluidProperties::k_from_p_T;
34 using SinglePhaseFluidProperties::mu_from_p_T;
35 using SinglePhaseFluidProperties::s_from_p_T;
36
37 virtual Real p_from_v_e(Real v, Real e) const override;
38 virtual ADReal p_from_v_e(const ADReal & v, const ADReal & e) const override;
39 virtual void p_from_v_e(Real v, Real e, Real & p, Real & dp_dv, Real & dp_de) const override;
40 virtual void p_from_v_e(const ADReal & v,
41 const ADReal & e,
42 ADReal & p,
43 ADReal & dp_dv,
44 ADReal & dp_de) const override;
45 virtual Real T_from_v_e(Real v, Real e) const override;
46 virtual ADReal T_from_v_e(const ADReal & v, const ADReal & e) const override;
47 virtual void T_from_v_e(Real v, Real e, Real & T, Real & dT_dv, Real & dT_de) const override;
48 virtual void T_from_v_e(const ADReal & v,
49 const ADReal & e,
50 ADReal & T,
51 ADReal & dT_dv,
52 ADReal & dT_de) const override;
53 virtual Real c_from_v_e(Real v, Real e) const override;
54 virtual ADReal c_from_v_e(const ADReal & v, const ADReal & e) const override;
55 virtual void c_from_v_e(Real v, Real e, Real & c, Real & dc_dv, Real & dc_de) const override;
56 virtual Real cp_from_v_e(Real v, Real e) const override;
57 virtual void cp_from_v_e(Real v, Real e, Real & cp, Real & dcp_dv, Real & dcp_de) const override;
58 virtual Real cv_from_v_e(Real v, Real e) const override;
59 virtual void cv_from_v_e(Real v, Real e, Real & cv, Real & dcv_dv, Real & dcv_de) const override;
60 virtual Real mu_from_v_e(Real v, Real e) const override;
61 virtual void mu_from_v_e(Real v, Real e, Real & mu, Real & dmu_dv, Real & dmu_de) const override;
62 virtual Real k_from_v_e(Real v, Real e) const override;
63 virtual void k_from_v_e(Real v, Real e, Real & k, Real & dk_dv, Real & dk_de) const override;
64 virtual Real s_from_v_e(Real v, Real e) const override;
65 virtual void s_from_v_e(Real v, Real e, Real & s, Real & ds_dv, Real & ds_de) const override;
66 virtual Real s_from_p_T(Real p, Real T) const override;
67 virtual void s_from_p_T(Real p, Real T, Real & s, Real & ds_dp, Real & ds_dT) const override;
68 virtual Real s_from_h_p(Real h, Real p) const override;
69 virtual void s_from_h_p(Real h, Real p, Real & s, Real & ds_dh, Real & ds_dp) const override;
70 virtual Real rho_from_p_s(Real p, Real s) const override;
71 virtual void
72 rho_from_p_s(Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds) const override;
73 virtual Real e_from_v_h(Real v, Real h) const override;
74 virtual void e_from_v_h(Real v, Real h, Real & e, Real & de_dv, Real & de_dh) const override;
75 virtual Real rho_from_p_T(Real p, Real T) const override;
76 virtual ADReal rho_from_p_T(const ADReal & p, const ADReal & T) const override;
77 virtual void
78 rho_from_p_T(Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT) const override;
79 virtual void rho_from_p_T(const ADReal & p,
80 const ADReal & T,
81 ADReal & rho,
82 ADReal & drho_dp,
83 ADReal & drho_dT) const override;
84 virtual Real e_from_p_rho(Real p, Real rho) const override;
85 virtual ADReal e_from_p_rho(const ADReal & p, const ADReal & rho) const override;
86 virtual void
87 e_from_p_rho(Real p, Real rho, Real & e, Real & de_dp, Real & de_drho) const override;
88 virtual void e_from_p_rho(const ADReal & p,
89 const ADReal & rho,
90 ADReal & e,
91 ADReal & de_dp,
92 ADReal & de_drho) const override;
93 virtual Real e_from_T_v(Real T, Real v) const override;
94 virtual void e_from_T_v(Real T, Real v, Real & e, Real & de_dT, Real & de_dv) const override;
95 virtual ADReal e_from_T_v(const ADReal & T, const ADReal & v) const override;
96 virtual void e_from_T_v(const ADReal & T,
97 const ADReal & v,
98 ADReal & e,
99 ADReal & de_dT,
100 ADReal & de_dv) const override;
101 virtual Real p_from_T_v(Real T, Real v) const override;
102 virtual void p_from_T_v(Real T, Real v, Real & p, Real & dp_dT, Real & dp_dv) const override;
103 virtual Real h_from_T_v(Real T, Real v) const override;
104 virtual void h_from_T_v(Real T, Real v, Real & h, Real & dh_dT, Real & dh_dv) const override;
105 virtual Real s_from_T_v(Real T, Real v) const override;
106 virtual void s_from_T_v(Real T, Real v, Real & s, Real & ds_dT, Real & ds_dv) const override;
107 virtual Real cv_from_T_v(Real T, Real v) const override;
108 virtual Real e_spndl_from_v(Real v) const override;
109 virtual void v_e_spndl_from_T(Real T, Real & v, Real & e) const override;
110 virtual Real h_from_p_T(Real p, Real T) const override;
111 virtual void h_from_p_T(Real p, Real T, Real & h, Real & dh_dp, Real & dh_dT) const override;
112 virtual Real e_from_p_T(Real p, Real T) const override;
113 virtual void e_from_p_T(Real p, Real T, Real & e, Real & de_dp, Real & de_dT) const override;
114 virtual Real p_from_h_s(Real h, Real s) const override;
115 virtual void p_from_h_s(Real h, Real s, Real & p, Real & dp_dh, Real & dp_ds) const override;
116 virtual Real g_from_v_e(Real v, Real e) const override;
117 virtual Real T_from_p_h(Real p, Real h) const override;
118 virtual void T_from_p_h(Real p, Real h, Real & T, Real & dT_dp, Real & dT_dh) const override;
119 virtual Real cv_from_p_T(Real p, Real T) const override;
120 virtual void cv_from_p_T(Real p, Real T, Real & cv, Real & dcv_dp, Real & dcv_dT) const override;
121 virtual Real cp_from_p_T(Real p, Real T) const override;
122 virtual void cp_from_p_T(Real p, Real T, Real & cp, Real & dcp_dp, Real & dcp_dT) const override;
123 virtual Real mu_from_p_T(Real p, Real T) const override;
124 virtual void mu_from_p_T(Real p, Real T, Real & mu, Real & dmu_dp, Real & dmu_dT) const override;
125 virtual Real k_from_p_T(Real pressure, Real temperature) const override;
126 virtual void
127 k_from_p_T(Real pressure, Real temperature, Real & k, Real & dk_dp, Real & dk_dT) const override;
128 virtual std::string fluidName() const override;
129 virtual Real molarMass() const override;
130 virtual Real criticalTemperature() const override;
131 virtual Real criticalDensity() const override;
132 virtual Real criticalInternalEnergy() const override;
133 virtual Real gamma_from_v_e(Real v, Real e) const override;
134 virtual Real gamma_from_p_T(Real p, Real T) const override;
135 virtual Real c_from_p_T(Real p, Real T) const override;
136 virtual ADReal c_from_p_T(const ADReal & p, const ADReal & T) const override;
137 virtual void c_from_p_T(Real /*p*/, Real T, Real & c, Real & dc_dp, Real & dc_dT) const override;
138 virtual Real beta_from_p_T(Real p, Real T) const override;
139 virtual ADReal beta_from_p_T(const ADReal & p, const ADReal & T) const override;
140 virtual void
141 beta_from_p_T(Real p, Real T, Real & beta, Real & dbeta_dp, Real & dbeta_dT) const override;
142
143 virtual Real pp_sat_from_p_T(Real /*p*/, Real /*T*/) const override;
144
146
147 // Methods used by Navier-Stokes module
148 virtual Real gamma() const { return _gamma; };
149 virtual Real cv() const { return _cv; };
150 virtual Real cp() const { return _cp; };
151
152protected:
154 const Real & _gamma;
156 const Real & _molar_mass;
158 const Real & _e_ref;
159
161 const Real _R_specific;
163 const Real _cp;
165 const Real _cv;
166
168 const Real _mu;
170 const Real _k;
171
172 // properties at critical point (used by IdealRealGasMixtureFluidProperties (primary component))
173 Real _T_c;
174 Real _rho_c;
175 Real _e_c;
176};
177
178#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
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 Real e_from_T_v(Real T, Real v) const override
const Real _cv
Specific heat at constant volume.
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
const InputParameters & parameters() const
Interface class for producing errors, warnings, or just quiet NaNs.
Common class for single phase fluid properties.
e e e e s T T T T T rho v v T e h