32 #include "libmesh/getpot.h"
36 template<
typename FunctionType>
37 SharedPtr<NeumannBCAbstract>
41 const std::string& flux_input )
45 SharedPtr<NeumannBCAbstract> func;
48 if( var_names.size() == 1 )
50 libmesh_assert_equal_to( fe_var.
var_indices().size(), 1 );
51 std::string expression = input(flux_input,std::string(
"DIE!"));
52 func = this->build_parsed_neumann_func(system,expression,fe_var.
var_indices()[0]);
57 libmesh_assert_equal_to( fe_var.
var_indices().size(), var_names.size() );
61 std::vector<std::string> expressions(var_names.size());
63 for(
unsigned int i = 0; i < var_names.size(); i++ )
64 expressions[i] = input(flux_input,std::string(
"DIE!"),i);
66 func = this->build_composite_parsed_neumann_func(system,expressions,fe_var.
var_indices());
73 SharedPtr<NeumannBCAbstract>
81 SharedPtr<NeumannBCAbstract>
89 SharedPtr<NeumannBCAbstract>
92 const std::vector<VariableIndex>& var_indices )
98 SharedPtr<NeumannBCAbstract>
101 const std::vector<VariableIndex>& var_indices )
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
SharedPtr< NeumannBCAbstract > build_neumman_func_common(const GetPot &input, MultiphysicsSystem &system, const FEVariablesBase &fe_var, const std::string &flux_input)
Helper function containing common code.
Interface with libMesh for solving Multiphysics problems.
const std::vector< std::string > & active_var_names() const
Return the var names that are active from this class.
const std::vector< VariableIndex > & var_indices() const