GRINS-0.8.0
List of all members | Public Member Functions | Private Member Functions
GRINSTesting::DefaultBCBuilderTest Class Reference
Inheritance diagram for GRINSTesting::DefaultBCBuilderTest:
Inheritance graph
[legend]
Collaboration diagram for GRINSTesting::DefaultBCBuilderTest:
Collaboration graph
[legend]

Public Member Functions

 CPPUNIT_TEST_SUITE (DefaultBCBuilderTest)
 
 CPPUNIT_TEST (test_parse_and_build_bc_id_map)
 
 CPPUNIT_TEST (test_verify_bc_ids_with_mesh)
 
 CPPUNIT_TEST (test_parse_periodic_master_slave_ids)
 
 CPPUNIT_TEST (test_parse_periodic_offset)
 
 CPPUNIT_TEST_SUITE_END ()
 
void tearDown ()
 
void test_parse_and_build_bc_id_map ()
 
void test_verify_bc_ids_with_mesh ()
 
void test_parse_periodic_master_slave_ids ()
 
void test_parse_periodic_offset ()
 
- Public Member Functions inherited from GRINS::DefaultBCBuilder
 DefaultBCBuilder ()
 
 ~DefaultBCBuilder ()
 
- Public Member Functions inherited from GRINS::BCBuilder
 BCBuilder ()
 
virtual ~BCBuilder ()
 
- Public Member Functions inherited from GRINS::BuilderHelper
 BuilderHelper ()
 
 ~BuilderHelper ()
 

Private Member Functions

void test_for_var_name (const std::vector< std::string > &var_names, const std::string &var_to_find)
 

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 > &sections)
 Parses the input file for [Variables] first-level subsections. More...
 
static void parse_var_sections_vector (const GetPot &input, std::vector< std::string > &sections)
 The same as parse_var_sections, except the result is returned in an std::vector. More...
 
- Protected Member Functions inherited from GRINSTesting::SystemHelper
void setup_multiphysics_system (const std::string &filename)
 
void reset_all ()
 
- Protected Member Functions inherited from GRINS::DefaultBCBuilder
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 &section)
 
void parse_periodic_master_slave_ids (const GetPot &input, const std::string &section, libMesh::boundary_id_type &master_id, libMesh::boundary_id_type &slave_id) const
 
libMesh::RealVectorValue parse_periodic_offset (const GetPot &input, const std::string &section) 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 &section, 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 &section, 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)
 
- Static Protected Member Functions inherited from GRINS::BCBuilder
static bool is_new_bc_input_style (const GetPot &input)
 
static libMesh::UniquePtr< BCBuilderbuild_builder (const GetPot &input)
 
- Protected Attributes inherited from GRINSTesting::SystemHelper
libMesh::UniquePtr< GetPot > _input
 
GRINS::SharedPtr< libMesh::UnstructuredMesh > _mesh
 
libMesh::UniquePtr< libMesh::EquationSystems > _es
 
GRINS::MultiphysicsSystem_system
 

Detailed Description

Definition at line 48 of file default_bc_builder.C.

Member Function Documentation

GRINSTesting::DefaultBCBuilderTest::CPPUNIT_TEST ( test_parse_and_build_bc_id_map  )
GRINSTesting::DefaultBCBuilderTest::CPPUNIT_TEST ( test_verify_bc_ids_with_mesh  )
GRINSTesting::DefaultBCBuilderTest::CPPUNIT_TEST ( test_parse_periodic_master_slave_ids  )
GRINSTesting::DefaultBCBuilderTest::CPPUNIT_TEST ( test_parse_periodic_offset  )
GRINSTesting::DefaultBCBuilderTest::CPPUNIT_TEST_SUITE ( DefaultBCBuilderTest  )
GRINSTesting::DefaultBCBuilderTest::CPPUNIT_TEST_SUITE_END ( )
void GRINSTesting::DefaultBCBuilderTest::tearDown ( )
inline

Definition at line 64 of file default_bc_builder.C.

References GRINSTesting::SystemHelper::reset_all().

65  {
66  this->reset_all();
67  }
void GRINSTesting::DefaultBCBuilderTest::test_for_var_name ( const std::vector< std::string > &  var_names,
const std::string &  var_to_find 
)
inlineprivate

Definition at line 156 of file default_bc_builder.C.

158  {
159  CPPUNIT_ASSERT( std::find( var_names.begin(), var_names.end(), var_to_find ) != var_names.end() );
160  }
void GRINSTesting::DefaultBCBuilderTest::test_parse_and_build_bc_id_map ( )
inline

Definition at line 69 of file default_bc_builder.C.

References GRINS::DefaultBCBuilder::parse_and_build_bc_id_map().

