GRINS-0.8.0
|
Manages runtime construction of Dirichlet boundary conditions. More...
#include <default_bc_builder.h>
Public Member Functions | |
DefaultBCBuilder () | |
~DefaultBCBuilder () | |
Public Member Functions inherited from GRINS::BCBuilder | |
BCBuilder () | |
virtual | ~BCBuilder () |
Public Member Functions inherited from GRINS::BuilderHelper | |
BuilderHelper () | |
~BuilderHelper () | |
Protected Member Functions | |
virtual void | build_bcs (const GetPot &input, MultiphysicsSystem &system, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs) |
void | build_type_based_bcs (const GetPot &input, MultiphysicsSystem &system, const std::set< BoundaryID > &bc_ids, libMesh::DofMap &dof_map, const std::string &type_input_section, std::set< std::string > &var_sections, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs) |
Helper function to build boundary conditions specified by a single type. More... | |
void | build_axisymmetric_bcs (const GetPot &input, MultiphysicsSystem &system, const std::set< BoundaryID > &bc_ids, libMesh::DofMap &dof_map, const std::string &bc_type, std::set< std::string > &var_sections, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs) |
void | build_bcs_by_var_section (const GetPot &input, MultiphysicsSystem &system, const std::string &bc_name, const std::set< BoundaryID > &bc_ids, libMesh::DofMap &dof_map, std::set< std::string > &var_sections, const std::map< BoundaryID, std::vector< libMesh::subdomain_id_type > > &bc_id_to_subdomain_id_map, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs) |
Helper function to build boundary conditions using Variable sections. More... | |
void | parse_and_build_bc_id_map (const GetPot &input, std::map< std::string, std::set< BoundaryID > > &bc_id_map) |
void | verify_bc_ids_with_mesh (const MultiphysicsSystem &system, const std::map< std::string, std::set< BoundaryID > > &bc_id_map) const |
void | build_periodic_bc (const GetPot &input, libMesh::System &system, const std::set< BoundaryID > &bc_ids, const std::string §ion) |
void | parse_periodic_master_slave_ids (const GetPot &input, const std::string §ion, libMesh::boundary_id_type &master_id, libMesh::boundary_id_type &slave_id) const |
libMesh::RealVectorValue | parse_periodic_offset (const GetPot &input, const std::string §ion) const |
void | build_bc_to_subdomain_map_check_with_mesh (const MultiphysicsSystem &system, std::map< BoundaryID, std::vector< libMesh::subdomain_id_type > > &bc_id_to_subdomain_id_map) const |
Build up bc_id to subdomain_id map. More... | |
bool | is_var_active (const FEVariablesBase &var, const std::vector< libMesh::subdomain_id_type > &subdomain_ids) const |
Check if the Variable var is active on the given subdomain_id. More... | |
Protected Member Functions inherited from GRINS::BCBuilder | |
void | construct_dbc_core (const GetPot &input, MultiphysicsSystem &system, const std::set< BoundaryID > &bc_ids, const FEVariablesBase &fe_var, const std::string §ion, const std::string &bc_type, libMesh::DofMap &dof_map) |
void | construct_nbc_core (const GetPot &input, MultiphysicsSystem &system, const std::set< BoundaryID > &bc_ids, const FEVariablesBase &fe_var, const std::string §ion, const std::string &bc_type, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs) |
bool | is_dirichlet_bc_type (const std::string &bc_type) |
bool | is_neumann_bc_type (const std::string &bc_type) |
void | add_periodic_bc_to_dofmap (libMesh::boundary_id_type master_id, libMesh::boundary_id_type slave_id, const libMesh::RealVectorValue &offset_vector, libMesh::DofMap &dof_map) |
Additional Inherited Members | |
Static Public Member Functions inherited from GRINS::BCBuilder | |
static void | build_boundary_conditions (const GetPot &input, MultiphysicsSystem &system, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs) |
Static Public Member Functions inherited from GRINS::BuilderHelper | |
static void | parse_var_sections (const GetPot &input, std::set< std::string > §ions) |
Parses the input file for [Variables] first-level subsections. More... | |
static void | parse_var_sections_vector (const GetPot &input, std::vector< std::string > §ions) |
The same as parse_var_sections, except the result is returned in an std::vector. More... | |
Static Protected Member Functions inherited from GRINS::BCBuilder | |
static bool | is_new_bc_input_style (const GetPot &input) |
static libMesh::UniquePtr< BCBuilder > | build_builder (const GetPot &input) |
Manages runtime construction of Dirichlet boundary conditions.
This will parse the input for the request Dirichlet boundary conditions and manage their construction. Actual construction of the DirichletBoundary objects is delegated to factory classes. This builder classes merely manages tasks around the factories as needed. To add new Dirichlet boundary conditions, the user should instantiate an appropriate factory sub class.
Definition at line 47 of file default_bc_builder.h.
|
inline |
Definition at line 52 of file default_bc_builder.h.
|
inline |
Definition at line 57 of file default_bc_builder.h.
|
protected |
Definition at line 142 of file default_bc_builder.C.
References GRINS::BCBuilder::construct_dbc_core(), GRINS::BCBuilder::construct_nbc_core(), GRINS::GRINSPrivate::VariableWarehouse::get_variable(), GRINS::FEVariablesBase::is_constraint_var(), GRINS::BCBuilder::is_dirichlet_bc_type(), and GRINS::BCBuilder::is_neumann_bc_type().
Referenced by build_type_based_bcs().
|
protected |
Build up bc_id to subdomain_id map.
we also check and make sure that there's only one subdomain id per boundary id. If not, we throw an error.
Definition at line 463 of file default_bc_builder.C.
Referenced by build_bcs().
|
protectedvirtual |
Implements GRINS::BCBuilder.
Definition at line 46 of file default_bc_builder.C.
References GRINS::BoundaryConditionNames::bc_section(), build_bc_to_subdomain_map_check_with_mesh(), build_bcs_by_var_section(), build_type_based_bcs(), parse_and_build_bc_id_map(), GRINS::BuilderHelper::parse_var_sections(), and verify_bc_ids_with_mesh().
|
protected |
Helper function to build boundary conditions using Variable sections.
This is the "standard" part. We parse for each Variable section that should have boundary conditions and then parse the boundary condition type.
Definition at line 195 of file default_bc_builder.C.
References GRINS::BoundaryConditionNames::bc_section(), GRINS::BCBuilder::construct_dbc_core(), GRINS::BCBuilder::construct_nbc_core(), GRINS::GRINSPrivate::VariableWarehouse::get_variable(), GRINS::FEVariablesBase::is_constraint_var(), GRINS::BCBuilder::is_dirichlet_bc_type(), GRINS::BCBuilder::is_neumann_bc_type(), and is_var_active().
Referenced by build_bcs().
|
protected |
Definition at line 384 of file default_bc_builder.C.
References GRINS::BCBuilder::add_periodic_bc_to_dofmap(), parse_periodic_master_slave_ids(), and parse_periodic_offset().
Referenced by build_type_based_bcs().
|
protected |
Helper function to build boundary conditions specified by a single type.
Examples include axisymmetric and periodic.
Definition at line 105 of file default_bc_builder.C.
References GRINS::BoundaryConditionNames::axisymmetric(), build_axisymmetric_bcs(), build_periodic_bc(), GRINS::Physics::is_axisymmetric(), and GRINS::BoundaryConditionNames::periodic().
Referenced by build_bcs().
|
protected |
Check if the Variable var is active on the given subdomain_id.
Definition at line 511 of file default_bc_builder.C.
References GRINS::FEVariablesBase::subdomain_ids().
Referenced by build_bcs_by_var_section().
|
protected |
Definition at line 291 of file default_bc_builder.C.
References GRINS::BoundaryConditionNames::bc_id_name_map_var(), GRINS::BoundaryConditionNames::bc_ids_var(), and GRINS::StringUtilities::split_string().
Referenced by build_bcs(), GRINSTesting::DefaultBCBuilderTest::test_parse_and_build_bc_id_map(), and GRINSTesting::DefaultBCBuilderTest::test_verify_bc_ids_with_mesh().
|
protected |
Definition at line 424 of file default_bc_builder.C.
Referenced by build_periodic_bc(), and GRINSTesting::DefaultBCBuilderTest::test_parse_periodic_master_slave_ids().
|
protected |
Definition at line 442 of file default_bc_builder.C.
Referenced by build_periodic_bc(), and GRINSTesting::DefaultBCBuilderTest::test_parse_periodic_offset().
|
protected |
Definition at line 345 of file default_bc_builder.C.
Referenced by build_bcs(), and GRINSTesting::DefaultBCBuilderTest::test_verify_bc_ids_with_mesh().