GRINS-0.6.0
|
Base class for reading and handling boundary conditions for physics classes. More...
#include <low_mach_navier_stokes_bc_handling.h>
Public Member Functions | |
LowMachNavierStokesBCHandling (const std::string &physics_name, const GetPot &input) | |
virtual | ~LowMachNavierStokesBCHandling () |
virtual int | string_to_int (const std::string &bc_type_in) const |
virtual void | init_bc_data (const libMesh::FEMSystem &system) |
Override this method to initialize any system-dependent data. More... | |
virtual void | init_bc_types (const GRINS::BoundaryID bc_id, const std::string &bc_id_string, const int bc_type, const std::string &bc_vars, const std::string &bc_value, const GetPot &input) |
virtual void | user_init_dirichlet_bcs (libMesh::FEMSystem *system, libMesh::DofMap &dof_map, GRINS::BoundaryID bc_id, GRINS::BCType bc_type) const |
void | set_temp_bc_type (GRINS::BoundaryID bc_id, int bc_type) |
void | set_temp_bc_value (GRINS::BoundaryID bc_id, libMesh::Real value) |
libMesh::Real | get_temp_bc_value (GRINS::BoundaryID bc_id) const |
virtual void | init_dirichlet_bcs (libMesh::FEMSystem *system) const |
void | attach_neumann_bound_func (GRINS::NBCContainer &neumann_bcs) |
void | attach_dirichlet_bound_func (const GRINS::DBCContainer &dirichlet_bc) |
virtual void | read_bc_data (const GetPot &input, const std::string &id_str, const std::string &bc_str, const std::string &var_str, const std::string &val_str) |
virtual void | apply_neumann_bcs (AssemblyContext &context, const GRINS::CachedValues &cache, const bool request_jacobian, const GRINS::BoundaryID bc_id) const |
virtual void | user_apply_neumann_bcs (AssemblyContext &context, const GRINS::CachedValues &cache, const bool request_jacobian, const GRINS::BoundaryID bc_id, const GRINS::BCType bc_type) const |
virtual void | init_dirichlet_bc_func_objs (libMesh::FEMSystem *system) const |
virtual void | init_periodic_bcs (libMesh::FEMSystem *system) const |
void | set_dirichlet_bc_type (GRINS::BoundaryID bc_id, int bc_type) |
void | set_neumann_bc_type (GRINS::BoundaryID bc_id, int bc_type) |
void | set_dirichlet_bc_value (GRINS::BoundaryID bc_id, libMesh::Real value, int component=0) |
void | set_neumann_bc_value (GRINS::BoundaryID bc_id, const libMesh::Point &q_in) |
libMesh::Real | get_dirichlet_bc_value (GRINS::BoundaryID bc_id, int component=0) const |
const libMesh::Point & | get_neumann_bc_value (GRINS::BoundaryID bc_id) const |
std::tr1::shared_ptr< GRINS::NeumannFuncObj > | get_neumann_bound_func (GRINS::BoundaryID bc_id, GRINS::VariableIndex var_id) const |
std::tr1::shared_ptr< GRINS::NeumannFuncObj > | get_neumann_bound_func (GRINS::BoundaryID bc_id, GRINS::VariableIndex var_id) |
GRINS::BCType | get_dirichlet_bc_type (const GRINS::BoundaryID bc_id) const |
bool | is_axisymmetric () const |
Protected Types | |
enum | BC_BASE { PERIODIC = -5, CONSTANT_DIRICHLET, PARSED_DIRICHLET, PARSED_FEM_DIRICHLET, AXISYMMETRIC } |
Protected Attributes | |
std::string | _u_var_name |
std::string | _v_var_name |
std::string | _w_var_name |
std::string | _T_var_name |
GRINS::VariableIndex | _T_var |
std::map< GRINS::BoundaryID, libMesh::Real > | _T_values |
std::vector< std::pair< BoundaryID, BCType > > | _temp_bc_map |
std::vector< std::pair< BoundaryID, BCType > > | _dirichlet_bc_map |
Map between boundary id and Dirichlet boundary condition type. More... | |
std::map< GRINS::BoundaryID, GRINS::BCType > | _neumann_bc_map |
Map between boundary id and Neumann boundary condition type. More... | |
std::map< GRINS::BoundaryID, libMesh::Point > | _dirichlet_values |
Stash prescribed Dirichlet boundary values. More... | |
std::map< GRINS::BoundaryID, libMesh::Point > | _q_values |
Stash prescribed boundary fluxes. More... | |
std::map< GRINS::BoundaryID, GRINS::NBCContainer > | _neumann_bound_funcs |
std::vector< GRINS::DBCContainer > | _dirichlet_bound_funcs |
GRINS::BoundaryConditions | _bound_conds |
Object that stashes generic boundary condition types. More... | |
std::vector< GRINS::PBCContainer > | _periodic_bcs |
unsigned int | _num_periodic_bcs |
std::string | _physics_name |
Static Protected Attributes | |
static bool | _axisymmetric = false |
Flag to cache whether or not there is an axisymmetric boundary present. More... | |
Private Member Functions | |
LowMachNavierStokesBCHandling () | |
Base class for reading and handling boundary conditions for physics classes.
Definition at line 35 of file low_mach_navier_stokes_bc_handling.h.
|
protectedinherited |
Enumerator | |
---|---|
PERIODIC | |
CONSTANT_DIRICHLET | |
PARSED_DIRICHLET | |
PARSED_FEM_DIRICHLET | |
AXISYMMETRIC |
Definition at line 163 of file bc_handling_base.h.
|
private |
Enumerator | |
---|---|
NO_SLIP | |
ZERO_X_VELOCITY | |
ZERO_Y_VELOCITY | |
PRESCRIBED_VELOCITY | |
GENERAL_VELOCITY | |
PARABOLIC_PROFILE | |
ISOTHERMAL_WALL | |
GENERAL_ISOTHERMAL_WALL | |
ADIABATIC_WALL | |
PRESCRIBED_HEAT_FLUX | |
GENERAL_HEAT_FLUX |
Definition at line 79 of file low_mach_navier_stokes_bc_handling.h.
GRINS::LowMachNavierStokesBCHandling::LowMachNavierStokesBCHandling | ( | const std::string & | physics_name, |
const GetPot & | input | ||
) |
Definition at line 38 of file low_mach_navier_stokes_bc_handling.C.
References GRINS::BCHandlingBase::_physics_name, and GRINS::BCHandlingBase::read_bc_data().
|
virtual |
Definition at line 63 of file low_mach_navier_stokes_bc_handling.C.
|
private |
|
virtualinherited |
Definition at line 234 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_neumann_bc_map, and GRINS::BCHandlingBase::user_apply_neumann_bcs().
|
inherited |
Definition at line 67 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_dirichlet_bound_funcs.
Referenced by GRINS::Physics::attach_dirichlet_bound_func(), init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), and GRINS::BCHandlingBase::init_bc_types().
|
inherited |
Definition at line 61 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_neumann_bound_funcs, and GRINS::NBCContainer::get_bc_id().
Referenced by GRINS::Physics::attach_neumann_bound_func().
|
inlineinherited |
Definition at line 207 of file bc_handling_base.h.
References GRINS::BCHandlingBase::_dirichlet_bc_map.
|
inherited |
Definition at line 273 of file bc_handling_base.C.
Referenced by GRINS::HeatTransferBCHandling::user_init_dirichlet_bcs(), user_init_dirichlet_bcs(), GRINS::SolidMechanicsBCHandling::user_init_dirichlet_bcs(), GRINS::IncompressibleNavierStokesBCHandling::user_init_dirichlet_bcs(), and GRINS::AxisymmetricHeatTransferBCHandling::user_init_dirichlet_bcs().
|
inlineinherited |
Definition at line 185 of file bc_handling_base.h.
References GRINS::BCHandlingBase::_q_values.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::user_apply_neumann_bcs(), GRINS::HeatTransferBCHandling::user_apply_neumann_bcs(), and GRINS::SolidMechanicsBCHandling::user_apply_neumann_bcs().
|
inlineinherited |
Definition at line 192 of file bc_handling_base.h.
References GRINS::BCHandlingBase::_neumann_bound_funcs.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::user_apply_neumann_bcs(), and GRINS::HeatTransferBCHandling::user_apply_neumann_bcs().
|
inlineinherited |
Definition at line 200 of file bc_handling_base.h.
References GRINS::BCHandlingBase::_neumann_bound_funcs.
libMesh::Real GRINS::LowMachNavierStokesBCHandling::get_temp_bc_value | ( | GRINS::BoundaryID | bc_id | ) | const |
Definition at line 489 of file low_mach_navier_stokes_bc_handling.C.
References _T_values.
Referenced by user_init_dirichlet_bcs().
|
virtual |
Override this method to initialize any system-dependent data.
Override this method to, for example, cache a System variable number. This is called before any of the other init methods in this class. By default, does nothing.
Reimplemented from GRINS::BCHandlingBase.
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >.
Definition at line 114 of file low_mach_navier_stokes_bc_handling.C.
References _T_var, and _T_var_name.
Referenced by GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::init_bc_data().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >.
Definition at line 121 of file low_mach_navier_stokes_bc_handling.C.
References GRINS::BCHandlingBase::_physics_name, GRINS::DBCContainer::add_bc_id(), GRINS::DBCContainer::add_var_name(), ADIABATIC_WALL, GRINS::BCHandlingBase::attach_dirichlet_bound_func(), GRINS::BCHandlingBase::AXISYMMETRIC, GENERAL_HEAT_FLUX, GENERAL_ISOTHERMAL_WALL, GENERAL_VELOCITY, GRINS::BCHandlingBase::init_bc_types(), ISOTHERMAL_WALL, NO_SLIP, PARABOLIC_PROFILE, PRESCRIBED_HEAT_FLUX, PRESCRIBED_VELOCITY, GRINS::BCHandlingBase::set_dirichlet_bc_type(), GRINS::BCHandlingBase::set_dirichlet_bc_value(), GRINS::DBCContainer::set_func(), GRINS::BCHandlingBase::set_neumann_bc_type(), GRINS::BCHandlingBase::set_neumann_bc_value(), set_temp_bc_type(), set_temp_bc_value(), ZERO_X_VELOCITY, and ZERO_Y_VELOCITY.
Referenced by GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::init_bc_types().
|
virtualinherited |
Definition at line 116 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_dirichlet_bound_funcs.
Referenced by GRINS::Physics::init_bcs().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >.
Definition at line 494 of file low_mach_navier_stokes_bc_handling.C.
References GRINS::BCHandlingBase::_dirichlet_bc_map, _temp_bc_map, and user_init_dirichlet_bcs().
Referenced by GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::init_dirichlet_bcs().
|
virtualinherited |
Definition at line 203 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_num_periodic_bcs, and GRINS::BCHandlingBase::_periodic_bcs.
Referenced by GRINS::Physics::init_bcs().
|
inlineinherited |
Definition at line 179 of file bc_handling_base.h.
References GRINS::BCHandlingBase::_axisymmetric.
Referenced by GRINS::HeatTransfer< Conductivity >::HeatTransfer(), GRINS::IncompressibleNavierStokes< Viscosity >::IncompressibleNavierStokes(), GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >::ReactingLowMachNavierStokes(), and GRINS::HeatTransferBCHandling::user_apply_neumann_bcs().
|
virtualinherited |
Definition at line 73 of file bc_handling_base.C.
References GRINS::BCHandlingBase::init_bc_types(), and GRINS::BCHandlingBase::string_to_int().
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::AxisymmetricHeatTransferBCHandling(), GRINS::HeatTransferBCHandling::HeatTransferBCHandling(), GRINS::IncompressibleNavierStokesBCHandling::IncompressibleNavierStokesBCHandling(), LowMachNavierStokesBCHandling(), GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::ReactingLowMachNavierStokesBCHandling(), GRINS::SolidMechanicsBCHandling::SolidMechanicsBCHandling(), and GRINS::SpalartAllmarasBCHandling::SpalartAllmarasBCHandling().
|
inherited |
Definition at line 252 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_dirichlet_bc_map.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::init_bc_types(), GRINS::HeatTransferBCHandling::init_bc_types(), init_bc_types(), GRINS::SpalartAllmarasBCHandling::init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), and GRINS::SolidMechanicsBCHandling::init_bc_types().
|
inherited |
Definition at line 264 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_dirichlet_values.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::init_bc_types(), GRINS::HeatTransferBCHandling::init_bc_types(), init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), and GRINS::SolidMechanicsBCHandling::init_bc_types().
|
inherited |
Definition at line 258 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_neumann_bc_map.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::init_bc_types(), GRINS::HeatTransferBCHandling::init_bc_types(), init_bc_types(), and GRINS::SolidMechanicsBCHandling::init_bc_types().
|
inherited |
Definition at line 278 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_q_values.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::init_bc_types(), GRINS::HeatTransferBCHandling::init_bc_types(), init_bc_types(), and GRINS::SolidMechanicsBCHandling::init_bc_types().
void GRINS::LowMachNavierStokesBCHandling::set_temp_bc_type | ( | GRINS::BoundaryID | bc_id, |
int | bc_type | ||
) |
Definition at line 476 of file low_mach_navier_stokes_bc_handling.C.
References _temp_bc_map.
Referenced by init_bc_types().
void GRINS::LowMachNavierStokesBCHandling::set_temp_bc_value | ( | GRINS::BoundaryID | bc_id, |
libMesh::Real | value | ||
) |
Definition at line 482 of file low_mach_navier_stokes_bc_handling.C.
References _T_values.
Referenced by init_bc_types().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >.
Definition at line 68 of file low_mach_navier_stokes_bc_handling.C.
References ADIABATIC_WALL, GENERAL_HEAT_FLUX, GENERAL_ISOTHERMAL_WALL, GENERAL_VELOCITY, ISOTHERMAL_WALL, NO_SLIP, PARABOLIC_PROFILE, PRESCRIBED_HEAT_FLUX, PRESCRIBED_VELOCITY, GRINS::BCHandlingBase::string_to_int(), ZERO_X_VELOCITY, and ZERO_Y_VELOCITY.
Referenced by GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::string_to_int().
|
virtualinherited |
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >, GRINS::SolidMechanicsBCHandling, GRINS::HeatTransferBCHandling, and GRINS::AxisymmetricHeatTransferBCHandling.
Definition at line 479 of file bc_handling_base.C.
Referenced by GRINS::BCHandlingBase::apply_neumann_bcs().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >.
Definition at line 300 of file low_mach_navier_stokes_bc_handling.C.
References _T_var_name, _u_var_name, _v_var_name, _w_var_name, GRINS::BCHandlingBase::AXISYMMETRIC, GENERAL_ISOTHERMAL_WALL, GENERAL_VELOCITY, GRINS::BCHandlingBase::get_dirichlet_bc_value(), get_temp_bc_value(), ISOTHERMAL_WALL, NO_SLIP, PARABOLIC_PROFILE, PRESCRIBED_VELOCITY, ZERO_X_VELOCITY, and ZERO_Y_VELOCITY.
Referenced by init_dirichlet_bcs(), and GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::user_init_dirichlet_bcs().
|
staticprotectedinherited |
Flag to cache whether or not there is an axisymmetric boundary present.
Definition at line 170 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::is_axisymmetric(), and GRINS::BCHandlingBase::string_to_int().
|
protectedinherited |
Object that stashes generic boundary condition types.
Definition at line 156 of file bc_handling_base.h.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::user_apply_neumann_bcs(), GRINS::HeatTransferBCHandling::user_apply_neumann_bcs(), and GRINS::SolidMechanicsBCHandling::user_apply_neumann_bcs().
|
protectedinherited |
Map between boundary id and Dirichlet boundary condition type.
We need to keep this around because the libMesh::DirichletBoundary objects can't be created until we init the variables. We use a vector of pairs so that the boundary condition functors get added to the libMesh::DofMap in the same order as in the input file.
Definition at line 137 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::get_dirichlet_bc_type(), init_dirichlet_bcs(), GRINS::BCHandlingBase::init_dirichlet_bcs(), and GRINS::BCHandlingBase::set_dirichlet_bc_type().
|
protectedinherited |
Definition at line 151 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::attach_dirichlet_bound_func(), and GRINS::BCHandlingBase::init_dirichlet_bc_func_objs().
|
protectedinherited |
Stash prescribed Dirichlet boundary values.
Definition at line 143 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::set_dirichlet_bc_value().
|
protectedinherited |
Map between boundary id and Neumann boundary condition type.
Definition at line 140 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::apply_neumann_bcs(), and GRINS::BCHandlingBase::set_neumann_bc_type().
|
protectedinherited |
Definition at line 149 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::attach_neumann_bound_func(), and GRINS::BCHandlingBase::get_neumann_bound_func().
|
protectedinherited |
Definition at line 159 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::init_bc_types(), and GRINS::BCHandlingBase::init_periodic_bcs().
|
protectedinherited |
Definition at line 158 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::init_bc_types(), and GRINS::BCHandlingBase::init_periodic_bcs().
|
protectedinherited |
Definition at line 161 of file bc_handling_base.h.
Referenced by GRINS::AxisymmetricHeatTransferBCHandling::AxisymmetricHeatTransferBCHandling(), GRINS::HeatTransferBCHandling::HeatTransferBCHandling(), GRINS::IncompressibleNavierStokesBCHandling::IncompressibleNavierStokesBCHandling(), GRINS::AxisymmetricHeatTransferBCHandling::init_bc_types(), GRINS::HeatTransferBCHandling::init_bc_types(), init_bc_types(), GRINS::SolidMechanicsBCHandling::init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), GRINS::BCHandlingBase::init_bc_types(), LowMachNavierStokesBCHandling(), GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::ReactingLowMachNavierStokesBCHandling(), GRINS::SolidMechanicsBCHandling::SolidMechanicsBCHandling(), GRINS::SpalartAllmarasBCHandling::SpalartAllmarasBCHandling(), GRINS::AxisymmetricHeatTransferBCHandling::string_to_int(), GRINS::BCHandlingBase::string_to_int(), GRINS::AxisymmetricHeatTransferBCHandling::user_apply_neumann_bcs(), GRINS::HeatTransferBCHandling::user_apply_neumann_bcs(), GRINS::SolidMechanicsBCHandling::user_apply_neumann_bcs(), GRINS::HeatTransferBCHandling::user_init_dirichlet_bcs(), and GRINS::AxisymmetricHeatTransferBCHandling::user_init_dirichlet_bcs().
|
protectedinherited |
Stash prescribed boundary fluxes.
Definition at line 146 of file bc_handling_base.h.
Referenced by GRINS::BCHandlingBase::get_neumann_bc_value(), and GRINS::BCHandlingBase::set_neumann_bc_value().
|
protected |
Definition at line 70 of file low_mach_navier_stokes_bc_handling.h.
Referenced by get_temp_bc_value(), and set_temp_bc_value().
|
protected |
Definition at line 67 of file low_mach_navier_stokes_bc_handling.h.
Referenced by init_bc_data().
|
protected |
Definition at line 65 of file low_mach_navier_stokes_bc_handling.h.
Referenced by init_bc_data(), and user_init_dirichlet_bcs().
|
protected |
Definition at line 73 of file low_mach_navier_stokes_bc_handling.h.
Referenced by init_dirichlet_bcs(), and set_temp_bc_type().
|
protected |
Definition at line 65 of file low_mach_navier_stokes_bc_handling.h.
Referenced by user_init_dirichlet_bcs().
|
protected |
Definition at line 65 of file low_mach_navier_stokes_bc_handling.h.
Referenced by user_init_dirichlet_bcs().
|
protected |
Definition at line 65 of file low_mach_navier_stokes_bc_handling.h.
Referenced by user_init_dirichlet_bcs().