www.mooseframework.org
Control.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 // MOOSE includes
16 #include "Control.h"
17 
18 template <>
21 {
24  params += validParams<SetupInterface>();
26  params.registerBase("Control");
27 
28  params.set<MultiMooseEnum>("execute_on") = Control::getExecuteOptions();
29  params.addParam<std::vector<std::string>>(
30  "depends_on",
31  "The Controls that this control relies upon (i.e. must execute before this one)");
32 
33  return params;
34 }
35 
36 Control::Control(const InputParameters & parameters)
37  : MooseObject(parameters),
38  TransientInterface(this),
39  SetupInterface(this),
40  FunctionInterface(this),
41  UserObjectInterface(this),
44  _fe_problem(*parameters.get<FEProblemBase *>("_fe_problem_base")),
45  _depends_on(getParam<std::vector<std::string>>("depends_on")),
46  _input_parameter_warehouse(_app.getInputParameterWarehouse())
47 {
48 }
49 
52 {
53  return MultiMooseEnum("none=0x00 initial=0x01 linear=0x02 nonlinear=0x04 timestep_end=0x08 "
54  "timestep_begin=0x10 custom=0x100 subdomain=0x200",
55  "initial timestep_end");
56 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
InputParameters validParams< SetupInterface >()
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
InputParameters validParams< FunctionInterface >()
void registerBase(const std::string &value)
This method must be called from every base "Moose System" to create linkage with the Action System...
Interface for objects that needs transient capabilities.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
Interface for objects that need to use UserObjects.
InputParameters validParams< Control >()
Definition: Control.C:20
InputParameters validParams< MooseObject >()
Definition: MooseObject.C:22
static MultiMooseEnum getExecuteOptions()
Return the valid "execute_on" options for Control objects.
Definition: Control.C:51
Control(const InputParameters &parameters)
Class constructor.
Definition: Control.C:36
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Interface for objects that need to use functions.
InputParameters validParams< TransientInterface >()
Interface class for classes which interact with Postprocessors.