93 const std::string & object_name,
94 const std::string & param_name);
96 const std::string & param_name);
109 template <
typename T>
112 template <
typename T>
115 template <
typename T>
117 const std::string & param_name,
118 bool warn_when_values_differ =
true);
120 template <
typename T>
122 const std::string & param_name,
123 bool warn_when_values_differ =
true);
125 template <
typename T>
127 const std::string & object_name,
128 const std::string & param_name,
129 bool warn_when_values_differ =
true);
131 template <
typename T>
133 bool warn_when_values_differ =
true);
144 template <
typename T>
147 template <
typename T>
150 template <
typename T>
152 const std::string & param_name,
155 template <
typename T>
157 const std::string & param_name,
160 template <
typename T>
162 const std::string & object_name,
163 const std::string & param_name,
166 template <
typename T>
179 return getControllableValueByName<T>(getParam<std::string>(
name), warn_when_values_differ);
188 return helper.
get<T>(
true, warn_when_values_differ)[0];
194 const std::string & param_name,
195 bool warn_when_values_differ)
199 return helper.
get<T>(
true, warn_when_values_differ)[0];
205 const std::string & param_name,
206 bool warn_when_values_differ)
210 return helper.
get<T>(
true, warn_when_values_differ)[0];
216 const std::string & object_name,
217 const std::string & param_name,
218 bool warn_when_values_differ)
222 return helper.
get<T>(
true, warn_when_values_differ)[0];
228 bool warn_when_values_differ)
231 return helper.
get<T>(
true, warn_when_values_differ)[0];
239 helper.
set<T>(value);
246 setControllableValueByName<T>(getParam<std::string>(
name), value);
255 helper.
set<T>(value);
261 const std::string & param_name,
266 helper.
set<T>(value);
272 const std::string & param_name,
277 helper.
set<T>(value);
283 const std::string & object_name,
284 const std::string & param_name,
289 helper.
set<T>(value);
Base class for Control objects.
static InputParameters validParams()
Class constructor.
static MultiMooseEnum getExecuteOptions()
(DEPRECATED) Return the valid "execute_on" options for Control objects
virtual void execute()=0
Execute the control.
T getControllableValue(const std::string &name, bool warn_when_values_differ=true)
Obtain the value of a controllable parameter given input file syntax or actual name.
ControllableParameter getControllableParameterByName(const std::string ¶m_name)
virtual ~Control()
Class destructor.
bool hasControllableParameterByName(const std::string &name) const
void setControllableValueByName(const std::string &name, const T &value)
std::vector< std::string > & getDependencies()
Return the Controls that must run before this Control.
InputParameterWarehouse & _input_parameter_warehouse
A reference to the InputParameterWarehouse which is used for access the parameter objects.
void setControllableValue(const std::string &name, const T &value)
Set the value(s) of a controllable parameter of class given input file syntax or actual name.
T getControllableValueByName(const std::string &name, bool warn_when_values_differ=true)
std::vector< std::string > _depends_on
A list of controls that are required to run before this control may run.
ControllableParameter getControllableParameter(const std::string ¶m_name)
Direct access to the ControllableParameter object.
FEProblemBase & _fe_problem
Reference to the FEProblemBase for this object.
The ControllableParameter class is simply a set of ControllableItem objects.
void set(const T &value, bool type_check=true)
Set the value(s) of the controlled parameters stored in this class.
std::vector< T > get(bool type_check=true, bool warn_when_values_difffer=false) const
Return a copy of the values of the given type.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Interface for objects that need to use functions.
const InputParameters & parameters() const
Get the parameters of the object.
const std::string & name() const
Get the name of the class.
A class for storing the names of MooseObject by tag and object name.
A class for storing an input parameter name.
Every object that can be built by the factory should be derived from this class.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type.
Interface for objects interacting with the PerfGraph.
Interface class for classes which interact with Postprocessors.
Interface to allow object to consume Reporter values.
A class for creating restricted objects.
Interface for objects that needs transient capabilities.
Interface for objects that need to use UserObjects.