70  {
71  std::string filename = std::string(GRINS_TEST_UNIT_INPUT_SRCDIR)+"/default_bc_builder.in";
72  GetPot input(filename);
73 
74  std::map<std::string,std::set<GRINS::BoundaryID> > bc_id_map;
75  this->parse_and_build_bc_id_map(input,bc_id_map);
76 
77  // Make sure we have the right sections
78  CPPUNIT_ASSERT_EQUAL(3,(int)bc_id_map.size());
79  CPPUNIT_ASSERT( bc_id_map.find("Hot") != bc_id_map.end() );
80  CPPUNIT_ASSERT( bc_id_map.find("Together") != bc_id_map.end() );
81  CPPUNIT_ASSERT( bc_id_map.find("Cold") != bc_id_map.end() );
82 
83  // Make sure we have the right number and values of the bc ids
84  {
85  std::set<GRINS::BoundaryID> bc_ids = bc_id_map["Hot"];
86  CPPUNIT_ASSERT_EQUAL(1,(int)bc_ids.size());
87  CPPUNIT_ASSERT(bc_ids.find(0) != bc_ids.end());
88  }
89 
90  // Make sure we have the right number and values of the bc ids
91  {
92  std::set<GRINS::BoundaryID> bc_ids = bc_id_map["Together"];
93  CPPUNIT_ASSERT_EQUAL(2,(int)bc_ids.size());
94  CPPUNIT_ASSERT(bc_ids.find(1) != bc_ids.end());
95  CPPUNIT_ASSERT(bc_ids.find(2) != bc_ids.end());
96  }
97 
98  // Make sure we have the right number and values of the bc ids
99  {
100  std::set<GRINS::BoundaryID> bc_ids = bc_id_map["Cold"];
101  CPPUNIT_ASSERT_EQUAL(1,(int)bc_ids.size());
102  CPPUNIT_ASSERT(bc_ids.find(3) != bc_ids.end());
103  }
104  }
void parse_and_build_bc_id_map(const GetPot &input, std::map< std::string, std::set< BoundaryID > > &bc_id_map)
void GRINSTesting::DefaultBCBuilderTest::test_parse_periodic_master_slave_ids ( )
inline

Definition at line 120 of file default_bc_builder.C.

References GRINSTesting::SystemHelper::_input, GRINS::BoundaryConditionNames::bc_section(), GRINS::DefaultBCBuilder::parse_periodic_master_slave_ids(), and GRINSTesting::SystemHelper::setup_multiphysics_system().

121  {
122  std::string filename = std::string(GRINS_TEST_UNIT_INPUT_SRCDIR)+"/default_bc_builder.in";
123  this->setup_multiphysics_system(filename);
124 
125  libMesh::boundary_id_type invalid_bid =
126  std::numeric_limits<libMesh::boundary_id_type>::max();
127 
128  libMesh::boundary_id_type master_id = invalid_bid;
129  libMesh::boundary_id_type slave_id = invalid_bid;
130 
131  std::string section = GRINS::BoundaryConditionNames::bc_section()+"/Together";
132 
133  this->parse_periodic_master_slave_ids(*_input,section,master_id,slave_id);
134 
135  CPPUNIT_ASSERT_EQUAL(1,(int)master_id);
136  CPPUNIT_ASSERT_EQUAL(2,(int)slave_id);
137  }
void setup_multiphysics_system(const std::string &filename)
Definition: system_helper.h:42
void parse_periodic_master_slave_ids(const GetPot &input, const std::string &section, libMesh::boundary_id_type &master_id, libMesh::boundary_id_type &slave_id) const
static std::string bc_section()
Outer section name for boundary conditions section in input file.
libMesh::UniquePtr< GetPot > _input
Definition: system_helper.h:62
void GRINSTesting::DefaultBCBuilderTest::test_parse_periodic_offset ( )
inline

Definition at line 139 of file default_bc_builder.C.

References GRINSTesting::SystemHelper::_input, GRINS::BoundaryConditionNames::bc_section(), GRINS::DefaultBCBuilder::parse_periodic_offset(), and GRINSTesting::SystemHelper::setup_multiphysics_system().

140  {
141  std::string filename = std::string(GRINS_TEST_UNIT_INPUT_SRCDIR)+"/default_bc_builder.in";
142  this->setup_multiphysics_system(filename);
143 
144  std::string section = GRINS::BoundaryConditionNames::bc_section()+"/Together";
145 
146  libMesh::RealVectorValue offset =
147  this->parse_periodic_offset(*_input,section);
148 
149  libMesh::Real tol = std::numeric_limits<libMesh::Real>::epsilon()*10;
150  CPPUNIT_ASSERT_DOUBLES_EQUAL(1.21,offset(0),tol);
151  CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0,offset(1),tol);
152  }
void setup_multiphysics_system(const std::string &filename)
Definition: system_helper.h:42
libMesh::RealVectorValue parse_periodic_offset(const GetPot &input, const std::string &section) const
static std::string bc_section()
Outer section name for boundary conditions section in input file.
libMesh::UniquePtr< GetPot > _input
Definition: system_helper.h:62
void GRINSTesting::DefaultBCBuilderTest::test_verify_bc_ids_with_mesh ( )
inline

Definition at line 106 of file default_bc_builder.C.

References GRINSTesting::SystemHelper::_input, GRINSTesting::SystemHelper::_system, GRINS::DefaultBCBuilder::parse_and_build_bc_id_map(), GRINSTesting::SystemHelper::setup_multiphysics_system(), and GRINS::DefaultBCBuilder::verify_bc_ids_with_mesh().

107  {
108  std::string filename = std::string(GRINS_TEST_UNIT_INPUT_SRCDIR)+"/default_bc_builder.in";
109  this->setup_multiphysics_system(filename);
110 
111  std::map<std::string,std::set<GRINS::BoundaryID> > bc_id_map;
112  this->parse_and_build_bc_id_map(*_input,bc_id_map);
113 
114  // This shouldn't error
115  this->verify_bc_ids_with_mesh( *_system, bc_id_map );
116  }
void parse_and_build_bc_id_map(const GetPot &input, std::map< std::string, std::set< BoundaryID > > &bc_id_map)
void setup_multiphysics_system(const std::string &filename)
Definition: system_helper.h:42
void verify_bc_ids_with_mesh(const MultiphysicsSystem &system, const std::map< std::string, std::set< BoundaryID > > &bc_id_map) const
GRINS::MultiphysicsSystem * _system
Definition: system_helper.h:67
libMesh::UniquePtr< GetPot > _input
Definition: system_helper.h:62

The documentation for this class was generated from the following file:

Generated on Tue Dec 19 2017 12:47:32 for GRINS-0.8.0 by  doxygen 1.8.9.1