26 #ifndef GRINS_LOW_MACH_NAVIER_STOKES_BASE_H
27 #define GRINS_LOW_MACH_NAVIER_STOKES_BASE_H
38 #include "libmesh/enum_order.h"
39 #include "libmesh/enum_fe_family.h"
40 #include "libmesh/point.h"
49 template<
class Viscosity,
class SpecificHeat,
class ThermalConductivity>
66 libMesh::Real
rho( libMesh::Real
T, libMesh::Real p0 )
const;
68 libMesh::Real
d_rho_dT( libMesh::Real
T, libMesh::Real p0 )
const;
81 (
const std::string & param_name,
107 ThermalConductivity
_k;
123 template<
class V,
class SH,
class TC>
127 return c.point_value(_temp_vars.T(),p);
130 template<
class V,
class SH,
class TC>
134 return p0/(this->_R*T);
137 template<
class V,
class SH,
class TC>
141 return -p0/(this->_R*(T*T));
144 template<
class V,
class SH,
class TC>
147 unsigned int qp )
const
150 if( this->_enable_thermo_press_calc )
152 p0 = c.interior_value( _p0_var->p0(), qp );
161 template<
class V,
class SH,
class TC>
164 unsigned int qp )
const
167 if( this->_enable_thermo_press_calc )
169 p0 = c.side_value( _p0_var->p0(), qp );
178 template<
class V,
class SH,
class TC>
181 const libMesh::Point& p )
const
184 if( this->_enable_thermo_press_calc )
186 p0 = c.point_value( _p0_var->p0(), p );
195 template<
class V,
class SH,
class TC>
200 if( this->_enable_thermo_press_calc )
202 p0 = c.fixed_interior_value( _p0_var->p0(), qp );
213 #endif // GRINS_LOW_MACH_NAVIER_STOKES_BASE_H
LowMachNavierStokesBase()
~LowMachNavierStokesBase()
void read_input_options(const GetPot &input)
Read options from GetPot input file.
ThermoPressureVariable * _p0_var
libMesh::Number _p0_over_R
Thermodynamic pressure divided by gas constant.
Physics abstract base class. Defines API for physics to be added to MultiphysicsSystem.
libMesh::Real get_p0_steady_side(const AssemblyContext &c, unsigned int qp) const
bool _enable_thermo_press_calc
Flag to enable thermodynamic pressure calculation.
libMesh::Real get_p0_steady(const AssemblyContext &c, unsigned int qp) const
PressureFEVariable & _press_var
SpecificHeat _cp
Specific heat object.
ThermalConductivity _k
Thermal conductivity object.
Viscosity _mu
Viscosity object.
libMesh::Real T(const libMesh::Point &p, const AssemblyContext &c) const
PrimitiveTempFEVariables & _temp_vars
libMesh::Point _g
Gravity vector.
virtual void set_time_evolving_vars(libMesh::FEMSystem *system)
Sets velocity variables to be time-evolving.
VelocityVariable & _flow_vars
libMesh::Real d_rho_dT(libMesh::Real T, libMesh::Real p0) const
libMesh::Real get_p0_transient(AssemblyContext &c, unsigned int qp) const
Physics class for Incompressible Navier-Stokes.
virtual void init_context(AssemblyContext &context)
Initialize context for added physics variables.
virtual void register_parameter(const std::string ¶m_name, libMesh::ParameterMultiAccessor< libMesh::Number > ¶m_pointer) const
Each subclass will register its copy of an independent.
libMesh::Real rho(libMesh::Real T, libMesh::Real p0) const