GRINS-0.8.0
old_style_bc_builder.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef GRINS_OLD_STYLE_BC_BUILDER_H
26 #define GRINS_OLD_STYLE_BC_BUILDER_H
27 
28 // GRINS
29 #include "grins/bc_builder.h"
30 
31 namespace GRINS
32 {
34 
41  {
42  public:
43 
45  : BCBuilder()
46  {};
47 
49 
50  protected:
51 
52  virtual void build_bcs( const GetPot& input, MultiphysicsSystem& system,
53  std::vector<SharedPtr<NeumannBCContainer> >& neumann_bcs );
54 
55  private:
56 
58 
61  const FEVariablesBase* determine_variable_group( const std::string& raw_physics_name,
62  const std::string& bc_type_str,
63  std::string& var_section );
64 
65  void construct_bcs_old_style( const GetPot& input,
66  MultiphysicsSystem& system,
67  const std::string& raw_physics_name,
68  const std::string& section_name,
69  const std::string& bc_id_str,
70  const std::string& bc_type_str,
71  const std::string& bc_value_str,
72  const std::string& bc_var_str,
73  libMesh::DofMap& dof_map,
74  std::vector<SharedPtr<NeumannBCContainer> >& neumann_bcs );
75 
76  void build_basic_physics( std::set<std::string>& physics_names );
77 
78  void build_vel_and_temp_physics( std::set<std::string>& physics_names );
79 
80  void build_reacting_physics( std::set<std::string>& physics_names );
81 
82  template<typename FunctionType>
83  void set_dirichlet_bc_factory_old_style_quantities( const std::string& bc_value_str,
84  unsigned int value_idx,
85  const std::vector<std::string>& var_names );
86 
87  template<typename FunctionType>
88  void set_neumann_bc_factory_old_style_quantities( const std::string& bc_value_str,
89  unsigned int value_idx,
90  const std::vector<std::string>& var_names );
91 
92  void build_periodic_bc( const GetPot& input,
93  const std::string& section_name,
94  BoundaryID bc_id,
95  libMesh::DofMap& dof_map );
96 
97  };
98 } // end namespace GRINS
99 
100 #endif // GRINS_OLD_STYLE_BC_BUILDER_H
void build_vel_and_temp_physics(std::set< std::string > &physics_names)
libMesh::boundary_id_type BoundaryID
More descriptive name of the type used for boundary ids.
Definition: var_typedefs.h:56
void set_neumann_bc_factory_old_style_quantities(const std::string &bc_value_str, unsigned int value_idx, const std::vector< std::string > &var_names)
void construct_bcs_old_style(const GetPot &input, MultiphysicsSystem &system, const std::string &raw_physics_name, const std::string &section_name, const std::string &bc_id_str, const std::string &bc_type_str, const std::string &bc_value_str, const std::string &bc_var_str, libMesh::DofMap &dof_map, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs)
Manages runtime construction of Dirichlet boundary conditions.
GRINS namespace.
void set_dirichlet_bc_factory_old_style_quantities(const std::string &bc_value_str, unsigned int value_idx, const std::vector< std::string > &var_names)
Manages runtime construction of Dirichlet boundary conditions.
Definition: bc_builder.h:60
void build_reacting_physics(std::set< std::string > &physics_names)
void build_periodic_bc(const GetPot &input, const std::string &section_name, BoundaryID bc_id, libMesh::DofMap &dof_map)
Interface with libMesh for solving Multiphysics problems.
const FEVariablesBase * determine_variable_group(const std::string &raw_physics_name, const std::string &bc_type_str, std::string &var_section)
Determine the FEVariable type from the raw_physics_name.
void build_basic_physics(std::set< std::string > &physics_names)
virtual void build_bcs(const GetPot &input, MultiphysicsSystem &system, std::vector< SharedPtr< NeumannBCContainer > > &neumann_bcs)

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