GRINS-0.6.0
|
#include <solid_mechanics_bc_handling.h>
Public Member Functions | |
SolidMechanicsBCHandling (const std::string &physics_name, const GetPot &input) | |
virtual | ~SolidMechanicsBCHandling () |
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 |
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 |
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 | 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) |
virtual void | init_dirichlet_bcs (libMesh::FEMSystem *system) const |
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 | |
SolidMechanicsVariables | _disp_vars |
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 Types | |
enum | SOLIDS_BC_TYPES { PINNED =1, CONSTANT_DISPLACEMENT, ROLLER_X, ROLLER_Y, ROLLER_Z, SYMMETRY_YZ, SYMMETRY_XZ, SYMMETRY_XY, CONSTANT_TRACTION } |
Private Member Functions | |
SolidMechanicsBCHandling () | |
Definition at line 35 of file solid_mechanics_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 | |
---|---|
PINNED | |
CONSTANT_DISPLACEMENT | |
ROLLER_X | |
ROLLER_Y | |
ROLLER_Z | |
SYMMETRY_YZ | |
SYMMETRY_XZ | |
SYMMETRY_XY | |
CONSTANT_TRACTION |
Definition at line 74 of file solid_mechanics_bc_handling.h.
GRINS::SolidMechanicsBCHandling::SolidMechanicsBCHandling | ( | const std::string & | physics_name, |
const GetPot & | input | ||
) |
Definition at line 37 of file solid_mechanics_bc_handling.C.
References GRINS::BCHandlingBase::_physics_name, and GRINS::BCHandlingBase::read_bc_data().
|
virtual |
Definition at line 52 of file solid_mechanics_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(), GRINS::LowMachNavierStokesBCHandling::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(), GRINS::LowMachNavierStokesBCHandling::user_init_dirichlet_bcs(), 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 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.
|
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.
Definition at line 97 of file solid_mechanics_bc_handling.C.
References _disp_vars, and GRINS::SolidMechanicsVariables::init().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Definition at line 104 of file solid_mechanics_bc_handling.C.
References _disp_vars, GRINS::BCHandlingBase::_physics_name, CONSTANT_DISPLACEMENT, CONSTANT_TRACTION, GRINS::SolidMechanicsVariables::have_v(), GRINS::SolidMechanicsVariables::have_w(), GRINS::BCHandlingBase::init_bc_types(), PINNED, ROLLER_X, ROLLER_Y, ROLLER_Z, GRINS::BCHandlingBase::set_dirichlet_bc_type(), GRINS::BCHandlingBase::set_dirichlet_bc_value(), GRINS::BCHandlingBase::set_neumann_bc_type(), GRINS::BCHandlingBase::set_neumann_bc_value(), SYMMETRY_XY, SYMMETRY_XZ, and SYMMETRY_YZ.
|
virtualinherited |
Definition at line 116 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_dirichlet_bound_funcs.
Referenced by GRINS::Physics::init_bcs().
|
virtualinherited |
Reimplemented in GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >, and GRINS::LowMachNavierStokesBCHandling.
Definition at line 190 of file bc_handling_base.C.
References GRINS::BCHandlingBase::_dirichlet_bc_map, and GRINS::BCHandlingBase::user_init_dirichlet_bcs().
Referenced by GRINS::Physics::init_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(), GRINS::LowMachNavierStokesBCHandling::LowMachNavierStokesBCHandling(), GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::ReactingLowMachNavierStokesBCHandling(), 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(), GRINS::LowMachNavierStokesBCHandling::init_bc_types(), GRINS::SpalartAllmarasBCHandling::init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), and 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(), GRINS::LowMachNavierStokesBCHandling::init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), and 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(), GRINS::LowMachNavierStokesBCHandling::init_bc_types(), and 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(), GRINS::LowMachNavierStokesBCHandling::init_bc_types(), and init_bc_types().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Definition at line 57 of file solid_mechanics_bc_handling.C.
References CONSTANT_DISPLACEMENT, CONSTANT_TRACTION, PINNED, ROLLER_X, ROLLER_Y, ROLLER_Z, GRINS::BCHandlingBase::string_to_int(), SYMMETRY_XY, SYMMETRY_XZ, and SYMMETRY_YZ.
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Definition at line 433 of file solid_mechanics_bc_handling.C.
References GRINS::BCHandlingBase::_bound_conds, _disp_vars, GRINS::BCHandlingBase::_physics_name, GRINS::BoundaryConditions::apply_neumann_normal(), CONSTANT_TRACTION, GRINS::BCHandlingBase::get_neumann_bc_value(), GRINS::SolidMechanicsVariables::have_v(), GRINS::SolidMechanicsVariables::have_w(), GRINS::SolidMechanicsVariables::u_var(), GRINS::SolidMechanicsVariables::v_var(), and GRINS::SolidMechanicsVariables::w_var().
|
virtual |
Reimplemented from GRINS::BCHandlingBase.
Definition at line 199 of file solid_mechanics_bc_handling.C.
References _disp_vars, CONSTANT_DISPLACEMENT, GRINS::BCHandlingBase::get_dirichlet_bc_value(), GRINS::SolidMechanicsVariables::have_v(), GRINS::SolidMechanicsVariables::have_w(), PINNED, ROLLER_X, ROLLER_Y, ROLLER_Z, SYMMETRY_XY, SYMMETRY_XZ, SYMMETRY_YZ, GRINS::SolidMechanicsVariables::u_var(), GRINS::SolidMechanicsVariables::u_var_name(), GRINS::SolidMechanicsVariables::v_var(), GRINS::SolidMechanicsVariables::v_var_name(), GRINS::SolidMechanicsVariables::w_var(), and GRINS::SolidMechanicsVariables::w_var_name().
|
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 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(), GRINS::LowMachNavierStokesBCHandling::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().
|
protected |
Definition at line 68 of file solid_mechanics_bc_handling.h.
Referenced by init_bc_data(), init_bc_types(), user_apply_neumann_bcs(), and user_init_dirichlet_bcs().
|
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(), GRINS::LowMachNavierStokesBCHandling::init_bc_types(), init_bc_types(), GRINS::IncompressibleNavierStokesBCHandling::init_bc_types(), GRINS::BCHandlingBase::init_bc_types(), GRINS::LowMachNavierStokesBCHandling::LowMachNavierStokesBCHandling(), GRINS::ReactingLowMachNavierStokesBCHandling< Chemistry >::ReactingLowMachNavierStokesBCHandling(), 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(), 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().