35 libMesh::UniquePtr<NeumannBCContainer> container;
44 SharedPtr<NeumannBCAbstract>
59 const std::vector<std::string>& var_names )
61 if( !input.have_variable(flux_input) )
62 libmesh_error_msg(
"ERROR: Could not find input specification for "+flux_input+
"!");
64 unsigned int flux_size = input.vector_variable_size(flux_input);
65 if( flux_size != var_names.size() )
67 std::string error_msg =
"ERROR: Mismatch in size between flux input and variables size!\n";
68 error_msg +=
" Found flux size = "+StringUtilities::T_to_string<unsigned int>(flux_size)+
"\n";
69 error_msg +=
" Found variables size = "+StringUtilities::T_to_string<unsigned int>(var_names.size())+
"\n";
70 libmesh_error_msg(error_msg);
76 std::map<std::string, FactoryAbstract<NeumannBCContainer>*>&
79 static std::map<std::string, FactoryAbstract<NeumannBCContainer>*> _map;
virtual void reset_state()
Helper function to redue code duplication.
static std::map< std::string, FactoryAbstract< Base > * > & factory_map()
static const std::set< BoundaryID > * _bc_ids
BoundaryID for constructing a particular boundary condition.
bool _is_homogeneous
Track if this is a homogeneous Neumann boundary condition.
virtual libMesh::UniquePtr< NeumannBCContainer > create()
Creates NeumannBCContainer for this Factory object.
static std::string _section
static const GetPot * _input
We store only a raw pointer here because we can't make a copy.
virtual SharedPtr< NeumannBCAbstract > build_neumann_func(const GetPot &input, MultiphysicsSystem &system, const FEVariablesBase &fe_var, const std::string §ion)=0
Builds the NeumannBCAbstract object for Neumann boundary conditions.
void check_for_flux(const GetPot &input, const std::string §ion, const std::vector< std::string > &var_names)
Checks that the flux variable has been set.
Interface with libMesh for solving Multiphysics problems.
virtual void check_state() const
Helper function to reduce code duplication.
static MultiphysicsSystem * _system
We store only a raw pointer here because we can't make a copy.
Abstract factory that provides availability of GetPot.
static const FEVariablesBase * _fe_var
The FEVariablesBase class associated with the boundary condition being built.