pyoculus 0.1.1
|
Class that used to setup the bfield problem based on QFM. More...
Public Member Functions | |
__init__ (self, ToroidalBfield pb, SurfacesToroidal surfaces) | |
Set up the problems based on a known magnetic field and the QFM surfaces. | |
B (self, coords, *args) | |
Returns magnetic fields. | |
dBdX (self, coords, *args) | |
Returns magnetic fields. | |
B_many (self, x1arr, x2arr, x3arr, input1D=True, *args) | |
Returns magnetic fields, with multipy coordinate inputs. | |
dBdX_many (self, x1arr, x2arr, x3arr, input1D=True, *args) | |
Returns magnetic fields. | |
convert_coords (self, stz) | |
Python wrapper for getting the xyz coordinates from stz. | |
Public Member Functions inherited from pyoculus.problems.toroidal_bfield.ToroidalBfield | |
f (self, zeta, st, *args) | |
Returns ODE RHS. | |
f_tangent (self, zeta, st, *args) | |
Returns ODE RHS, with tangent. | |
Public Member Functions inherited from pyoculus.problems.toroidal_problem.ToroidalProblem | |
Public Member Functions inherited from pyoculus.problems.base_problem.BaseProblem | |
Public Member Functions inherited from pyoculus.problems.bfield_problem.BfieldProblem |
Public Attributes | |
pb = pb | |
surfaces = surfaces | |
poincare_plot_type = pb.poincare_plot_type | |
poincare_plot_xlabel = pb.poincare_plot_xlabel | |
poincare_plot_ylabel = pb.poincare_plot_ylabel | |
Nfp = pb.Nfp | |
has_jacobian = pb.has_jacobian | |
Public Attributes inherited from pyoculus.problems.toroidal_problem.ToroidalProblem | |
int | problem_size = 2 |
str | poincare_plot_type = "yx" |
str | poincare_plot_xlabel = "x" |
str | poincare_plot_ylabel = "y" |
Public Attributes inherited from pyoculus.problems.base_problem.BaseProblem | |
int | problem_size = 2 |
str | poincare_plot_type = "yx" |
str | poincare_plot_xlabel = "y" |
str | poincare_plot_ylabel = "x" |
Public Attributes inherited from pyoculus.problems.bfield_problem.BfieldProblem | |
bool | has_jacobian = False |
if the output magnetic field contains the jacobian factor or not | |
Class that used to setup the bfield problem based on QFM.
pyoculus.problems.qfm_bfield.QFMBfield.__init__ | ( | self, | |
ToroidalBfield | pb, | ||
SurfacesToroidal | surfaces ) |
Set up the problems based on a known magnetic field and the QFM surfaces.
pb | the TorodialBfield problem we will used as the original coordinates and fields |
surfaces | the QFM surfaces |
Reimplemented from pyoculus.problems.toroidal_bfield.ToroidalBfield.
pyoculus.problems.qfm_bfield.QFMBfield.B | ( | self, | |
coords, | |||
* | args ) |
Returns magnetic fields.
coords | \((\rho,\vartheta,\zeta)\) |
*args | extra parameters |
Reimplemented from pyoculus.problems.bfield_problem.BfieldProblem.
pyoculus.problems.qfm_bfield.QFMBfield.B_many | ( | self, | |
x1arr, | |||
x2arr, | |||
x3arr, | |||
input1D = True, | |||
* | args ) |
Returns magnetic fields, with multipy coordinate inputs.
x1arr | the first coordinates. Should have the same length as the other two if input1D=True. |
x2arr | the second coordinates. Should have the same length as the other two if input1D=True. |
x3arr | the third coordinates. Should have the same length as the other two if input1D=True. |
input1D | if False, create a meshgrid with sarr, tarr and zarr, if True, treat them as a list of points |
*args | parameter |
Reimplemented from pyoculus.problems.bfield_problem.BfieldProblem.
pyoculus.problems.qfm_bfield.QFMBfield.convert_coords | ( | self, | |
stz ) |
Python wrapper for getting the xyz coordinates from stz.
stz | the stz coordinate |
Reimplemented from pyoculus.problems.toroidal_problem.ToroidalProblem.
pyoculus.problems.qfm_bfield.QFMBfield.dBdX | ( | self, | |
coords, | |||
* | args ) |
Returns magnetic fields.
coords | \((s,\theta,\zeta)\) |
*args | extra parameters |
Reimplemented from pyoculus.problems.bfield_problem.BfieldProblem.
pyoculus.problems.qfm_bfield.QFMBfield.dBdX_many | ( | self, | |
x1arr, | |||
x2arr, | |||
x3arr, | |||
input1D = True, | |||
* | args ) |
Returns magnetic fields.
x1arr | the first coordinates. Should have the same length as the other two if input1D=True. |
x2arr | the second coordinates. Should have the same length as the other two if input1D=True. |
x3arr | the third coordinates. Should have the same length as the other two if input1D=True. |
input1D | if False, create a meshgrid with sarr, tarr and zarr, if True, treat them as a list of points |
*args | extra parameters |
Reimplemented from pyoculus.problems.bfield_problem.BfieldProblem.
pyoculus.problems.qfm_bfield.QFMBfield.has_jacobian = pb.has_jacobian |
pyoculus.problems.qfm_bfield.QFMBfield.Nfp = pb.Nfp |
pyoculus.problems.qfm_bfield.QFMBfield.pb = pb |
pyoculus.problems.qfm_bfield.QFMBfield.poincare_plot_type = pb.poincare_plot_type |
pyoculus.problems.qfm_bfield.QFMBfield.poincare_plot_xlabel = pb.poincare_plot_xlabel |
pyoculus.problems.qfm_bfield.QFMBfield.poincare_plot_ylabel = pb.poincare_plot_ylabel |
pyoculus.problems.qfm_bfield.QFMBfield.surfaces = surfaces |