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

Hot Plasma Expansion Disperison function. More...

#include <dispersion.hpp>

Inheritance diagram for dispersion::hot_plasma_expansion< 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 expansion dispersion 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::float_scalar T, class Z, bool SAFE_MATH = false>
class dispersion::hot_plasma_expansion< T, Z, SAFE_MATH >

Hot Plasma Expansion Disperison function.

Template Parameters
TBase type of the calculation.
ZZ function class.
SAFE_MATHUse Safe Math operations.

Member Function Documentation

◆ D()

template<jit::float_scalar T, class Z , bool SAFE_MATH = false>
virtual graph::shared_leaf< T, SAFE_MATH > dispersion::hot_plasma_expansion< 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 expansion dispersion function.

Dw = -(1 + Ωe/⍵)n||ve/c(Γ1 + Γ2 + n⟂^2/(2n||)⍵^2/Ωe^2ve/cζΓ5)(1/Z(ζ) + ζ) (1)

Where:

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

  • (1 - 2q)((1 - P) - n⟂^2) (2)

Γ2 = P⍵/Ωen⟂^2(n^2 - (1 - 2q))

  • P^2⍵^2/(4Ωe^2)((n^2 + n||^2) - 2(1 - 2q))n⟂^2/n||^2 (3)

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

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

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

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

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

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: