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