GRINS-0.8.0
|
Physics class for Incompressible Navier-Stokes. More...
#include <low_mach_navier_stokes_base.h>
Public Member Functions | |
LowMachNavierStokesBase (const PhysicsName &physics_name, const std::string &core_physics_name, const GetPot &input) | |
~LowMachNavierStokesBase () | |
virtual void | set_time_evolving_vars (libMesh::FEMSystem *system) |
Sets velocity variables to be time-evolving. More... | |
virtual void | init_context (AssemblyContext &context) |
Initialize context for added physics variables. More... | |
libMesh::Real | T (const libMesh::Point &p, const AssemblyContext &c) const |
libMesh::Real | rho (libMesh::Real T, libMesh::Real p0) const |
libMesh::Real | d_rho_dT (libMesh::Real T, libMesh::Real p0) const |
libMesh::Real | get_p0_steady (const AssemblyContext &c, unsigned int qp) const |
libMesh::Real | get_p0_steady_side (const AssemblyContext &c, unsigned int qp) const |
libMesh::Real | get_p0_steady (const AssemblyContext &c, const libMesh::Point &p) const |
libMesh::Real | get_p0_transient (AssemblyContext &c, unsigned int qp) const |
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. More... | |
Public Member Functions inherited from GRINS::Physics | |
Physics (const GRINS::PhysicsName &physics_name, const GetPot &input) | |
virtual | ~Physics () |
virtual void | init_variables (libMesh::FEMSystem *) |
Initialize variables for this physics. More... | |
virtual bool | enabled_on_elem (const libMesh::Elem *elem) |
Find if current physics is active on supplied element. More... | |
void | set_is_steady (bool is_steady) |
Sets whether this physics is to be solved with a steady solver or not. More... | |
bool | is_steady () const |
Returns whether or not this physics is being solved with a steady solver. More... | |
virtual void | auxiliary_init (MultiphysicsSystem &system) |
Any auxillary initialization a Physics class may need. More... | |
virtual void | register_postprocessing_vars (const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing) |
Register name of postprocessed quantity with PostProcessedQuantities. More... | |
virtual void | preassembly (MultiphysicsSystem &) |
Perform any necessary setup before element assembly begins. More... | |
virtual void | reinit (MultiphysicsSystem &) |
Any reinitialization that needs to be done. More... | |
virtual void | element_time_derivative (bool, AssemblyContext &) |
Time dependent part(s) of physics for element interiors. More... | |
virtual void | side_time_derivative (bool, AssemblyContext &) |
Time dependent part(s) of physics for boundaries of elements on the domain boundary. More... | |
virtual void | nonlocal_time_derivative (bool, AssemblyContext &) |
Time dependent part(s) of physics for scalar variables. More... | |
virtual void | element_constraint (bool, AssemblyContext &) |
Constraint part(s) of physics for element interiors. More... | |
virtual void | side_constraint (bool, AssemblyContext &) |
Constraint part(s) of physics for boundaries of elements on the domain boundary. More... | |
virtual void | nonlocal_constraint (bool, AssemblyContext &) |
Constraint part(s) of physics for scalar variables. More... | |
virtual void | damping_residual (bool, AssemblyContext &) |
Damping matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More... | |
virtual void | mass_residual (bool, AssemblyContext &) |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More... | |
virtual void | nonlocal_mass_residual (bool, AssemblyContext &) |
Mass matrix part(s) for scalar variables. More... | |
void | init_ics (libMesh::FEMSystem *system, libMesh::CompositeFunction< libMesh::Number > &all_ics) |
virtual void | compute_element_time_derivative_cache (AssemblyContext &) |
virtual void | compute_side_time_derivative_cache (AssemblyContext &) |
virtual void | compute_nonlocal_time_derivative_cache (AssemblyContext &) |
virtual void | compute_element_constraint_cache (AssemblyContext &) |
virtual void | compute_side_constraint_cache (AssemblyContext &) |
virtual void | compute_nonlocal_constraint_cache (AssemblyContext &) |
virtual void | compute_damping_residual_cache (AssemblyContext &) |
virtual void | compute_mass_residual_cache (AssemblyContext &) |
virtual void | compute_nonlocal_mass_residual_cache (AssemblyContext &) |
virtual void | compute_postprocessed_quantity (unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value) |
ICHandlingBase * | get_ic_handler () |
Public Member Functions inherited from GRINS::ParameterUser | |
ParameterUser (const std::string &user_name) | |
virtual | ~ParameterUser () |
virtual void | set_parameter (libMesh::Number ¶m_variable, const GetPot &input, const std::string ¶m_name, libMesh::Number param_default) |
Each subclass can simultaneously read a parameter value from. More... | |
virtual void | set_parameter (libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &func, const GetPot &input, const std::string &func_param_name, const std::string ¶m_default) |
Each subclass can simultaneously read a parsed function from. More... | |
virtual void | set_parameter (libMesh::ParsedFEMFunction< libMesh::Number > &func, const GetPot &input, const std::string &func_param_name, const std::string ¶m_default) |
Each subclass can simultaneously read a parsed function from. More... | |
virtual void | move_parameter (const libMesh::Number &old_parameter, libMesh::Number &new_parameter) |
When cloning an object, we need to update parameter pointers. More... | |
virtual void | move_parameter (const libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &old_func, libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &new_func) |
When cloning an object, we need to update parameter pointers. More... | |
virtual void | move_parameter (const libMesh::ParsedFEMFunction< libMesh::Number > &old_func, libMesh::ParsedFEMFunction< libMesh::Number > &new_func) |
When cloning an object, we need to update parameter pointers. More... | |
Protected Attributes | |
libMesh::Number | _p0_over_R |
Thermodynamic pressure divided by gas constant. More... | |
libMesh::Number | _p0 |
libMesh::Number | _R |
libMesh::Number | _T0 |
VelocityVariable & | _flow_vars |
PressureFEVariable & | _press_var |
PrimitiveTempFEVariables & | _temp_vars |
ThermoPressureVariable * | _p0_var |
Viscosity | _mu |
Viscosity object. More... | |
SpecificHeat | _cp |
Specific heat object. More... | |
ThermalConductivity | _k |
Thermal conductivity object. More... | |
libMesh::Point | _g |
Gravity vector. More... | |
bool | _enable_thermo_press_calc |
Flag to enable thermodynamic pressure calculation. More... | |
Protected Attributes inherited from GRINS::Physics | |
const PhysicsName | _physics_name |
Name of the physics object. Used for reading physics specific inputs. More... | |
GRINS::ICHandlingBase * | _ic_handler |
std::set< libMesh::subdomain_id_type > | _enabled_subdomains |
Subdomains on which the current Physics class is enabled. More... | |
Private Member Functions | |
LowMachNavierStokesBase () | |
void | read_input_options (const GetPot &input) |
Read options from GetPot input file. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from GRINS::Physics | |
static void | set_is_axisymmetric (bool is_axisymmetric) |
Set whether we should treat the problem as axisymmetric. More... | |
static bool | is_axisymmetric () |
Static Public Attributes inherited from GRINS::ParameterUser | |
static std::string | zero_vector_function = std::string("{0}") |
A parseable function string with LIBMESH_DIM components, all 0. More... | |
Protected Member Functions inherited from GRINS::Physics | |
libMesh::UniquePtr< libMesh::FEGenericBase< libMesh::Real > > | build_new_fe (const libMesh::Elem *elem, const libMesh::FEGenericBase< libMesh::Real > *fe, const libMesh::Point p) |
void | parse_enabled_subdomains (const GetPot &input, const std::string &physics_name) |
void | check_var_subdomain_consistency (const FEVariablesBase &var) const |
Check that var is enabled on at least the subdomains this Physics is. More... | |
Static Protected Attributes inherited from GRINS::Physics | |
static bool | _is_steady = false |
Caches whether or not the solver that's being used is steady or not. More... | |
static bool | _is_axisymmetric = false |
Caches whether we are solving an axisymmetric problem or not. More... | |
Physics class for Incompressible Navier-Stokes.
This physics class implements the classical Incompressible Navier-Stokes equations.
Definition at line 50 of file low_mach_navier_stokes_base.h.
GRINS::LowMachNavierStokesBase< Mu, SH, TC >::LowMachNavierStokesBase | ( | const PhysicsName & | physics_name, |
const std::string & | core_physics_name, | ||
const GetPot & | input | ||
) |
Definition at line 48 of file low_mach_navier_stokes_base.C.
References GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::_enable_thermo_press_calc, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::_flow_vars, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::_p0_var, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::_press_var, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::_temp_vars, GRINS::Physics::check_var_subdomain_consistency(), GRINS::PhysicsNaming::low_mach_navier_stokes(), GRINS::VariablesParsing::PHYSICS, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::read_input_options(), GRINS::FEVariablesBase::set_is_constraint_var(), and GRINS::VariablesParsing::thermo_press_variable_name().
|
inline |
Definition at line 56 of file low_mach_navier_stokes_base.h.
|
private |
|
inline |
Definition at line 139 of file low_mach_navier_stokes_base.h.
|
inline |
Definition at line 146 of file low_mach_navier_stokes_base.h.
|
inline |
Definition at line 180 of file low_mach_navier_stokes_base.h.
|
inline |
Definition at line 163 of file low_mach_navier_stokes_base.h.
|
inline |
Definition at line 197 of file low_mach_navier_stokes_base.h.
|
virtual |
Initialize context for added physics variables.
Reimplemented from GRINS::Physics.
Reimplemented in GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, and GRINS::LowMachNavierStokesStabilizationBase< Viscosity, SpecificHeat, ThermalConductivity >.
Definition at line 136 of file low_mach_navier_stokes_base.C.
Referenced by GRINS::LowMachNavierStokesStabilizationBase< Viscosity, SpecificHeat, ThermalConductivity >::init_context(), and GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >::init_context().
|
private |
Read options from GetPot input file.
Definition at line 77 of file low_mach_navier_stokes_base.C.
References GRINS::PhysicsNaming::low_mach_navier_stokes(), and GRINS::MaterialsParsing::read_property().
Referenced by GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokesBase().
|
virtual |
Each subclass will register its copy of an independent.
Reimplemented from GRINS::ParameterUser.
Definition at line 157 of file low_mach_navier_stokes_base.C.
References GRINS::ParameterUser::register_parameter().
|
inline |
Definition at line 132 of file low_mach_navier_stokes_base.h.
|
virtual |
Sets velocity variables to be time-evolving.
Reimplemented from GRINS::Physics.
Definition at line 116 of file low_mach_navier_stokes_base.C.
|
inline |
Definition at line 125 of file low_mach_navier_stokes_base.h.
|
protected |
Specific heat object.
Definition at line 104 of file low_mach_navier_stokes_base.h.
|
protected |
Flag to enable thermodynamic pressure calculation.
Definition at line 113 of file low_mach_navier_stokes_base.h.
Referenced by GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokesBase().
|
protected |
|
protected |
Gravity vector.
Definition at line 110 of file low_mach_navier_stokes_base.h.
|
protected |
Thermal conductivity object.
Definition at line 107 of file low_mach_navier_stokes_base.h.
|
protected |
Viscosity object.
Definition at line 101 of file low_mach_navier_stokes_base.h.
|
protected |
Definition at line 90 of file low_mach_navier_stokes_base.h.
|
protected |
Thermodynamic pressure divided by gas constant.
Definition at line 88 of file low_mach_navier_stokes_base.h.
|
protected |
Then, in the VariableWarhouse, we can use dynamic_pointer_cast to get a SharedPtr.
Definition at line 98 of file low_mach_navier_stokes_base.h.
Referenced by GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokesBase().
|
protected |
Definition at line 93 of file low_mach_navier_stokes_base.h.
Referenced by GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokesBase().
|
protected |
Definition at line 90 of file low_mach_navier_stokes_base.h.
|
protected |
Definition at line 90 of file low_mach_navier_stokes_base.h.
|
protected |
Definition at line 94 of file low_mach_navier_stokes_base.h.
Referenced by GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokesBase().