Class TurbulenceSpectrum

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class TurbulenceSpectrum : public Referenced

Defines the energy spectrum of turbulence parametrizied by A(k) ~ k^q /(1 + k^2)^{(s + q)/2 + 1}.

Subclassed by SimpleTurbulenceSpectrum

Public Functions

inline TurbulenceSpectrum(double Brms, double lMin, double lMax, double lBendover = 1, double sIndex = (5. / 3.), double qIndex = 4)
  • Brms – root mean square field strength for generated field

  • lMin – Minimum physical scale of the turbulence

  • lMax – Maximum physical scale of the turbulence

  • lBendover – the bend-over scale

  • sIndex – Spectral index of the energy spectrum in the inertial range

  • qIndex – Spectral index of the energy spectrum in the energy range

inline ~TurbulenceSpectrum()
inline double getBrms() const
inline double getLmin() const
inline double getLmax() const
inline double getLbendover() const
inline double getSindex() const
inline double getQindex() const
inline virtual double energySpectrum(double k) const

General energy spectrum for synthetic turbulence models (not normalized!) with normalized ^k = k*lBendover

inline virtual double getCorrelationLength() const

Computes the magnetic field coherence length Obtained from the definition of \(l_c = 1/B_{\rm rms}^2 \int_0^\infty dr\langleB(0)B^*(r)\rangle \) Approximates the true value correctly as long as lBendover <= lMax/8 (~5% error) (for the true value the above integral should go from lMin to lMax)

inline size_t addReference() const
inline size_t removeReference() const
inline int removeReferenceNoDelete() const
inline size_t getReferenceCount() const

Protected Functions

inline double spectrumNormalization() const

Normalization for the below defined Lc

Protected Attributes

mutable size_t _referenceCount