|
| | vmec (const T sminh, const T sminf, const T ds, graph::shared_leaf< T, SAFE_MATH > dphi, graph::shared_leaf< T, SAFE_MATH > signj, const backend::buffer< T > chi_c0, const backend::buffer< T > chi_c1, const backend::buffer< T > chi_c2, const backend::buffer< T > chi_c3, const std::vector< backend::buffer< T > > rmnc_c0, const std::vector< backend::buffer< T > > rmnc_c1, const std::vector< backend::buffer< T > > rmnc_c2, const std::vector< backend::buffer< T > > rmnc_c3, const std::vector< backend::buffer< T > > zmns_c0, const std::vector< backend::buffer< T > > zmns_c1, const std::vector< backend::buffer< T > > zmns_c2, const std::vector< backend::buffer< T > > zmns_c3, const std::vector< backend::buffer< T > > lmns_c0, const std::vector< backend::buffer< T > > lmns_c1, const std::vector< backend::buffer< T > > lmns_c2, const std::vector< backend::buffer< T > > lmns_c3, const backend::buffer< T > xm, const backend::buffer< T > xn) |
| | Construct a EFIT equilibrium.
|
| |
| virtual graph::shared_vector< T, SAFE_MATH > | get_esup1 (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the contravariant basis vector in the S direction.
|
| |
| virtual graph::shared_vector< T, SAFE_MATH > | get_esup2 (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the contravariant basis vector in the U direction.
|
| |
| virtual graph::shared_vector< T, SAFE_MATH > | get_esup3 (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the contravariant basis vector in the V direction.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_electron_density (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the electron density.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_ion_density (const size_t index, graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the ion density.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_electron_temperature (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the electron temperature.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_ion_temperature (const size_t index, graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the ion temperature.
|
| |
| virtual graph::shared_vector< T, SAFE_MATH > | get_magnetic_field (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the magnetic field.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_characteristic_field (const size_t device_number=0) final |
| | Get the characteristic field.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_x (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the x position.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_y (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the y position.
|
| |
| virtual graph::shared_leaf< T, SAFE_MATH > | get_z (graph::shared_leaf< T, SAFE_MATH > s, graph::shared_leaf< T, SAFE_MATH > u, graph::shared_leaf< T, SAFE_MATH > v) |
| | Get the z position.
|
| |
| | 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.
|
| |
template<
jit::float_scalar T, bool SAFE_MATH = false>
class equilibrium::vmec< T, SAFE_MATH >
3D VMEC equilibrium.
This takes a Cublic spline interpolations of the vmec quantities.
- Template Parameters
-
| T | Base type of the calculation. |
| SAFE_MATH | Use Safe Math operations. |