GRINS-0.8.0
|
Adds Axisymmetric Boussinesq bouyancy source term. More...
#include <axisym_boussinesq_buoyancy.h>
Public Member Functions | |
AxisymmetricBoussinesqBuoyancy (const std::string &physics_name, const GetPot &input) | |
~AxisymmetricBoussinesqBuoyancy () | |
virtual void | init_context (AssemblyContext &context) |
Initialize context for added physics variables. More... | |
virtual void | element_time_derivative (bool compute_jacobian, AssemblyContext &context) |
Source term contribution for AxisymmetricBoussinesqBuoyancy. 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 | set_time_evolving_vars (libMesh::FEMSystem *system) |
Set which variables are time evolving. 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 | 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... | |
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... | |
Protected Attributes | |
const VelocityVariable & | _flow_vars |
const PressureFEVariable & | _press_var |
const PrimitiveTempFEVariables & | _temp_vars |
libMesh::Number | _rho |
density More... | |
libMesh::Number | _T_ref |
reference temperature More... | |
libMesh::Number | _beta_T |
coefficient of thermal expansion More... | |
libMesh::Point | _g |
Gravitational vector. 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 | |
AxisymmetricBoussinesqBuoyancy () | |
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... | |
Adds Axisymmetric Boussinesq bouyancy source term.
This class implements the Axisymmetric Boussinesq approximation for thermal buoyancy. Namely: where density, reference temperature, coefficient of thermal expansion, and the gravitional vector. This source term is added to the governing flow equations through the element_time_derivative routine. This class requires an axisymmetric flow physics enabled and the AxisymmetricHeatTransfer physics class enabled.
Definition at line 57 of file axisym_boussinesq_buoyancy.h.
GRINS::AxisymmetricBoussinesqBuoyancy::AxisymmetricBoussinesqBuoyancy | ( | const std::string & | physics_name, |
const GetPot & | input | ||
) |
Definition at line 45 of file axisym_boussinesq_buoyancy.C.
References read_input_options().
|
inline |
Definition at line 63 of file axisym_boussinesq_buoyancy.h.
|
private |
|
virtual |
Source term contribution for AxisymmetricBoussinesqBuoyancy.
This is the main part of the class. This will add the source term to the AxisymmetricIncompNavierStokes class.
Reimplemented from GRINS::Physics.
Definition at line 80 of file axisym_boussinesq_buoyancy.C.
|
virtual |
Initialize context for added physics variables.
Reimplemented from GRINS::Physics.
Definition at line 71 of file axisym_boussinesq_buoyancy.C.
References _flow_vars, _temp_vars, GRINS::PrimitiveTempFEVariables::T(), and GRINS::MultcomponentVectorVariable::u().
|
private |
Read options from GetPot input file.
Definition at line 55 of file axisym_boussinesq_buoyancy.C.
References _beta_T, _g, _rho, _T_ref, GRINS::PhysicsNaming::axisymmetric_boussinesq_buoyancy(), and GRINS::ParameterUser::set_parameter().
Referenced by AxisymmetricBoussinesqBuoyancy().
|
protected |
coefficient of thermal expansion
Definition at line 87 of file axisym_boussinesq_buoyancy.h.
Referenced by read_input_options().
|
protected |
Definition at line 76 of file axisym_boussinesq_buoyancy.h.
Referenced by init_context().
|
protected |
Gravitational vector.
Definition at line 91 of file axisym_boussinesq_buoyancy.h.
Referenced by read_input_options().
|
protected |
Definition at line 77 of file axisym_boussinesq_buoyancy.h.
|
protected |
density
Definition at line 81 of file axisym_boussinesq_buoyancy.h.
Referenced by read_input_options().
|
protected |
reference temperature
Definition at line 84 of file axisym_boussinesq_buoyancy.h.
Referenced by read_input_options().
|
protected |
Definition at line 78 of file axisym_boussinesq_buoyancy.h.
Referenced by init_context().