GRINS-0.8.0
|
Physics class for Incompressible Navier-Stokes. More...
#include <low_mach_navier_stokes.h>
Public Member Functions | |
LowMachNavierStokes (const PhysicsName &physics_name, const GetPot &input) | |
~LowMachNavierStokes () | |
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 postprocessing variables for LowMachNavierStokes. More... | |
virtual void | init_context (AssemblyContext &context) |
Initialize context for added physics variables. More... | |
virtual void | element_time_derivative (bool compute_jacobian, AssemblyContext &context) |
Time dependent part(s) of physics for element interiors. More... | |
virtual void | element_constraint (bool compute_jacobian, AssemblyContext &context) |
Constraint part(s) of physics for element interiors. More... | |
virtual void | mass_residual (bool compute_jacobian, AssemblyContext &context) |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More... | |
virtual void | compute_element_time_derivative_cache (AssemblyContext &context) |
virtual void | compute_postprocessed_quantity (unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value) |
Public Member Functions inherited from GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity > | |
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... | |
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 | 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 | 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 | 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 | 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_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 &) |
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 Member Functions | |
void | assemble_mass_time_deriv (bool compute_jacobian, AssemblyContext &context, const CachedValues &cache) |
Helper function. More... | |
void | assemble_momentum_time_deriv (bool compute_jacobian, AssemblyContext &context, const CachedValues &cache) |
Helper function. More... | |
void | assemble_energy_time_deriv (bool compute_jacobian, AssemblyContext &context, const CachedValues &cache) |
Helper function. More... | |
void | assemble_continuity_mass_residual (bool compute_jacobian, AssemblyContext &context) |
Helper function. More... | |
void | assemble_momentum_mass_residual (bool compute_jacobian, AssemblyContext &context) |
Helper function. More... | |
void | assemble_energy_mass_residual (bool compute_jacobian, AssemblyContext &context) |
Helper function. More... | |
void | assemble_thermo_press_elem_time_deriv (bool compute_jacobian, AssemblyContext &context) |
void | assemble_thermo_press_side_time_deriv (bool compute_jacobian, AssemblyContext &context) |
void | assemble_thermo_press_mass_residual (bool compute_jacobian, AssemblyContext &context) |
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... | |
Protected Attributes | |
bool | _pin_pressure |
Enable pressure pinning. More... | |
PressurePinning | _p_pinning |
unsigned int | _rho_index |
Cache index for density post-processing. More... | |
Protected Attributes inherited from GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity > | |
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 | |
LowMachNavierStokes () | |
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... | |
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 41 of file low_mach_navier_stokes.h.
GRINS::LowMachNavierStokes< Mu, SH, TC >::LowMachNavierStokes | ( | const PhysicsName & | physics_name, |
const GetPot & | input | ||
) |
Definition at line 45 of file low_mach_navier_stokes.C.
References GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::_flow_vars, GRINS::Physics::_ic_handler, GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >::_pin_pressure, GRINS::MultcomponentVectorVariable::dim(), and GRINS::PhysicsNaming::low_mach_navier_stokes().
|
inline |
Definition at line 47 of file low_mach_navier_stokes.h.
|
private |
|
protected |
Helper function.
Definition at line 693 of file low_mach_navier_stokes.C.
|
protected |
|
protected |
Helper function.
Definition at line 581 of file low_mach_navier_stokes.C.
References GRINS::CachedValues::get_cached_gradient_values(), GRINS::CachedValues::get_cached_values(), GRINS::Cache::TEMPERATURE, GRINS::Cache::TEMPERATURE_GRAD, GRINS::Cache::THERMO_PRESSURE, GRINS::Cache::X_VELOCITY, GRINS::Cache::Y_VELOCITY, and GRINS::Cache::Z_VELOCITY.
|
protected |
Helper function.
Definition at line 152 of file low_mach_navier_stokes.C.
References GRINS::CachedValues::get_cached_gradient_values(), GRINS::CachedValues::get_cached_values(), GRINS::Cache::TEMPERATURE, GRINS::Cache::TEMPERATURE_GRAD, GRINS::Cache::X_VELOCITY, GRINS::Cache::X_VELOCITY_GRAD, GRINS::Cache::Y_VELOCITY, GRINS::Cache::Y_VELOCITY_GRAD, GRINS::Cache::Z_VELOCITY, and GRINS::Cache::Z_VELOCITY_GRAD.
|
protected |
Helper function.
Definition at line 735 of file low_mach_navier_stokes.C.
|
protected |
Helper function.
Definition at line 287 of file low_mach_navier_stokes.C.
References GRINS::CachedValues::get_cached_gradient_values(), GRINS::CachedValues::get_cached_values(), GRINS::Cache::PRESSURE, GRINS::Cache::TEMPERATURE, GRINS::Cache::THERMO_PRESSURE, GRINS::Cache::X_VELOCITY, GRINS::Cache::X_VELOCITY_GRAD, GRINS::Cache::Y_VELOCITY, GRINS::Cache::Y_VELOCITY_GRAD, GRINS::Cache::Z_VELOCITY, and GRINS::Cache::Z_VELOCITY_GRAD.
|
protected |
Definition at line 860 of file low_mach_navier_stokes.C.
|
protected |
Definition at line 958 of file low_mach_navier_stokes.C.
|
protected |
Definition at line 908 of file low_mach_navier_stokes.C.
|
virtual |
Any auxillary initialization a Physics class may need.
This is called after all variables are added, so this method can safely query the MultiphysicsSystem about variable information.
Reimplemented from GRINS::Physics.
Definition at line 59 of file low_mach_navier_stokes.C.
|
virtual |
Reimplemented from GRINS::Physics.
Definition at line 1020 of file low_mach_navier_stokes.C.
References GRINS::AssemblyContext::get_cached_values(), GRINS::Cache::PRESSURE, GRINS::CachedValues::set_gradient_values(), GRINS::CachedValues::set_values(), GRINS::Cache::TEMPERATURE, GRINS::Cache::TEMPERATURE_GRAD, GRINS::Cache::THERMO_PRESSURE, GRINS::Cache::X_VELOCITY, GRINS::Cache::X_VELOCITY_GRAD, GRINS::Cache::Y_VELOCITY, GRINS::Cache::Y_VELOCITY_GRAD, GRINS::Cache::Z_VELOCITY, and GRINS::Cache::Z_VELOCITY_GRAD.
|
virtual |
|
virtual |
Constraint part(s) of physics for element interiors.
Reimplemented from GRINS::Physics.
Definition at line 129 of file low_mach_navier_stokes.C.
|
virtual |
Time dependent part(s) of physics for element interiors.
Reimplemented from GRINS::Physics.
Definition at line 115 of file low_mach_navier_stokes.C.
References GRINS::AssemblyContext::get_cached_values().
|
virtual |
Initialize context for added physics variables.
Reimplemented from GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >.
Definition at line 95 of file low_mach_navier_stokes.C.
References GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::init_context().
|
virtual |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part.
Reimplemented from GRINS::Physics.
Definition at line 139 of file low_mach_navier_stokes.C.
|
virtual |
Register postprocessing variables for LowMachNavierStokes.
Reimplemented from GRINS::Physics.
Definition at line 66 of file low_mach_navier_stokes.C.
References GRINS::PhysicsNaming::low_mach_navier_stokes(), and GRINS::PostProcessedQuantities< NumericType >::register_quantity().
|
protected |
Definition at line 81 of file low_mach_navier_stokes.h.
|
protected |
Enable pressure pinning.
Definition at line 79 of file low_mach_navier_stokes.h.
Referenced by GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokes().
|
protected |
Cache index for density post-processing.
Definition at line 84 of file low_mach_navier_stokes.h.