|
virtual libMesh::UniquePtr< FunctionType > | build_func (const GetPot &input, MultiphysicsSystem &system, std::vector< std::string > &var_names, const std::string §ion)=0 |
| Builds the FunctionBase object for boundary condition. More...
|
|
libMesh::UniquePtr< libMesh::DirichletBoundary > | make_dirichlet_boundary (const std::set< BoundaryID > &bc_ids, const libMesh::System &system, libMesh::UniquePtr< FunctionType > &func, const std::vector< VariableIndex > &var_indices) |
| Dispatch, based on FunctionType, to the correct DirchletBoundary construction. More...
|
|
virtual const std::vector< std::string > & | get_var_names () const |
| Helper function that can be overridded in subclasses. More...
|
|
template<> |
libMesh::UniquePtr< libMesh::DirichletBoundary > | make_dirichlet_boundary (const std::set< BoundaryID > &bc_ids, const libMesh::System &, libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > &func, const std::vector< VariableIndex > &var_indices) |
|
template<> |
libMesh::UniquePtr< libMesh::DirichletBoundary > | make_dirichlet_boundary (const std::set< BoundaryID > &bc_ids, const libMesh::System &system, libMesh::UniquePtr< libMesh::FEMFunctionBase< libMesh::Number > > &func, const std::vector< VariableIndex > &var_indices) |
|
void | check_for_vars (const GetPot &input, const std::string §ion, const std::vector< std::string > &var_names, std::set< std::string > *vars_found=NULL) |
| Helper function. More...
|
|
void | check_for_multiple_expressions (const GetPot &input, const std::string §ion, const std::string &var_name) const |
| Ensure that there is only one expression for the [Section/var_name] variable. More...
|
|
void | build_var_indices (const MultiphysicsSystem &system, const std::vector< std::string > &var_names, std::vector< VariableIndex > &var_indices) const |
|
virtual void | check_state () const |
| Helper function to reduce code duplication. More...
|
|
virtual void | reset_state () |
| Helper function to redue code duplication. More...
|
|
| FactoryAbstract (const std::string &name) |
| Constructor is protected. Use the build() method to construct Base objects. More...
|
|
template<typename FunctionType>
class GRINS::DirichletBCFactoryFunctionBase< FunctionType >
Definition at line 35 of file dirichlet_bc_factory_function_base.h.
template<typename FunctionType>
Builds the FunctionBase object for boundary condition.
Subclasses should override this function to build the FunctionBase object that corresponds to the variables passed in var_names. The variable names passed in will correspond to only a single VariableBase object, e.g. Velocity. The section arguments corresponds to the section to parse for the variables in the input file, e.g. input(section+"/"+var_names[0]).
The variable names passed in correspond to all the active variable names for a Variable group. The variable names present in var_names after this function is called will correspond to those variables. Note that var_names is NOT const. This is because one of the behaviors of subclasses may be to remove variables from the list. For example, for some symmetry conditions, we only want to enforce zero on certain components of the solution while leaving others untouched.
Implemented in GRINSTesting::SATurbNuBCFactory, GRINSTesting::SATurbUBCFactory, GRINS::ConstantFunctionDirichletBCFactory, GRINS::ParsedFunctionDirichletBCFactory< FunctionType >, GRINS::ParsedFunctionDirichletBCFactory< libMesh::FEMFunctionBase< libMesh::Number > >, GRINS::ParsedFunctionDirichletBCFactory< libMesh::FunctionBase< libMesh::Number > >, GRINS::SymmetryTypeBCFactories, GRINS::ParsedFunctionDirichletOldStyleBCFactory< FunctionType >, GRINS::PrescribedVectorValueDirichletOldStyleBCFactory, GRINS::ParsedFunctionDirichletOldStyleBCFactory< libMesh::FEMFunctionBase< libMesh::Number > >, GRINS::ParsedFunctionDirichletOldStyleBCFactory< libMesh::FunctionBase< libMesh::Number > >, GRINS::HomogeneousDirichletBCFactory, and GRINS::IsothermalDirichletOldStyleBCFactory.