Graph Framework
|
Class representing a generic equilibrium. More...
#include <equilibrium.hpp>
Public Member Functions | |
generic (const std::vector< T > &masses, const std::vector< uint8_t > &charges) | |
Construct a generic equilibrum. | |
virtual | ~generic () |
Destructor. | |
size_t | get_num_ion_species () const |
Get the number of ion species. | |
T | get_ion_mass (const size_t index) const |
Get the mass for an ion species. | |
uint8_t | get_ion_charge (const size_t index) const |
Get the charge for an ion species. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_electron_density (graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z)=0 |
Get the electron density. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_ion_density (const size_t index, graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z)=0 |
Get the ion density. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_electron_temperature (graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z)=0 |
Get the electron temperature. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_ion_temperature (const size_t index, graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z)=0 |
Get the ion temperature. | |
virtual graph::shared_vector< T, SAFE_MATH > | get_magnetic_field (graph::shared_leaf< T, SAFE_MATH > x, graph::shared_leaf< T, SAFE_MATH > y, graph::shared_leaf< T, SAFE_MATH > z)=0 |
Get the magnetic field. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_characteristic_field (const size_t device_number=0)=0 |
Get the characteristic field. | |
virtual graph::shared_vector< T, SAFE_MATH > | get_esup1 (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3) |
Get the contravariant basis vector in the x1 direction. | |
virtual graph::shared_vector< T, SAFE_MATH > | get_esup2 (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3) |
Get the contravariant basis vector in the x2 direction. | |
virtual graph::shared_vector< T, SAFE_MATH > | get_esup3 (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3) |
Get the contravariant basis vector in the x3 direction. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_x (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3) |
Get the x position. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_y (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3) |
Get the y position. | |
virtual graph::shared_leaf< T, SAFE_MATH > | get_z (graph::shared_leaf< T, SAFE_MATH > x1, graph::shared_leaf< T, SAFE_MATH > x2, graph::shared_leaf< T, SAFE_MATH > x3) |
Get the z position. | |
Protected Attributes | |
const std::vector< T > | ion_masses |
Ion masses for each species. | |
const std::vector< uint8_t > | ion_charges |
Ion charge for each species. | |
Class representing a generic equilibrium.
T | Base type of the calculation. |
SAFE_MATH | Use Safe Math operations. |
|
inline |
Construct a generic equilibrum.
[in] | masses | Vector of ion masses. |
[in] | charges | Vector of ion charges. |
|
pure virtual |
Get the characteristic field.
The characteristic field is equilibrium dependent.
[in] | device_number | Device to use. |
Implemented in equilibrium::no_magnetic_field< T, SAFE_MATH >, equilibrium::slab< T, SAFE_MATH >, equilibrium::slab_density< T, SAFE_MATH >, equilibrium::slab_field< T, SAFE_MATH >, equilibrium::guassian_density< T, SAFE_MATH >, equilibrium::efit< T, SAFE_MATH >, and equilibrium::vmec< T, SAFE_MATH >.
|
pure virtual |
Get the electron density.
[in] | x | X position. |
[in] | y | Y position. |
[in] | z | Z position. |
Implemented in equilibrium::vmec< T, SAFE_MATH >, equilibrium::efit< T, SAFE_MATH >, equilibrium::no_magnetic_field< T, SAFE_MATH >, equilibrium::slab< T, SAFE_MATH >, equilibrium::slab_density< T, SAFE_MATH >, equilibrium::slab_field< T, SAFE_MATH >, and equilibrium::guassian_density< T, SAFE_MATH >.
|
pure virtual |
Get the electron temperature.
[in] | x | X position. |
[in] | y | Y position. |
[in] | z | Z position. |
Implemented in equilibrium::vmec< T, SAFE_MATH >, equilibrium::efit< T, SAFE_MATH >, equilibrium::no_magnetic_field< T, SAFE_MATH >, equilibrium::slab< T, SAFE_MATH >, equilibrium::slab_density< T, SAFE_MATH >, equilibrium::slab_field< T, SAFE_MATH >, and equilibrium::guassian_density< T, SAFE_MATH >.
|
inlinevirtual |
Get the contravariant basis vector in the x1 direction.
[in] | x1 | X1 posiiton. |
[in] | x2 | X2 position. |
[in] | x3 | X3 position. |
Reimplemented in equilibrium::vmec< T, SAFE_MATH >.
|
inlinevirtual |
Get the contravariant basis vector in the x2 direction.
[in] | x1 | X1 posiiton. |
[in] | x2 | X2 position. |
[in] | x3 | X3 position. |
Reimplemented in equilibrium::vmec< T, SAFE_MATH >.
|
inlinevirtual |
Get the contravariant basis vector in the x3 direction.
[in] | x1 | X1 posiiton. |
[in] | x2 | X2 position. |
[in] | x3 | X3 position. |
Reimplemented in equilibrium::vmec< T, SAFE_MATH >.
|
inline |
Get the charge for an ion species.
[in] | index | The species index. |
|
pure virtual |
Get the ion density.
[in] | index | The species index. |
[in] | x | X position. |
[in] | y | Y position. |
[in] | z | Z position. |
Implemented in equilibrium::vmec< T, SAFE_MATH >, equilibrium::efit< T, SAFE_MATH >, equilibrium::no_magnetic_field< T, SAFE_MATH >, equilibrium::slab< T, SAFE_MATH >, equilibrium::slab_density< T, SAFE_MATH >, equilibrium::slab_field< T, SAFE_MATH >, and equilibrium::guassian_density< T, SAFE_MATH >.
|
inline |
Get the mass for an ion species.
[in] | index | The species index. |
|
pure virtual |
Get the ion temperature.
[in] | index | The species index. |
[in] | x | X position. |
[in] | y | Y position. |
[in] | z | Z position. |
Implemented in equilibrium::vmec< T, SAFE_MATH >, equilibrium::efit< T, SAFE_MATH >, equilibrium::no_magnetic_field< T, SAFE_MATH >, equilibrium::slab< T, SAFE_MATH >, equilibrium::slab_density< T, SAFE_MATH >, equilibrium::slab_field< T, SAFE_MATH >, and equilibrium::guassian_density< T, SAFE_MATH >.
|
pure virtual |
Get the magnetic field.
[in] | x | X position. |
[in] | y | Y position. |
[in] | z | Z position. |
Implemented in equilibrium::vmec< T, SAFE_MATH >, equilibrium::efit< T, SAFE_MATH >, equilibrium::no_magnetic_field< T, SAFE_MATH >, equilibrium::slab< T, SAFE_MATH >, equilibrium::slab_density< T, SAFE_MATH >, equilibrium::slab_field< T, SAFE_MATH >, and equilibrium::guassian_density< T, SAFE_MATH >.
|
inline |
Get the number of ion species.
|
inlinevirtual |
Get the x position.
[in] | x1 | X1 posiiton. |
[in] | x2 | X2 position. |
[in] | x3 | X3 position. |
Reimplemented in equilibrium::vmec< T, SAFE_MATH >.
|
inlinevirtual |
Get the y position.
[in] | x1 | X1 posiiton. |
[in] | x2 | X2 position. |
[in] | x3 | X3 position. |
Reimplemented in equilibrium::vmec< T, SAFE_MATH >.
|
inlinevirtual |
Get the z position.
[in] | x1 | X1 posiiton. |
[in] | x2 | X2 position. |
[in] | x3 | X3 position. |
Reimplemented in equilibrium::vmec< T, SAFE_MATH >.