31 #ifdef GRINS_HAVE_CANTERA
35 #ifdef GRINS_HAVE_ANTIOCH
42 #if defined(GRINS_HAVE_ANTIOCH) || defined(GRINS_HAVE_CANTERA)
43 SharedPtr<NeumannBCAbstract>
45 (
const GetPot& input,
const std::string& reaction,SharedPtr<CatalycityBase>& gamma_ptr,
46 const std::vector<VariableIndex>& species_vars,
const std::string& material,
47 VariableIndex T_var,libMesh::Real p0,
const std::string& thermochem_lib )
49 SharedPtr<NeumannBCAbstract>
51 (
const GetPot& ,
const std::string& reaction,SharedPtr<CatalycityBase>& ,
52 const std::vector<VariableIndex>& ,
const std::string& ,
53 VariableIndex ,libMesh::Real ,
const std::string& thermochem_lib )
58 this->parse_reactant_and_product(reaction,reactant,product);
61 SharedPtr<NeumannBCAbstract> catalytic_wall;
63 if( thermochem_lib ==
"cantera" )
65 #ifdef GRINS_HAVE_CANTERA
66 this->build_wall_ptr<CanteraMixture>(input,material,gamma_ptr,reactant,product,
67 species_vars,T_var,p0,catalytic_wall);
69 libmesh_error_msg(
"Error: Cantera not enabled in this configuration. Reconfigure using --with-cantera option.");
72 else if( thermochem_lib ==
"antioch" )
74 #ifdef GRINS_HAVE_ANTIOCH
75 this->build_wall_ptr<AntiochChemistry>(input,material,gamma_ptr,reactant,product,
76 species_vars,T_var,p0,catalytic_wall);
78 libmesh_error_msg(
"Error: Antioch not enabled in this configuration. Reconfigure using --with-antioch option.");
82 libmesh_error_msg(
"ERROR: Invalid thermochemistry library "+thermochem_lib+
"!");
84 return catalytic_wall;
88 std::string& reactant,
89 std::string& product )
const
92 std::vector<std::string> partners;
97 if( partners.size() != 2 )
98 libmesh_error_msg(
"ERROR: Must have only one reactant and one product for GasRecombinationCatalyticWall!");
100 reactant = partners[0];
101 product = partners[1];
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
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 split_string(const std::string &input, const std::string &delimiter, std::vector< std::string > &results)
void parse_reactant_and_product(const std::string &reaction, std::string &reactant, std::string &product) const