Axisymmetric magnetic field based on on-axis data. More...
#include <axisymmetricvectorfield.hpp>

Public Member Functions | |
AxisymmetricVectorField (geom_mode_e geom_mode, const std::vector< double > &z, const std::vector< double > &Bz) | |
Constructor. More... | |
AxisymmetricVectorField (geom_mode_e geom_mode, double origo, double h, const std::vector< double > &Bz, uint32_t order=6) | |
Constructor. More... | |
AxisymmetricVectorField (const AxisymmetricVectorField &f) | |
Copy constructor. More... | |
virtual | ~AxisymmetricVectorField () |
Virtual destructor. More... | |
virtual const Vec3D | operator() (const Vec3D &x) const |
Operator for getting field value at x. More... | |
AxisymmetricVectorField & | operator= (const AxisymmetricVectorField &f) |
Copy assignment. More... | |
![]() | |
virtual | ~VectorField () |
Virtual destructor. More... | |
void | get_minmax (const Mesh &mesh, double &min, double &max) const |
Search minimum and maximum vector length values of vector field at mesh nodes. More... | |
void | get_minmax (const Mesh &mesh, Vec3D &min, Vec3D &max) const |
Search minimum and maximum for each vector component at mesh nodes. More... | |
![]() | |
virtual | ~Field () |
Virtual destructor. More... | |
Detailed Description
Axisymmetric magnetic field based on on-axis data.
The magnetic field is constructed using cubic spline interpolation of user given data on axis and the expansion of the field off-axis with
where the third and higher derivatives have been truncated (see J. Rodney, M. Vaughan, "Representation of Axisymmetric Magnetic Fields in Computer Programs", IEEE Transactions on electron devices 19, 144 (1972) for more details).
Constructor & Destructor Documentation
◆ AxisymmetricVectorField() [1/3]
AxisymmetricVectorField::AxisymmetricVectorField | ( | geom_mode_e | geom_mode, |
const std::vector< double > & | z, | ||
const std::vector< double > & | Bz | ||
) |
Constructor.
Constructor for axisymmetric magnetic field based on an array of magnetic field data on the symmetry axis. If geom_mode is MODE_CYL the symmetry axis is x. If geom_mode is MODE_3D, the symmetry axis is z. Other geometry modes are not supported.
The magnetic field is constructed using cubic spline interpolation of user given data on axis and the expansion of the field off-axis with
where the third and higher derivatives have been truncated.
The magnetic field outside the defined z is zero. No extrapolation is done.
◆ AxisymmetricVectorField() [2/3]
AxisymmetricVectorField::AxisymmetricVectorField | ( | geom_mode_e | geom_mode, |
double | origo, | ||
double | h, | ||
const std::vector< double > & | Bz, | ||
uint32_t | order = 6 |
||
) |
Constructor.
Constructor for axisymmetric magnetic field based on an array of magnetic field data on the symmetry axis. If geom_mode is MODE_CYL the symmetry axis is x. If geom_mode is MODE_3D, the symmetry axis is z. Other geometry modes are not supported.
The magnetic field is constructed using linear interpolation and finite difference derivatives up to 6th order for the Bz data on axis and the expansion of the field off-axis with
The order used in evaluation is defined by parameter order, which defaults to the maximum allowed order of 6.
The magnetic field outside the defined z is extrapolated.
◆ AxisymmetricVectorField() [3/3]
AxisymmetricVectorField::AxisymmetricVectorField | ( | const AxisymmetricVectorField & | f | ) |
Copy constructor.
◆ ~AxisymmetricVectorField()
|
virtual |
Virtual destructor.
Member Function Documentation
◆ operator()()
Operator for getting field value at x.
Implements VectorField.
◆ operator=()
AxisymmetricVectorField & AxisymmetricVectorField::operator= | ( | const AxisymmetricVectorField & | f | ) |
Copy assignment.
The documentation for this class was generated from the following files: