https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SmootherChainControl.h
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#pragma once
11
12#include "ChainControl.h"
13
19{
20public:
22
24
25 virtual void execute() override;
26
27protected:
29 void executeInner();
30
32 const Real & _input;
34 const unsigned int _n_points;
36 Real & _output;
38 std::vector<Real> & _values;
41};
Control that additionally provides the capability to produce/consume data values, to allow control op...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Computes a moving average of the input control with a user-specified number of points to average.
virtual void execute() override
Execute the control.
const Real & _input
Input data.
static InputParameters validParams()
const unsigned int _n_points
The number of points to use in the moving average.
Real & _output
Output control value.
std::vector< Real > & _values
Vector to store values.
void executeInner()
Performs the main execution.
Real & _previous_time
Previous time for which value was cached.