35   template<
typename ImplType>
 
   36   SharedPtr<NeumannBCAbstract>
 
   40                                                                    const std::string& section )
 
   42     std::string reaction = this->parse_reaction(input,section);
 
   45     SharedPtr<CatalycityBase> gamma_ptr = this->build_catalycity( input, section );
 
   48     this->extract_material( fe_var, material );
 
   52     libMesh::Real p0 = this->parse_thermo_pressure(input,material);
 
   54     std::string thermochem_lib = this->parse_thermochem_model( input, material );
 
   56     return this->build_catalytic_wall_common(input,fe_var,material,reaction,gamma_ptr,p0,thermochem_lib);
 
   59   template<
typename ImplType>
 
   61                                                                            const std::string& section )
 const 
   63     std::string reaction_input_str = section+
"/catalytic_reaction";
 
   66     if(!input.have_variable(reaction_input_str))
 
   67       libmesh_error_msg(
"ERROR: Could not find input for "+reaction_input_str+
" !\n");
 
   70     if( input.vector_variable_size(reaction_input_str) != 1 )
 
   71       libmesh_error_msg(
"ERROR: Can only specify one catalytic_reaction!\n");
 
   73     return input( reaction_input_str, std::string(
"DIE!") );
 
   76   template<
typename ImplType>
 
   78                                                                                     const std::string& material )
 const 
   80     std::string thermo_press_input_str =
 
   81       "Materials/"+material+
"/ThermodynamicPressure/value";
 
   83     if( !input.have_variable(thermo_press_input_str) )
 
   84       libmesh_error_msg(
"ERROR: Could not find variable "+thermo_press_input_str+
"!");
 
   86     return input(thermo_press_input_str, std::numeric_limits<libMesh::Real>::max() );
 
   89   template<
typename ImplType>
 
   91                                                                                    const std::string& material )
 const 
   93     std::string thermochem_input_str = 
"Materials/"+material+
"/GasMixture/thermochemistry_library";
 
   95     if( !input.have_variable(thermochem_input_str) )
 
   96       libmesh_error_msg(
"ERROR: Could not find input option "+thermochem_input_str+
" !");
 
   98     return input(thermochem_input_str, std::string(
"DIE!") );
 
  101   template<
typename ImplType>
 
  102   SharedPtr<CatalycityBase>
 
  104                                                                  const std::string& section )
 const 
  109     std::string catalycity_input_str = section+
"/catalycity_type";
 
  110     if( !input.have_variable(catalycity_input_str) )
 
  111       libmesh_error_msg(
"ERROR: Could not find input variable "+catalycity_input_str+
" !\n");
 
  113     std::string catalycity_type = input(catalycity_input_str, 
"none");
 
  115     libMesh::UniquePtr<CatalycityBase> catalycity_ptr = CatalycityFactoryAbstract::build(catalycity_type);
 
  118     return SharedPtr<CatalycityBase>( catalycity_ptr.release() );
 
std::string parse_reaction(const GetPot &input, const std::string §ion) const 
Parse the reaction. 
 
libMesh::Real parse_thermo_pressure(const GetPot &input, const std::string &material) const 
 
static void set_getpot(const GetPot &input)
 
static void set_section(const std::string §ion)
 
virtual SharedPtr< NeumannBCAbstract > build_neumann_func(const GetPot &input, MultiphysicsSystem &system, const FEVariablesBase &fe_var, const std::string §ion)
Builds the NeumannBCAbstract object for Neumann boundary conditions. 
 
SharedPtr< CatalycityBase > build_catalycity(const GetPot &input, const std::string §ion) const 
 
Interface with libMesh for solving Multiphysics problems. 
 
std::string parse_thermochem_model(const GetPot &input, const std::string &material) const