https://mooseframework.inl.gov
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 
14 class FEProblemBase;
15 
19 class FourierNoise : public Function
20 {
21 public:
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 
30 protected:
31  struct SeriesItem
32  {
39  };
40 
42  const Real _lambda;
43 
45  std::vector<SeriesItem> _series;
46 
49 
52 };
FEProblemBase & _fe_problem
FEProblem pointer for obtaining the current mesh.
Definition: FourierNoise.h:51
virtual Real value(Real, const Point &p) const override
Definition: FourierNoise.C:105
Real c
cos coefficient
Definition: FourierNoise.h:38
const Real _lambda
selected lower lengthscale for the noise cut-off
Definition: FourierNoise.h:42
static InputParameters validParams()
Definition: FourierNoise.C:18
std::vector< SeriesItem > _series
Fourier series terms.
Definition: FourierNoise.h:45
FourierNoise(const InputParameters &parameters)
Definition: FourierNoise.C:32
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real _scale
amplitude factor
Definition: FourierNoise.h:48
RealVectorValue k
k-vector
Definition: FourierNoise.h:34
const InputParameters & parameters() const
Generate noise using random fourier series coefficients.
Definition: FourierNoise.h:19
virtual Real value(Real t, const Point &p) const
Real s
sin coefficient
Definition: FourierNoise.h:36