https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
16registerMooseAction("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
31void
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}
registerMooseAction("MooseApp", AddControlAction, "add_control")
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition Action.h:178
Action for creating Control objects.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
AddControlAction(const InputParameters &parameters)
static InputParameters validParams()
Base class for Control objects.
Definition Control.h:44
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
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:142
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
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...
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.
const std::string & _name
The name of this class.
Definition MooseBase.h:381
InputParameters _moose_object_pars
The parameters for the object to be created.
static InputParameters validParams()
std::string _type
The Object type that is being created.
Factory & _factory
The Factory associated with the MooseApp.