32 std::map<std::string, FactoryAbstract<libMesh::DirichletBoundary>*>&
35 static std::map<std::string, FactoryAbstract<libMesh::DirichletBoundary>*> _map;
55 void DirichletBCFactoryAbstract::check_for_vars(
const GetPot& input,
const std::string& section,
56 const std::vector<std::string>& var_names,
57 std::set<std::string>* vars_found )
62 bool found_var =
false;
64 for( std::vector<std::string>::const_iterator name = var_names.begin();
65 name < var_names.end(); ++name )
67 if( input.have_variable( section+
"/"+(*name) ) )
72 vars_found->insert( (*name) );
80 std::string err_msg =
"ERROR: Could find any active variable assigned a Dirichlet boundary value\n";
81 err_msg +=
" in section "+section+
". Active variables are:\n";
83 for( std::vector<std::string>::const_iterator name = var_names.begin();
84 name < var_names.end(); ++name )
85 err_msg +=
" "+(*name)+
"\n";
87 libmesh_error_msg(err_msg);
91 libmesh_assert(!vars_found->empty());
static std::map< std::string, FactoryAbstract< Base > * > & factory_map()
Interface with libMesh for solving Multiphysics problems.
Abstract factory that provides availability of GetPot.