https://mooseframework.inl.gov
RealFunctionControl.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 "RealFunctionControl.h"
12 #include "Function.h"
13 #include "MooseApp.h"
14 
16 
19 {
21  params.addClassDescription(
22  "Sets the value of a 'Real' input parameters to the value of a provided function.");
23  params.addRequiredParam<FunctionName>(
24  "function", "The function to use for controlling the specified parameter.");
25  params.addRequiredParam<std::string>(
26  "parameter",
27  "The input parameter(s) to control. Specify a single parameter name and all "
28  "parameters in all objects matching the name will be updated");
29  return params;
30 }
31 
33  : Control(parameters), _function(getFunction("function"))
34 {
35 }
36 
37 void
39 {
40  const Real value = _function.value(_t);
41  setControllableValue<Real>("parameter", value);
42 }
43 
44 void
46 {
47  if (_app.isRecovering())
48  {
49  const Real value = _function.value(_t);
50  setControllableValue<Real>("parameter", value);
51  }
52 }
static InputParameters validParams()
Class constructor.
Definition: Control.C:16
virtual void initialSetup() override
Called once at the beginning of the simulation, used to initialize recovered control values...
A basic control for changing an input parameter using a Function.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
virtual void execute() override
Execute the control.
MooseApp & _app
The MOOSE application this is associated with.
Definition: MooseBase.h:385
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base class for Control objects.
Definition: Control.h:34
registerMooseObject("MooseApp", RealFunctionControl)
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 Function & _function
The function to execute.
static InputParameters validParams()
Class constructor.
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
Definition: Function.C:30
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:1493
RealFunctionControl(const InputParameters &parameters)