www.mooseframework.org
AddControlAction.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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)
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()
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:110
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.
Factory & _factory
The Factory associated with the MooseApp.
const std::string _name
The name of this class.
Definition: MooseBase.h:90
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:33
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:179
static InputParameters validParams()
Class constructor.