Graph Framework
|
Interface for dispersion functions. More...
#include <dispersion.hpp>
Public Types | |
typedef T | base |
Type def to retrieve the backend base type. | |
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)=0 |
Interface for a dispersion function. | |
Static Public Attributes | |
static constexpr bool | safe_math = SAFE_MATH |
Retrieve template parameter of safe math. | |
Interface for dispersion functions.
T | Base type of the calculation. |
SAFE_MATH | Use Safe Math operations. |
|
pure virtual |
Interface for a dispersion function.
[in] | w | Omega variable. |
[in] | kx | Kx variable. |
[in] | ky | Ky variable. |
[in] | kz | Kz variable. |
[in] | x | x variable. |
[in] | y | y variable. |
[in] | z | z variable. |
[in] | t | Current time. |
[in] | eq | The plasma equilibrium. |
Implemented in dispersion::stiff< T, SAFE_MATH >, dispersion::simple< T, SAFE_MATH >, dispersion::bohm_gross< T, SAFE_MATH >, dispersion::light_wave< T, SAFE_MATH >, dispersion::acoustic_wave< T, SAFE_MATH >, dispersion::guassian_well< T, SAFE_MATH >, dispersion::ion_cyclotron< T, SAFE_MATH >, dispersion::ordinary_wave< T, SAFE_MATH >, dispersion::extra_ordinary_wave< T, SAFE_MATH >, dispersion::cold_plasma< T, SAFE_MATH >, dispersion::cold_plasma_expansion< T, SAFE_MATH >, dispersion::hot_plasma< T, Z, SAFE_MATH >, and dispersion::hot_plasma_expansion< T, Z, SAFE_MATH >.