|
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().