https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FourierNoise.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 "Function.h"
13
14class FEProblemBase;
15
19class FourierNoise : public Function
20{
21public:
23
25
26 using Function::value;
27 virtual Real value(Real, const Point & p) const override;
28 virtual ADReal value(const ADReal &, const ADPoint & p) const override;
29
30protected:
32 {
34 RealVectorValue k;
36 Real s;
38 Real c;
39 };
40
42 const Real _lambda;
43
45 std::vector<SeriesItem> _series;
46
48 Real _scale;
49
52};
DualNumber< Real, DNDerivativeType, true > ADReal
const Real p
Generate noise using random fourier series coefficients.
Real _scale
amplitude factor
virtual Real value(Real, const Point &p) const override
static InputParameters validParams()
const Real _lambda
selected lower lengthscale for the noise cut-off
std::vector< SeriesItem > _series
Fourier series terms.
FEProblemBase & _fe_problem
FEProblem pointer for obtaining the current mesh.
virtual Real value(Real t, const Point &p) const
const InputParameters & parameters() const
Real s
sin coefficient
RealVectorValue k
k-vector
Real c
cos coefficient