25 #ifndef GRINS_DIRICHLET_BC_FACTORY_FUNCTION_BASE_H
26 #define GRINS_DIRICHLET_BC_FACTORY_FUNCTION_BASE_H
34 template<
typename FunctionType>
63 virtual libMesh::UniquePtr<FunctionType>
66 std::vector<std::string>& var_names,
67 const std::string& section ) =0;
70 libMesh::UniquePtr<libMesh::DirichletBoundary>
72 const libMesh::System& system,
73 libMesh::UniquePtr<FunctionType>& func,
74 const std::vector<VariableIndex>& var_indices );
83 virtual libMesh::UniquePtr<libMesh::DirichletBoundary>
create();
89 #endif // GRINS_DIRICHLET_BC_FACTORY_FUNCTION_BASE_H
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.
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.
DirichletBCFactoryFunctionBase(const std::string &bc_type_name)
virtual libMesh::UniquePtr< libMesh::DirichletBoundary > create()
Subclasses implement the actual construction of the Base object in create().
Interface with libMesh for solving Multiphysics problems.
~DirichletBCFactoryFunctionBase()
virtual const std::vector< std::string > & get_var_names() const
Helper function that can be overridded in subclasses.
const std::vector< std::string > & active_var_names() const
Return the var names that are active from this class.
static const FEVariablesBase * _fe_var
The FEVariablesBase class associated with the boundary condition being built.