https://mooseframework.inl.gov
AddControlAction.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 // MOOSE includes
11 #include "AddControlAction.h"
12 #include "FEProblem.h"
13 #include "Factory.h"
14 #include "Control.h"
15 
16 registerMooseAction("MooseApp", AddControlAction, "add_control");
17 
20 {
22  params.addClassDescription("Add a Control object to the simulation.");
23  return params;
24 }
25 
27  : MooseObjectAction(parameters)
28 {
29 }
30 
31 void
33 {
34  _moose_object_pars.addPrivateParam<FEProblemBase *>("_fe_problem_base", _problem.get());
35  std::shared_ptr<Control> control = _factory.create<Control>(_type, _name, _moose_object_pars);
36  _problem->getControlWarehouse().addObject(control);
37 }
AddControlAction(const InputParameters &parameters)
const std::string & _name
The name of this class.
Definition: MooseBase.h:359
void addPrivateParam(const std::string &name, const T &value)
These method add a parameter to the InputParameters object which can be retrieved like any other para...
static InputParameters validParams()
Factory & _factory
The Factory associated with the MooseApp.
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, const InputParameters &parameters, THREAD_ID tid=0, bool print_deprecated=true)
Definition: Factory.C:111
registerMooseAction("MooseApp", AddControlAction, "add_control")
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Action for creating Control objects.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
std::string _type
The Object type that is being created.
Base class for Control objects.
Definition: Control.h:34
InputParameters _moose_object_pars
The parameters for the object to be created.
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:171
static InputParameters validParams()