25 #ifndef GRINS_PARAMETER_USER_H
26 #define GRINS_PARAMETER_USER_H
33 #include "grins_config.h"
36 #include "libmesh/libmesh.h"
37 #include "libmesh/vector_value.h"
47 template <
typename Scalar>
48 class ParameterMultiAccessor;
50 template <
typename Output,
typename OutputGradient>
53 template <
typename Output>
79 ( libMesh::Number & param_variable,
81 const std::string & param_name,
82 libMesh::Number param_default );
92 const std::string & func_param_name,
93 const std::string & param_default);
102 const GetPot & input,
103 const std::string & func_param_name,
104 const std::string & param_default);
109 (
const libMesh::Number & old_parameter,
110 libMesh::Number & new_parameter);
135 (
const std::string & param_name,
142 std::map<std::string,
146 std::map<std::string,
160 #endif //GRINS_PARAMETER_USER_H
virtual void set_parameter(libMesh::Number ¶m_variable, const GetPot &input, const std::string ¶m_name, libMesh::Number param_default)
Each subclass can simultaneously read a parameter value from.
std::map< std::string, libMesh::ParsedFEMFunction< libMesh::Number > * > _my_parsed_fem_functions
static std::string zero_vector_function
A parseable function string with LIBMESH_DIM components, all 0.
ParameterUser(const std::string &user_name)
std::map< std::string, libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > * > _my_parsed_functions
std::map< std::string, libMesh::Number * > _my_parameters
ParameterUser base class. Utility methods for subclasses.
virtual void move_parameter(const libMesh::Number &old_parameter, libMesh::Number &new_parameter)
When cloning an object, we need to update parameter pointers.
virtual void register_parameter(const std::string ¶m_name, libMesh::ParameterMultiAccessor< libMesh::Number > ¶m_pointer) const
Each subclass will register its copy of an independent.