26 #ifndef GRINS_LOW_MACH_NAVIER_STOKES_BASE_H 
   27 #define GRINS_LOW_MACH_NAVIER_STOKES_BASE_H 
   39 #include "libmesh/enum_order.h" 
   40 #include "libmesh/enum_fe_family.h" 
   41 #include "libmesh/point.h" 
   50   template<
class Viscosity, 
class SpecificHeat, 
class ThermalConductivity>
 
   69     libMesh::Real 
rho( libMesh::Real 
T, libMesh::Real p0 ) 
const;
 
   71     libMesh::Real 
d_rho_dT( libMesh::Real 
T, libMesh::Real p0 ) 
const;
 
   84       ( 
const std::string & param_name,
 
  102     libMesh::UniquePtr<ThermoPressureFEVariable> 
_p0_var;
 
  111     ThermalConductivity 
_k;
 
  130   template<
class V, 
class SH, 
class TC>
 
  134     return c.point_value(_temp_vars.T(),p);
 
  137   template<
class V, 
class SH, 
class TC>
 
  141     return p0/(this->_R*T);
 
  144   template<
class V, 
class SH, 
class TC>
 
  148     return -p0/(this->_R*(T*T));
 
  151   template<
class V, 
class SH, 
class TC>
 
  154                                                                  unsigned int qp )
 const 
  157     if( this->_enable_thermo_press_calc )
 
  159         p0 = c.interior_value( _p0_var->p0(), qp );
 
  168   template<
class V, 
class SH, 
class TC>
 
  171                                                                       unsigned int qp )
 const 
  174     if( this->_enable_thermo_press_calc )
 
  176         p0 = c.side_value( _p0_var->p0(), qp );
 
  185   template<
class V, 
class SH, 
class TC>
 
  188                                                                  const libMesh::Point& p )
 const 
  191     if( this->_enable_thermo_press_calc )
 
  193         p0 = c.point_value( _p0_var->p0(), p );
 
  202   template<
class V, 
class SH, 
class TC>
 
  207     if( this->_enable_thermo_press_calc )
 
  209         p0 = c.fixed_interior_value( _p0_var->p0(), qp );
 
  220 #endif // GRINS_LOW_MACH_NAVIER_STOKES_BASE_H 
LowMachNavierStokesBase()
 
~LowMachNavierStokesBase()
 
void read_input_options(const GetPot &input)
Read options from GetPot input file. 
 
libMesh::UniquePtr< ThermoPressureFEVariable > _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 
 
virtual void init_variables(libMesh::FEMSystem *system)
Initialize variables for this physics. 
 
unsigned int _dim
Physical dimension of problem. 
 
void register_variables()
 
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 
 
libMesh::Point _g
Gravity vector. 
 
VelocityFEVariables _flow_vars
 
PressureFEVariable _press_var
 
virtual void set_time_evolving_vars(libMesh::FEMSystem *system)
Sets velocity variables to be time-evolving. 
 
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. 
 
PrimitiveTempFEVariables _temp_vars
 
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