GRINS-0.8.0
|
Constructs ConstFunction objects for Dirichlet boundary conditions. More...
#include <constant_function_dirichlet_bc_factory.h>
Protected Member Functions | |
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. More... | |
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. More... | |
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. More... | |
Protected Member Functions inherited from GRINS::DirichletBCFactoryFunctionBase< libMesh::FunctionBase< libMesh::Number > > | |
libMesh::UniquePtr< libMesh::DirichletBoundary > | make_dirichlet_boundary (const std::set< BoundaryID > &bc_ids, const libMesh::System &system, libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > &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... | |
Protected Member Functions inherited from GRINS::DirichletBCFactoryAbstract | |
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... | |
Protected Member Functions inherited from GRINS::BCFactoryAbstract< libMesh::DirichletBoundary > | |
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... | |
Protected Member Functions inherited from GRINS::FactoryAbstract< libMesh::DirichletBoundary > | |
FactoryAbstract (const std::string &name) | |
Constructor is protected. Use the build() method to construct Base objects. More... | |
Protected Member Functions inherited from GRINS::ParsedFunctionFactoryHelper< libMesh::FunctionBase< libMesh::Number > > | |
libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > | build_parsed_func (const MultiphysicsSystem &system, const std::string &expression) |
libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > | build_composite_func () |
Additional Inherited Members | |
Static Public Member Functions inherited from GRINS::BCFactoryAbstract< libMesh::DirichletBoundary > | |
static void | set_system (MultiphysicsSystem &system) |
static void | set_bc_ids (const std::set< BoundaryID > &bc_ids) |
Boundary id for the current boundary condition section. More... | |
static void | set_fe_var (const FEVariablesBase &fe_var) |
Active variable for the current boundary condition. More... | |
static void | set_section (const std::string §ion) |
Sets the current section of the input file. More... | |
static bool | have_bc_type (const std::string &bc_type) |
Static Public Member Functions inherited from GRINS::FactoryWithGetPot< libMesh::DirichletBoundary > | |
static void | set_getpot (const GetPot &input) |
Static Public Member Functions inherited from GRINS::FactoryAbstract< libMesh::DirichletBoundary > | |
static libMesh::UniquePtr< libMesh::DirichletBoundary > | build (const std::string &name) |
Use this method to build objects of type Base. More... | |
Static Protected Member Functions inherited from GRINS::FactoryAbstract< libMesh::DirichletBoundary > | |
static FactoryAbstract< libMesh::DirichletBoundary > & | get_factory (const std::string &name) |
Helper method that looks up the factory and returns it if present, or error if it's not. More... | |
static DerivedType & | get_factory_subclass (const std::string &name) |
Like get_factory, but will downcast to DerivedType. More... | |
static std::map< std::string, FactoryAbstract< libMesh::DirichletBoundary > * > & | factory_map () |
Static Protected Attributes inherited from GRINS::BCFactoryAbstract< libMesh::DirichletBoundary > | |
static MultiphysicsSystem * | _system |
We store only a raw pointer here because we can't make a copy. More... | |
static const std::set< BoundaryID > * | _bc_ids |
BoundaryID for constructing a particular boundary condition. More... | |
static const FEVariablesBase * | _fe_var |
The FEVariablesBase class associated with the boundary condition being built. More... | |
static std::string | _section |
Static Protected Attributes inherited from GRINS::FactoryWithGetPot< libMesh::DirichletBoundary > | |
static const GetPot * | _input |
We store only a raw pointer here because we can't make a copy. More... | |
Constructs ConstFunction objects for Dirichlet boundary conditions.
Definition at line 41 of file constant_function_dirichlet_bc_factory.h.
|
inline |
Definition at line 46 of file constant_function_dirichlet_bc_factory.h.
|
inline |
Definition at line 51 of file constant_function_dirichlet_bc_factory.h.
|
protectedvirtual |
Adds the vars_found to the composite_func.
It is expected that this function returns the names of the vars actually added in vars_added. While the default implementation will have vars_found = vars_added, subclasses may actually search for different variables and use them to add the actual system variables.
Reimplemented in GRINS::MoleFractionsDirichletBCFactory.
Definition at line 95 of file constant_function_dirichlet_bc_factory.C.
Referenced by build_func().
|
protectedvirtual |
Builds ConstantFunction objects for boundary conditions.
The variable names passed in will correspond to only a single VariableBase object, e.g. Velocity. The expected behavior is that if the user didn't specify a value for all the variables, then the unspecified variables will be set to zero. However, the user must've set at least one. The section arguments corresponds to the section to parse for the variables in the input file, e.g. input(section+"/"+var_names[0]).
This is really a "composite" function. We'll cast in the helper functions.
Implements GRINS::DirichletBCFactoryFunctionBase< libMesh::FunctionBase< libMesh::Number > >.
Definition at line 50 of file constant_function_dirichlet_bc_factory.C.
References add_found_vars(), GRINS::ParsedFunctionFactoryHelper< libMesh::FunctionBase< libMesh::Number > >::build_composite_func(), GRINS::DirichletBCFactoryAbstract::check_for_vars(), and set_vars_to_search_for().
|
inlineprotectedvirtual |
Set the vars_to_search_for, based on var_names.
In the default implementation, vars_to_search_for = var_names, but subclasses may override this behavior. If this function is overridden, then add_found_vars will also need to be overridden. You may assume vars_to_search_for has been sized to match var_names.
Reimplemented in GRINS::MoleFractionsDirichletBCFactory.
Definition at line 85 of file constant_function_dirichlet_bc_factory.h.
Referenced by build_func().