25 #ifndef GRINS_CONSTANT_FUNCTION_DIRICHLET_BC_FACTORY_H
26 #define GRINS_CONSTANT_FUNCTION_DIRICHLET_BC_FACTORY_H
33 #include "libmesh/function_base.h"
38 class SpeciesMassFractionsVariable;
62 virtual libMesh::UniquePtr<libMesh::FunctionBase<libMesh::Number> >
65 std::vector<std::string>& var_names,
66 const std::string& section );
75 const std::string& section,
76 const std::set<std::string>& vars_found,
78 std::set<std::string>& vars_added)
const;
86 const std::vector<std::string>& var_names,
87 std::vector<std::string>& vars_to_search_for )
const
88 { libmesh_assert_equal_to(var_names.size(),vars_to_search_for.size());
89 vars_to_search_for = var_names; }
112 const std::string& section,
113 const std::set<std::string>& vars_found,
115 std::set<std::string>& vars_added)
const;
121 const std::vector<std::string>& var_names,
122 std::vector<std::string>&vars_to_search_for )
const;
124 template<
typename ChemistryType>
126 const std::string& section,
127 const std::set<std::string>& vars_found,
128 const std::string& material,
131 std::set<std::string>& vars_added)
const;
134 const std::string& prefix,
135 std::string& species_name )
const;
143 #endif // GRINS_CONSTANT_FUNCTION_DIRICHLET_BC_FACTORY_H
virtual void set_vars_to_search_for(const std::string &, const std::vector< std::string > &var_names, std::vector< std::string > &vars_to_search_for) const
Set the vars_to_search_for, based on var_names.
~ConstantFunctionDirichletBCFactory()
virtual void set_vars_to_search_for(const std::string §ion, const std::vector< std::string > &var_names, std::vector< std::string > &vars_to_search_for) const
We'll search for mole fractions: X_.
ConstantFunctionDirichletBCFactory(const std::string &bc_type_name)
virtual void add_found_vars(const GetPot &input, MultiphysicsSystem &system, const std::string §ion, const std::set< std::string > &vars_found, libMesh::CompositeFunction< libMesh::Number > &composite_func, std::set< std::string > &vars_added) const
Adds the vars_found to the composite_func.
Constructs ConstFunction objects for Dirichlet boundary conditions.
void extract_species_name(const std::string &var_name, const std::string &prefix, std::string &species_name) const
Parses mole fraction values and converts to mass fractions.
void add_mole_frac_to_mass_frac(const GetPot &input, const std::string §ion, const std::set< std::string > &vars_found, const std::string &material, const SpeciesMassFractionsVariable &species_fe_var, libMesh::CompositeFunction< libMesh::Number > &composite_func, std::set< std::string > &vars_added) const
Interface with libMesh for solving Multiphysics problems.
std::string extract_var_section(const std::string §ion) const
virtual libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > build_func(const GetPot &input, MultiphysicsSystem &system, std::vector< std::string > &var_names, const std::string §ion)
Builds ConstantFunction objects for boundary conditions.
~MoleFractionsDirichletBCFactory()
virtual void add_found_vars(const GetPot &input, MultiphysicsSystem &system, const std::string §ion, const std::set< std::string > &vars_found, libMesh::CompositeFunction< libMesh::Number > &composite_func, std::set< std::string > &vars_added) const
Here, we're expected vars_found to correspond to mole fractions and we'll add mass fractions...
MoleFractionsDirichletBCFactory(const std::string &bc_type_name)