Graph Framework
Loading...
Searching...
No Matches
dispersion::hot_plasma< T, Z, SAFE_MATH > Class Template Referencefinal

Hot Plasma Disperison function. More...

#include <dispersion.hpp>

Inheritance diagram for dispersion::hot_plasma< T, Z, SAFE_MATH >:
dispersion::physics< T, SAFE_MATH > dispersion::dispersion_function< T, SAFE_MATH >

Public Member Functions

virtual graph::shared_leaf< T, SAFE_MATH > D (graph::shared_leaf< T, SAFE_MATH > w, graph::shared_leaf< T, SAFE_MATH > kx, graph::shared_leaf< T, SAFE_MATH > ky, graph::shared_leaf< T, SAFE_MATH > kz, graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z, graph::shared_leaf< T, SAFE_MATH > t, equilibrium::shared< T, SAFE_MATH > &eq)
 Hot Plasma Disperison function.
 

Additional Inherited Members

- Public Types inherited from dispersion::dispersion_function< T, SAFE_MATH >
typedef T base
 Type def to retrieve the backend base type.
 
- Static Public Attributes inherited from dispersion::dispersion_function< T, SAFE_MATH >
static constexpr bool safe_math = SAFE_MATH
 Retrieve template parameter of safe math.
 
- Protected Attributes inherited from dispersion::physics< T, SAFE_MATH >
const T epsion0 = 8.8541878138E-12
 Vacuum permitivity.
 
const T mu0 = M_PI*4.0E-7
 Vacuum permeability.
 
const T q = 1.602176634E-19
 Fundamental charge.
 
const T me = 9.1093837015E-31
 Electron mass.
 
const T c = static_cast<T> (1.0)/std::sqrt(epsion0*mu0)
 Speed of light.
 

Detailed Description

template<jit::complex_scalar T, z_func Z, bool SAFE_MATH = false>
class dispersion::hot_plasma< T, Z, SAFE_MATH >

Hot Plasma Disperison function.

Member Function Documentation

◆ D()

template<jit::complex_scalar T, z_func Z, bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > dispersion::hot_plasma< T, Z, SAFE_MATH >::D ( graph::shared_leaf< T, SAFE_MATH >  w,
graph::shared_leaf< T, SAFE_MATH >  kx,
graph::shared_leaf< T, SAFE_MATH >  ky,
graph::shared_leaf< T, SAFE_MATH >  kz,
graph::shared_leaf< T, SAFE_MATH >  x,
graph::shared_leaf< T, SAFE_MATH >  y,
graph::shared_leaf< T, SAFE_MATH >  z,
graph::shared_leaf< T, SAFE_MATH >  t,
equilibrium::shared< T, SAFE_MATH > &  eq 
)
inlinevirtual

Hot Plasma Disperison function.

D = iσΓ0 + Γ1 + n⟂^2P⍵/Ωe(1 + ζZ(ζ))(Γ2 + Γ5F) (1)

Γ0 = n⟂^2(n^2 - 2(1 - 2q)) + (1 - P)(2(1 - 2q) - (n^2 + n||^2)) (2)

Γ1 = n⟂^2((1 - q)n^2 - (1 - 2q))

  • (1 - P)(n^2n||^2 - (1 - q)(n^2 + n||^2) + (1 - 2q)) (3)

Γ2 = (n^2 - (1 - 2q)) + P⍵/(4Ωen||^2)((n^2 + n||^2) - 2(1 - 2q)) (4)

Γ5 = n^2n||^2 - (1 - q)(n^2 + n||^2) + (1 - 2q) (5)

iσ = PZ(ζ)/(2n||ve) (6)

ζ = (1 - Ωe/⍵)/(n||ve/c) (7)

F = ve(1 + ζZ(ζ))⍵/(2n||Ωe) (8)

P = ⍵pe^2/⍵^2 (9)

q = P/(2(1 + Ωe/⍵)) (10)

ve = Sqrt(2*ne*te/me) (11)

Parameters
[in]wOmega variable.
[in]kxKx variable.
[in]kyKy variable.
[in]kzKz variable.
[in]xx variable.
[in]yy variable.
[in]zz variable.
[in]tCurrent time.
[in]eqThe plasma equilibrium.

Implements dispersion::dispersion_function< T, SAFE_MATH >.


The documentation for this class was generated from the following file: