GRINS-0.8.0
gas_recombination_catalytic_wall_neumann_bc_factory_impl.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_GAS_RECOMBINATION_CATALYTIC_WALL_NEUMANN_BC_FACTORY_IMPL_H
26 #define GRINS_GAS_RECOMBINATION_CATALYTIC_WALL_NEUMANN_BC_FACTORY_IMPL_H
27 
28 // GRINS
31 
32 // libMesh
33 #include "libmesh/getpot.h"
34 
35 namespace GRINS
36 {
38  {
39  public:
40 
42 
44 
45  SharedPtr<NeumannBCAbstract>
46  build_catalytic_wall( const GetPot& input,
47  const std::string& reaction,
48  SharedPtr<CatalycityBase>& gamma_ptr,
49  const std::vector<VariableIndex>& species_vars,
50  const std::string& material,
51  VariableIndex T_var,
52  libMesh::Real p0,
53  const std::string& thermochem_lib );
54 
55  void parse_reactant_and_product( const std::string& reaction,
56  std::string& reactant,
57  std::string& product ) const;
58 
59  protected:
60 
61  template<typename ChemistryType>
62  void build_wall_ptr( SharedPtr<ChemistryType> & chem_ptr,
63  SharedPtr<CatalycityBase>& catalycity,
64  const std::string& reactant,
65  const std::string& product,
66  const std::vector<VariableIndex>& species_vars,
67  VariableIndex T_var,
68  libMesh::Real p0,
69  SharedPtr<NeumannBCAbstract>& catalytic_wall )
70  {
71  catalytic_wall.reset( new GasRecombinationCatalyticWall<ChemistryType>
72  ( chem_ptr,
73  catalycity,
74  species_vars,
75  T_var,
76  p0,
77  chem_ptr->species_index(reactant),
78  chem_ptr->species_index(product) ) );
79  }
80 
81  };
82 
83 } // end namespace GRINS
84 
85 #endif // GRINS_GAS_RECOMBINATION_CATALYTIC_WALL_NEUMANN_BC_FACTORY_IMPL_H
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
Definition: var_typedefs.h:42
GRINS namespace.
void build_wall_ptr(SharedPtr< ChemistryType > &chem_ptr, SharedPtr< CatalycityBase > &catalycity, const std::string &reactant, const std::string &product, const std::vector< VariableIndex > &species_vars, VariableIndex T_var, libMesh::Real p0, SharedPtr< NeumannBCAbstract > &catalytic_wall)
SharedPtr< NeumannBCAbstract > build_catalytic_wall(const GetPot &input, const std::string &reaction, SharedPtr< CatalycityBase > &gamma_ptr, const std::vector< VariableIndex > &species_vars, const std::string &material, VariableIndex T_var, libMesh::Real p0, const std::string &thermochem_lib)
void parse_reactant_and_product(const std::string &reaction, std::string &reactant, std::string &product) const

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