Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
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...
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.
const InputParameters & parameters() const
Get the parameters of the object.
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