simsoptpp package

class simsoptpp.BiotSavart

Bases: MagneticField

A(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing the magnetic potential (in cartesian coordinates). Denoting the indices by i and l, the result contains A_l(x_i).

A_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As A, but returns a reference to the array (this array should be read only).

AbsB(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the absolute value of the magnetic field (in cartesian coordinates).

AbsB_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As AbsB, but returns a reference to the array (this array should be read only).

B(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing the magnetic field (in cartesian coordinates). Denoting the indices by i and l, the result contains B_l(x_i).

B_cyl(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Return a (npoints, 3) array containing the magnetic field (in cylindrical coordinates) (the order is \((B_r, B_\phi, B_z)\)).

B_cyl_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As B_cyl, but returns a reference to the array (this array should be read only).

B_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As B, but returns a reference to the array (this array should be read only).

GradAbsB(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing the gradient of the absolute value of the magnetic field (in cartesian coordinates).

GradAbsB_cyl(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]
GradAbsB_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As GradAbsB, but returns a reference to the array (this array should be read only).

property coils
compute(self: simsoptpp.BiotSavart, arg0: int) None
d2A_by_dXdX(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3) array containing the hessian of the magnetic potential (in cartesian coordinates). Denoting the indices by i, j, k and l, the result contains partial_kpartial_j A_l(x_i).

d2A_by_dXdX_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As d2A_by_dXdX, but returns a reference to the array (this array should be read only).

d2B_by_dXdX(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3, 3) array containing the hessian of magnetic field (in cartesian coordinates). Denoting the indices by i, j, k and l, the result contains partial_kpartial_j B_l(x_i).

d2B_by_dXdX_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As d2B_by_dXdX, but returns a reference to the array (this array should be read only).

dA_by_dX(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3) array containing the gradient of the magnetic potential (in cartesian coordinates). Denoting the indices by i, j and l, the result contains partial_j A_l(x_i).

dA_by_dX_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As dA_by_dX, but returns a reference to the array (this array should be read only).

dB_by_dX(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3) array containing the gradient of magnetic field (in cartesian coordinates). Denoting the indices by i, j and l, the result contains partial_j B_l(x_i).

dB_by_dX_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As dB_by_dX, but returns a reference to the array (this array should be read only).

fieldcache_get_or_create(self: simsoptpp.BiotSavart, arg0: str, arg1: List[int]) numpy.ndarray[numpy.float64]
fieldcache_get_status(self: simsoptpp.BiotSavart, arg0: str) bool
get_points_cart(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Get the point where the field should be evaluated in cartesian coordinates.

get_points_cart_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As get_points_cart, but returns a reference to the array (this array should be read only).

get_points_cyl(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

Get the point where the field should be evaluated in cylindrical coordinates (the order is \((r, \phi, z)\)).

get_points_cyl_ref(self: simsoptpp.BiotSavart) numpy.ndarray[numpy.float64]

As get_points_cyl, but returns a reference to the array (this array should be read only).

invalidate_cache(self: simsoptpp.BiotSavart) None

Clear the cache. Called automatically after each call to set_points[…].

set_points(self: simsoptpp.BiotSavart, arg0: numpy.ndarray[numpy.float64]) simsoptpp.MagneticField

Shorthand for set_points_cart.

set_points_cart(self: simsoptpp.BiotSavart, arg0: numpy.ndarray[numpy.float64]) simsoptpp.MagneticField

Set the points where to evaluate the magnetic fields, in cartesian coordinates.

set_points_cyl(self: simsoptpp.BiotSavart, arg0: numpy.ndarray[numpy.float64]) simsoptpp.MagneticField

Set the points where to evaluate the magnetic fields, in cylindrical coordinates (the order is \((r, \phi, z)\)).

class simsoptpp.BoozerMagneticField

Bases: pybind11_object

G(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the magnetic field toroidal covariant component in Boozer coordinates.

G_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as G, but returns a reference to the array (this array should be read only).

I(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the magnetic field poloidal covariant component in Boozer coordinates.

I_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as I, but returns a reference to the array (this array should be read only).

K(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the Boozer radial covariant component, K, where B = G nabla zeta + I nabla theta + K nabla psi.

K_derivs(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 2) array containing the dKdtheta and dKdzeta, where K is the Boozer radial covariant component, and B = G nabla zeta + I nabla theta + K nabla psi.

K_derivs_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as K_derivs, but returns a reference to the array (this array should be read only).

K_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as K, but returns a reference to the array (this array should be read only).

R(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the major radius as a function of Boozer coordinates.

R_derivs(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing (dRds,dRdtheta,dRdzeta).

R_derivs_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as R_derivs, but returns a reference to the array (this array should be read only).

R_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as R, but returns a reference to the array (this array should be read only).

Z(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the height as a function of Boozer coordinates.

Z_derivs(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing (dZds,dZdtheta,dZdzeta).

Z_derivs_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as Z_derivs, but returns a reference to the array (this array should be read only).

Z_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as Z, but returns a reference to the array (this array should be read only).

dGds(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the magnetic field toroidal covariant component wrt s in Boozer coordinates.

dGds_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dGds, but returns a reference to the array (this array should be read only).

dIds(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the magnetic field poloidal covariant component wrt s in Boozer coordinates.

dIds_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dIds, but returns a reference to the array (this array should be read only).

dKdtheta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the theta derivative of the Boozer radial covariant component, K, where B = G nabla zeta + I nabla theta + K nabla psi.

dKdtheta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dKdtheta, but returns a reference to the array (this array should be read only).

dKdzeta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the zeta derivative of the Boozer radial covariant component, K, where B = G nabla zeta + I nabla theta + K nabla psi.

dKdzeta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dKdzeta, but returns a reference to the array (this array should be read only).

dRds(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the major radius wrt s as a function of Boozer coordinates.

dRds_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dRds, but returns a reference to the array (this array should be read only).

dRdtheta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the major radius wrt theta as a function of Boozer coordinates.

dRdtheta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dRdtheta, but returns a reference to the array (this array should be read only).

dRdzeta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the major radius wrt zeta as a function of Boozer coordinates.

dRdzeta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dRdzeta, but returns a reference to the array (this array should be read only).

dZds(*args, **kwargs)

Overloaded function.

  1. dZds(self: simsoptpp.BoozerMagneticField) -> numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the height wrt s as a function of Boozer coordinates.

  1. dZds(self: simsoptpp.BoozerMagneticField) -> numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the height wrt s as a function of Boozer coordinates.

dZds_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dZds, but returns a reference to the array (this array should be read only).

dZdtheta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the height wrt theta as a function of Boozer coordinates.

dZdtheta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dZdtheta, but returns a reference to the array (this array should be read only).

dZdzeta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the height wrt zeta as a function of Boozer coordinates.

dZdzeta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dZdzeta, but returns a reference to the array (this array should be read only).

diotads(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the rotational transform wrt s in Boozer coordinates.

diotads_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as diotads, but returns a reference to the array (this array should be read only).

dmodBds(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the magnetic field strength wrt s in Boozer coordinates.

dmodBds_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dmodBds, but returns a reference to the array (this array should be read only).

dmodBdtheta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the magnetic field strength wrt theta in Boozer coordinates.

dmodBdtheta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dmodBdtheta, but returns a reference to the array (this array should be read only).

dmodBdzeta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of the magnetic field strength wrt zeta in Boozer coordinates.

dmodBdzeta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dmodBdzeta, but returns a reference to the array (this array should be read only).

dnuds(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of nu wrt s as a function of Boozer coordinates.

dnuds_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dnuds, but returns a reference to the array (this array should be read only).

dnudtheta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of nu wrt theta as a function of Boozer coordinates.

dnudtheta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dnudtheta, but returns a reference to the array (this array should be read only).

dnudzeta(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the derivative of nu wrt zeta as a function of Boozer coordinates.

dnudzeta_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as dnudzeta, but returns a reference to the array (this array should be read only).

get_points(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Get the point where the field should be evaluated in Boozer coordinates.

get_points_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

As get_points, but returns a reference to the array (this array should be read only).

invalidate_cache(self: simsoptpp.BoozerMagneticField) None

Clear the cache. Called automatically after each call to set_points[…].

iota(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the rotational transform in Boozer coordinates.

iota_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as iota, but returns a reference to the array (this array should be read only).

modB(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the magnetic field strength in Boozer coordinates.

modB_derivs(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing (dmodBds,dmodBdtheta,dmodBdzeta).

modB_derivs_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as modB_derivs, but returns a reference to the array (this array should be read only).

modB_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as modB, but returns a reference to the array (this array should be read only).

nu(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the difference between the Boozer and cylindrical toroidal angles, e.g. zeta_b = phi + nu.

nu_derivs(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing (dnuds,dnudtheta,dnudzeta).

nu_derivs_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as nu_derivs, but returns a reference to the array (this array should be read only).

nu_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as nu, but returns a reference to the array (this array should be read only).

psip(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the (poloidal flux)/(2*pi) in Boozer coordinates.

psip_ref(self: simsoptpp.BoozerMagneticField) numpy.ndarray[numpy.float64]

Same as psip, but returns a reference to the array (this array should be read only).

set_points(self: simsoptpp.BoozerMagneticField, arg0: numpy.ndarray[numpy.float64]) simsoptpp.BoozerMagneticField
class simsoptpp.ChebyshevInterpolationRule

Bases: InterpolationRule

Polynomial interpolation using chebychev points.

property degree

The degree of the polynomial. The number of interpolation points in degree+1.

class simsoptpp.Coil

Bases: pybind11_object

Optimizable that represents a coil, consisting of a curve and a current.

property current

Get the underlying current.

property curve

Get the underlying curve.

class simsoptpp.Current

Bases: CurrentBase

Simple class that wraps around a single double representing a coil current.

get_dofs(self: simsoptpp.Current) numpy.ndarray[numpy.float64]

Get the current.

get_value(self: simsoptpp.Current) float

Get the current.

set_dofs(self: simsoptpp.Current, arg0: numpy.ndarray[numpy.float64]) None

Set the current.

class simsoptpp.CurrentBase

Bases: pybind11_object

get_value(self: simsoptpp.CurrentBase) float

Get the current.

class simsoptpp.Curve

Bases: pybind11_object

dgamma_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp_impl(self: simsoptpp.Curve, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
dgammadash_by_dcoeff_vjp_impl(self: simsoptpp.Curve, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadashdash_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
dgammadashdash_by_dcoeff_vjp_impl(self: simsoptpp.Curve, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadashdashdash_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
dgammadashdashdash_by_dcoeff_vjp_impl(self: simsoptpp.Curve, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dincremental_arclength_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
dkappa_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
dtorsion_by_dcoeff(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
gamma(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.Curve, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) None
gammadash(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
gammadashdash(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
gammadashdashdash(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
get_dofs(self: simsoptpp.Curve) List[float]
incremental_arclength(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
invalidate_cache(self: simsoptpp.Curve) None
kappa(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
least_squares_fit(self: simsoptpp.Curve, arg0: numpy.ndarray[numpy.float64]) None
num_dofs(self: simsoptpp.Curve) int
property quadpoints
set_dofs(self: simsoptpp.Curve, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.Curve, arg0: List[float]) None
torsion(self: simsoptpp.Curve) numpy.ndarray[numpy.float64]
class simsoptpp.CurveRZFourier

Bases: Curve

dgamma_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp_impl(self: simsoptpp.CurveRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
dgammadash_by_dcoeff_vjp_impl(self: simsoptpp.CurveRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadashdash_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
dgammadashdash_by_dcoeff_vjp_impl(self: simsoptpp.CurveRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadashdashdash_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
dgammadashdashdash_by_dcoeff_vjp_impl(self: simsoptpp.CurveRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dincremental_arclength_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
dkappa_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
dtorsion_by_dcoeff(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
gamma(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.CurveRZFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) None
gammadash(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
gammadashdash(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
gammadashdashdash(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
get_dofs(self: simsoptpp.CurveRZFourier) List[float]
incremental_arclength(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
invalidate_cache(self: simsoptpp.CurveRZFourier) None
kappa(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
least_squares_fit(self: simsoptpp.CurveRZFourier, arg0: numpy.ndarray[numpy.float64]) None
property nfp
num_dofs(self: simsoptpp.CurveRZFourier) int
property order
property quadpoints
property rc
property rs
set_dofs(self: simsoptpp.CurveRZFourier, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.CurveRZFourier, arg0: List[float]) None
property stellsym
torsion(self: simsoptpp.CurveRZFourier) numpy.ndarray[numpy.float64]
property zc
property zs
class simsoptpp.CurveXYZFourier

Bases: Curve

dgamma_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp_impl(self: simsoptpp.CurveXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
dgammadash_by_dcoeff_vjp_impl(self: simsoptpp.CurveXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadashdash_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
dgammadashdash_by_dcoeff_vjp_impl(self: simsoptpp.CurveXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadashdashdash_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
dgammadashdashdash_by_dcoeff_vjp_impl(self: simsoptpp.CurveXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dincremental_arclength_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
dkappa_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
property dofs
dtorsion_by_dcoeff(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
gamma(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.CurveXYZFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) None
gammadash(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
gammadashdash(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
gammadashdashdash(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
get_dofs(self: simsoptpp.CurveXYZFourier) List[float]
incremental_arclength(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
invalidate_cache(self: simsoptpp.CurveXYZFourier) None
kappa(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
least_squares_fit(self: simsoptpp.CurveXYZFourier, arg0: numpy.ndarray[numpy.float64]) None
num_dofs(self: simsoptpp.CurveXYZFourier) int
property order
property quadpoints
set_dofs(self: simsoptpp.CurveXYZFourier, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.CurveXYZFourier, arg0: List[float]) None
torsion(self: simsoptpp.CurveXYZFourier) numpy.ndarray[numpy.float64]
simsoptpp.DommaschkB(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.DommaschkdB(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
class simsoptpp.InterpolatedBoozerField

Bases: BoozerMagneticField

estimate_error_G(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_I(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_K(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_R(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_Z(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_iota(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_modB(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
estimate_error_nu(self: simsoptpp.InterpolatedBoozerField, arg0: int) Tuple[float, float]
property rule
property s_range
property theta_range
property zeta_range
class simsoptpp.InterpolatedField

Bases: MagneticField

estimate_error_B(self: simsoptpp.InterpolatedField, arg0: int) Tuple[float, float]
estimate_error_GradAbsB(self: simsoptpp.InterpolatedField, arg0: int) Tuple[float, float]
property phi_range
property r_range
property rule
property z_range
class simsoptpp.InterpolationRule

Bases: pybind11_object

Abstract class for interpolation rules on an interval.

property degree

The degree of the polynomial. The number of interpolation points in degree+1.

class simsoptpp.IterationStoppingCriterion

Bases: StoppingCriterion

class simsoptpp.LevelsetStoppingCriterion

Bases: StoppingCriterion

class simsoptpp.MagneticField

Bases: pybind11_object

Abstract class representing magnetic fields.

A(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing the magnetic potential (in cartesian coordinates). Denoting the indices by i and l, the result contains A_l(x_i).

A_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As A, but returns a reference to the array (this array should be read only).

AbsB(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 1) array containing the absolute value of the magnetic field (in cartesian coordinates).

AbsB_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As AbsB, but returns a reference to the array (this array should be read only).

B(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing the magnetic field (in cartesian coordinates). Denoting the indices by i and l, the result contains B_l(x_i).

B_cyl(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Return a (npoints, 3) array containing the magnetic field (in cylindrical coordinates) (the order is \((B_r, B_\phi, B_z)\)).

B_cyl_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As B_cyl, but returns a reference to the array (this array should be read only).

B_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As B, but returns a reference to the array (this array should be read only).

GradAbsB(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3) array containing the gradient of the absolute value of the magnetic field (in cartesian coordinates).

GradAbsB_cyl(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]
GradAbsB_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As GradAbsB, but returns a reference to the array (this array should be read only).

d2A_by_dXdX(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3) array containing the hessian of the magnetic potential (in cartesian coordinates). Denoting the indices by i, j, k and l, the result contains partial_kpartial_j A_l(x_i).

d2A_by_dXdX_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As d2A_by_dXdX, but returns a reference to the array (this array should be read only).

d2B_by_dXdX(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3, 3) array containing the hessian of magnetic field (in cartesian coordinates). Denoting the indices by i, j, k and l, the result contains partial_kpartial_j B_l(x_i).

d2B_by_dXdX_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As d2B_by_dXdX, but returns a reference to the array (this array should be read only).

dA_by_dX(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3) array containing the gradient of the magnetic potential (in cartesian coordinates). Denoting the indices by i, j and l, the result contains partial_j A_l(x_i).

dA_by_dX_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As dA_by_dX, but returns a reference to the array (this array should be read only).

dB_by_dX(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Returns a (npoints, 3, 3) array containing the gradient of magnetic field (in cartesian coordinates). Denoting the indices by i, j and l, the result contains partial_j B_l(x_i).

dB_by_dX_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As dB_by_dX, but returns a reference to the array (this array should be read only).

get_points_cart(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Get the point where the field should be evaluated in cartesian coordinates.

get_points_cart_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As get_points_cart, but returns a reference to the array (this array should be read only).

get_points_cyl(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

Get the point where the field should be evaluated in cylindrical coordinates (the order is \((r, \phi, z)\)).

get_points_cyl_ref(self: simsoptpp.MagneticField) numpy.ndarray[numpy.float64]

As get_points_cyl, but returns a reference to the array (this array should be read only).

invalidate_cache(self: simsoptpp.MagneticField) None

Clear the cache. Called automatically after each call to set_points[…].

set_points(self: simsoptpp.MagneticField, arg0: numpy.ndarray[numpy.float64]) simsoptpp.MagneticField

Shorthand for set_points_cart.

set_points_cart(self: simsoptpp.MagneticField, arg0: numpy.ndarray[numpy.float64]) simsoptpp.MagneticField

Set the points where to evaluate the magnetic fields, in cartesian coordinates.

set_points_cyl(self: simsoptpp.MagneticField, arg0: numpy.ndarray[numpy.float64]) simsoptpp.MagneticField

Set the points where to evaluate the magnetic fields, in cylindrical coordinates (the order is \((r, \phi, z)\)).

class simsoptpp.MaxToroidalFluxStoppingCriterion

Bases: StoppingCriterion

class simsoptpp.MinToroidalFluxStoppingCriterion

Bases: StoppingCriterion

class simsoptpp.RegularGridInterpolant3D

Bases: pybind11_object

Interpolates a (vector valued) function on a uniform grid. This interpolant is optimized for fast function evaluation (at the cost of memory usage). The main purpose of this class is to be used to interpolate magnetic fields and then use the interpolant for tasks such as fieldline or particle tracing for which the field needs to be evaluated many many times.

evaluate(self: simsoptpp.RegularGridInterpolant3D, arg0: float, arg1: float, arg2: float) List[float]

Evaluate the interpolant at a point.

evaluate_batch(self: simsoptpp.RegularGridInterpolant3D, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) None

Evaluate the interpolant at multiple points (faster than evaluate as it uses prefetching).

interpolate_batch(self: simsoptpp.RegularGridInterpolant3D, arg0: Callable[[List[float], List[float], List[float]], List[float]]) None

Interpolate a function by evaluating the function on all interpolation nodes simultanuously.

simsoptpp.ReimanB(arg0: float, arg1: float, arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: int, arg5: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.ReimandB(arg0: float, arg1: float, arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: int, arg5: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
class simsoptpp.StoppingCriterion

Bases: pybind11_object

class simsoptpp.Surface

Bases: pybind11_object

area(self: simsoptpp.Surface) float
d2area_by_dcoeffdcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
d2normal_by_dcoeffdcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
d2volume_by_dcoeffdcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
darea(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
darea_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dfirst_fund_form_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of first_fund_form wrt the surface coefficients.

dgamma_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff_vjp(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1dash1_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash1 wrt surface coefficients.

dgammadash1dash2_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash2 wrt surface coefficients.

dgammadash2_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dgammadash2_by_dcoeff_vjp(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash2dash2_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash2dash2 wrt surface coefficients.

dnormal_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dnormal_by_dcoeff_vjp(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dsecond_fund_form_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of second_fund_form wrt the surface coefficients.

dsurface_curvatures_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4, ndofs) array containing the derivatives of surface_curvatures wrt the surface coefficients.

dunitnormal_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dvolume(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
dvolume_by_dcoeff(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
extend_via_normal(self: simsoptpp.Surface, arg0: float) None
first_fund_form(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [partial_{phi} Gamma(phi_i, theta_j) cdot partial_{phi} Gamma(phi_i, theta_j), partial_{phi} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j), partial_{theta} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta}.

fit_to_curve(self: simsoptpp.Surface, curve: simsoptpp.Curve, radius: float, flip_theta: bool = False) None
gamma(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gamma_lin(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gammadash1(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
gammadash1dash1(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,phi} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash1dash2(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash2(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
gammadash2dash2(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{theta,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

get_dofs(self: simsoptpp.Surface) List[float]
invalidate_cache(self: simsoptpp.Surface) None
least_squares_fit(self: simsoptpp.Surface, arg0: numpy.ndarray[numpy.float64]) None
normal(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
property quadpoints_phi
property quadpoints_theta
scale(self: simsoptpp.Surface, arg0: float) None
second_fund_form(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [n(phi_i, theta_j) cdot partial^2_{phi,phi} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{phi,theta} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{theta,theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where n is the unit normal.

set_dofs(self: simsoptpp.Surface, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.Surface, arg0: List[float]) None
surface_curvatures(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4) array containing [G(phi_i, theta_j),K(phi_i, theta_j),kappa_1(phi_i, theta_j),kappa_2(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where H is the mean curvature, K is the Gaussian curvature, and kappa_{1,2} are the principal curvatures with kappa_1>kappa_2.

unitnormal(self: simsoptpp.Surface) numpy.ndarray[numpy.float64]
volume(self: simsoptpp.Surface) float
class simsoptpp.SurfaceRZFourier

Bases: pybind11_object

allocate(self: simsoptpp.SurfaceRZFourier) None
area(self: simsoptpp.SurfaceRZFourier) float
d2area_by_dcoeffdcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
d2normal_by_dcoeffdcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
d2volume_by_dcoeffdcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
darea(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
darea_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dfirst_fund_form_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of first_fund_form wrt the surface coefficients.

dgamma_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff_vjp(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1dash1_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash1 wrt surface coefficients.

dgammadash1dash2_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash2 wrt surface coefficients.

dgammadash2_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dgammadash2_by_dcoeff_vjp(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash2dash2_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash2dash2 wrt surface coefficients.

dnormal_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dnormal_by_dcoeff_vjp(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dsecond_fund_form_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of second_fund_form wrt the surface coefficients.

dsurface_curvatures_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4, ndofs) array containing the derivatives of surface_curvatures wrt the surface coefficients.

dunitnormal_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dvolume(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
dvolume_by_dcoeff(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
extend_via_normal(self: simsoptpp.SurfaceRZFourier, arg0: float) None
first_fund_form(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [partial_{phi} Gamma(phi_i, theta_j) cdot partial_{phi} Gamma(phi_i, theta_j), partial_{phi} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j), partial_{theta} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta}.

fit_to_curve(self: simsoptpp.SurfaceRZFourier, curve: simsoptpp.Curve, radius: float, flip_theta: bool = False) None
gamma(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gamma_lin(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gammadash1(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
gammadash1dash1(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,phi} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash1dash2(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash2(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
gammadash2dash2(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{theta,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

get_dofs(self: simsoptpp.SurfaceRZFourier) List[float]
invalidate_cache(self: simsoptpp.SurfaceRZFourier) None
least_squares_fit(self: simsoptpp.SurfaceRZFourier, arg0: numpy.ndarray[numpy.float64]) None
property mpol
property nfp
normal(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
property ntor
property quadpoints_phi
property quadpoints_theta
property rc
property rs
scale(self: simsoptpp.SurfaceRZFourier, arg0: float) None
second_fund_form(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [n(phi_i, theta_j) cdot partial^2_{phi,phi} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{phi,theta} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{theta,theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where n is the unit normal.

set_dofs(self: simsoptpp.SurfaceRZFourier, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.SurfaceRZFourier, arg0: List[float]) None
property stellsym
surface_curvatures(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4) array containing [G(phi_i, theta_j),K(phi_i, theta_j),kappa_1(phi_i, theta_j),kappa_2(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where H is the mean curvature, K is the Gaussian curvature, and kappa_{1,2} are the principal curvatures with kappa_1>kappa_2.

unitnormal(self: simsoptpp.SurfaceRZFourier) numpy.ndarray[numpy.float64]
volume(self: simsoptpp.SurfaceRZFourier) float
property zc
property zs
class simsoptpp.SurfaceXYZFourier

Bases: pybind11_object

area(self: simsoptpp.SurfaceXYZFourier) float
d2area_by_dcoeffdcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
d2normal_by_dcoeffdcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
d2volume_by_dcoeffdcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
darea(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
darea_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dfirst_fund_form_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of first_fund_form wrt the surface coefficients.

dgamma_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1dash1_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash1 wrt surface coefficients.

dgammadash1dash2_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash2 wrt surface coefficients.

dgammadash2_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dgammadash2_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash2dash2_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash2dash2 wrt surface coefficients.

dnormal_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dnormal_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dsecond_fund_form_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of second_fund_form wrt the surface coefficients.

dsurface_curvatures_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4, ndofs) array containing the derivatives of surface_curvatures wrt the surface coefficients.

dunitnormal_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dvolume(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
dvolume_by_dcoeff(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
extend_via_normal(self: simsoptpp.SurfaceXYZFourier, arg0: float) None
first_fund_form(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [partial_{phi} Gamma(phi_i, theta_j) cdot partial_{phi} Gamma(phi_i, theta_j), partial_{phi} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j), partial_{theta} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta}.

fit_to_curve(self: simsoptpp.SurfaceXYZFourier, curve: simsoptpp.Curve, radius: float, flip_theta: bool = False) None
gamma(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gamma_lin(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gammadash1(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
gammadash1dash1(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,phi} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash1dash2(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash2(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
gammadash2dash2(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{theta,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

get_dofs(self: simsoptpp.SurfaceXYZFourier) List[float]
invalidate_cache(self: simsoptpp.SurfaceXYZFourier) None
least_squares_fit(self: simsoptpp.SurfaceXYZFourier, arg0: numpy.ndarray[numpy.float64]) None
property mpol
property nfp
normal(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
property ntor
property quadpoints_phi
property quadpoints_theta
scale(self: simsoptpp.SurfaceXYZFourier, arg0: float) None
second_fund_form(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [n(phi_i, theta_j) cdot partial^2_{phi,phi} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{phi,theta} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{theta,theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where n is the unit normal.

set_dofs(self: simsoptpp.SurfaceXYZFourier, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.SurfaceXYZFourier, arg0: List[float]) None
property stellsym
surface_curvatures(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4) array containing [G(phi_i, theta_j),K(phi_i, theta_j),kappa_1(phi_i, theta_j),kappa_2(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where H is the mean curvature, K is the Gaussian curvature, and kappa_{1,2} are the principal curvatures with kappa_1>kappa_2.

unitnormal(self: simsoptpp.SurfaceXYZFourier) numpy.ndarray[numpy.float64]
volume(self: simsoptpp.SurfaceXYZFourier) float
property xc
property xs
property yc
property ys
property zc
property zs
class simsoptpp.SurfaceXYZTensorFourier

Bases: pybind11_object

area(self: simsoptpp.SurfaceXYZTensorFourier) float
property clamped_dims
d2area_by_dcoeffdcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
d2normal_by_dcoeffdcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
d2volume_by_dcoeffdcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
darea(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
darea_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dfirst_fund_form_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of first_fund_form wrt the surface coefficients.

dgamma_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dgamma_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dgammadash1_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash1dash1_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash1 wrt surface coefficients.

dgammadash1dash2_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash1dash2 wrt surface coefficients.

dgammadash2_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dgammadash2_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dgammadash2dash2_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing derivatives of gammadash2dash2 wrt surface coefficients.

dnormal_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dnormal_by_dcoeff_vjp(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
dsecond_fund_form_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3, ndofs) array containing the derivatives of second_fund_form wrt the surface coefficients.

dsurface_curvatures_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4, ndofs) array containing the derivatives of surface_curvatures wrt the surface coefficients.

dunitnormal_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dvolume(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
dvolume_by_dcoeff(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
extend_via_normal(self: simsoptpp.SurfaceXYZTensorFourier, arg0: float) None
first_fund_form(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [partial_{phi} Gamma(phi_i, theta_j) cdot partial_{phi} Gamma(phi_i, theta_j), partial_{phi} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j), partial_{theta} Gamma(phi_i, theta_j) cdot partial_{theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta}.

fit_to_curve(self: simsoptpp.SurfaceXYZTensorFourier, curve: simsoptpp.Curve, radius: float, flip_theta: bool = False) None
gamma(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
gamma_impl(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gamma_lin(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) None
gammadash1(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
gammadash1dash1(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,phi} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash1dash2(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{phi,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

gammadash2(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
gammadash2dash2(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing partial^2_{theta,theta} Gamma(phi_i, theta_j) for i in {1, …, n_phi}, j in{1, …, n_theta}

get_dofs(self: simsoptpp.SurfaceXYZTensorFourier) List[float]
invalidate_cache(self: simsoptpp.SurfaceXYZTensorFourier) None
least_squares_fit(self: simsoptpp.SurfaceXYZTensorFourier, arg0: numpy.ndarray[numpy.float64]) None
property mpol
property nfp
normal(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
property ntor
property quadpoints_phi
property quadpoints_theta
scale(self: simsoptpp.SurfaceXYZTensorFourier, arg0: float) None
second_fund_form(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 3) array containing [n(phi_i, theta_j) cdot partial^2_{phi,phi} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{phi,theta} Gamma(phi_i, theta_j), n(phi_i, theta_j) cdot partial^2_{theta,theta} Gamma(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where n is the unit normal.

set_dofs(self: simsoptpp.SurfaceXYZTensorFourier, arg0: List[float]) None
set_dofs_impl(self: simsoptpp.SurfaceXYZTensorFourier, arg0: List[float]) None
property stellsym
surface_curvatures(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]

Returns a (n_phi, n_theta, 4) array containing [G(phi_i, theta_j),K(phi_i, theta_j),kappa_1(phi_i, theta_j),kappa_2(phi_i, theta_j)] for i in {1, …, n_phi}, j in {1, …, n_theta} where H is the mean curvature, K is the Gaussian curvature, and kappa_{1,2} are the principal curvatures with kappa_1>kappa_2.

unitnormal(self: simsoptpp.SurfaceXYZTensorFourier) numpy.ndarray[numpy.float64]
volume(self: simsoptpp.SurfaceXYZTensorFourier) float
property xcs
property ycs
property zcs
class simsoptpp.ToroidalTransitStoppingCriterion

Bases: StoppingCriterion

class simsoptpp.UniformInterpolationRule

Bases: InterpolationRule

Polynomial interpolation using equispaced points.

property degree

The degree of the polynomial. The number of interpolation points in degree+1.

simsoptpp.biot_savart(arg0: numpy.ndarray[numpy.float64], arg1: List[numpy.ndarray[numpy.float64]], arg2: List[numpy.ndarray[numpy.float64]], arg3: List[numpy.ndarray[numpy.float64]], arg4: List[numpy.ndarray[numpy.float64]], arg5: List[numpy.ndarray[numpy.float64]]) None
simsoptpp.biot_savart_B(arg0: numpy.ndarray[numpy.float64], arg1: List[numpy.ndarray[numpy.float64]], arg2: List[numpy.ndarray[numpy.float64]], arg3: List[float]) numpy.ndarray[numpy.float64]
simsoptpp.biot_savart_vector_potential_vjp_graph(arg0: numpy.ndarray[numpy.float64], arg1: List[numpy.ndarray[numpy.float64]], arg2: List[numpy.ndarray[numpy.float64]], arg3: List[float], arg4: numpy.ndarray[numpy.float64], arg5: List[numpy.ndarray[numpy.float64]], arg6: List[numpy.ndarray[numpy.float64]], arg7: numpy.ndarray[numpy.float64], arg8: List[numpy.ndarray[numpy.float64]], arg9: List[numpy.ndarray[numpy.float64]]) None
simsoptpp.biot_savart_vjp(arg0: numpy.ndarray[numpy.float64], arg1: List[numpy.ndarray[numpy.float64]], arg2: List[numpy.ndarray[numpy.float64]], arg3: List[float], arg4: numpy.ndarray[numpy.float64], arg5: numpy.ndarray[numpy.float64], arg6: List[numpy.ndarray[numpy.float64]], arg7: List[numpy.ndarray[numpy.float64]], arg8: List[numpy.ndarray[numpy.float64]], arg9: List[numpy.ndarray[numpy.float64]]) None
simsoptpp.biot_savart_vjp_graph(arg0: numpy.ndarray[numpy.float64], arg1: List[numpy.ndarray[numpy.float64]], arg2: List[numpy.ndarray[numpy.float64]], arg3: List[float], arg4: numpy.ndarray[numpy.float64], arg5: List[numpy.ndarray[numpy.float64]], arg6: List[numpy.ndarray[numpy.float64]], arg7: numpy.ndarray[numpy.float64], arg8: List[numpy.ndarray[numpy.float64]], arg9: List[numpy.ndarray[numpy.float64]]) None
simsoptpp.boozer_dresidual_dc(arg0: float, arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64], arg5: numpy.ndarray[numpy.float64], arg6: float, arg7: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.compute_kmnc_kmns(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64], arg5: numpy.ndarray[numpy.float64], arg6: numpy.ndarray[numpy.float64], arg7: numpy.ndarray[numpy.float64], arg8: numpy.ndarray[numpy.float64], arg9: numpy.ndarray[numpy.float64], arg10: numpy.ndarray[numpy.float64], arg11: numpy.ndarray[numpy.float64], arg12: numpy.ndarray[numpy.float64], arg13: numpy.ndarray[numpy.float64], arg14: numpy.ndarray[numpy.float64], arg15: numpy.ndarray[numpy.float64], arg16: numpy.ndarray[numpy.float64], arg17: numpy.ndarray[numpy.float64], arg18: numpy.ndarray[numpy.float64], arg19: numpy.ndarray[numpy.float64], arg20: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.compute_kmns(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64], arg5: numpy.ndarray[numpy.float64], arg6: numpy.ndarray[numpy.float64], arg7: numpy.ndarray[numpy.float64], arg8: numpy.ndarray[numpy.float64], arg9: numpy.ndarray[numpy.float64], arg10: numpy.ndarray[numpy.float64], arg11: numpy.ndarray[numpy.float64], arg12: numpy.ndarray[numpy.float64], arg13: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.fieldline_tracing(field: simsoptpp.MagneticField, xyz_init: List[float[3]], tmax: float, tol: float, phis: List[float] = [], stopping_criteria: List[simsoptpp.StoppingCriterion] = []) Tuple[List[List[float[4]]], List[List[float[5]]]]
simsoptpp.fourier_transform_even(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.fourier_transform_odd(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.get_phi(arg0: float, arg1: float, arg2: float) float
simsoptpp.get_pointclouds_closer_than_threshold_between_two_collections(pointCloudsA: List[numpy.ndarray[numpy.float64]], pointCloudsB: List[numpy.ndarray[numpy.float64]], threshold: float) List[Tuple[int, int]]

Between two lists of pointclouds, get all pairings that are closer than threshold to each other.

simsoptpp.get_pointclouds_closer_than_threshold_within_collection(pointClouds: List[numpy.ndarray[numpy.float64]], threshold: float, num_base_curves: int) List[Tuple[int, int]]

In a list of point clouds, get all pairings that are closer than threshold to each other.

simsoptpp.integral_BdotN(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64]) float
simsoptpp.inverse_fourier_transform_even(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64], arg5: numpy.ndarray[numpy.float64]) None
simsoptpp.inverse_fourier_transform_odd(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64], arg2: numpy.ndarray[numpy.float64], arg3: numpy.ndarray[numpy.float64], arg4: numpy.ndarray[numpy.float64], arg5: numpy.ndarray[numpy.float64]) None
simsoptpp.matmult(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]
simsoptpp.particle_fullorbit_tracing(field: simsoptpp.MagneticField, xyz_init: List[float[3]], v_init: List[float[3]], m: float, q: float, tmax: float, tol: float, phis: List[float] = [], stopping_criteria: List[simsoptpp.StoppingCriterion] = []) Tuple[List[List[float[7]]], List[List[float[8]]]]
simsoptpp.particle_guiding_center_boozer_tracing(field: simsoptpp.BoozerMagneticField, stz_init: List[float[3]], m: float, q: float, vtotal: float, vtang: float, tmax: float, tol: float, vacuum: bool, noK: bool, zetas: List[float] = [], stopping_criteria: List[simsoptpp.StoppingCriterion] = []) Tuple[List[List[float[5]]], List[List[float[6]]]]
simsoptpp.particle_guiding_center_tracing(field: simsoptpp.MagneticField, xyz_init: List[float[3]], m: float, q: float, vtotal: float, vtang: float, tmax: float, tol: float, vacuum: bool, phis: List[float] = [], stopping_criteria: List[simsoptpp.StoppingCriterion] = []) Tuple[List[List[float[5]]], List[List[float[6]]]]
simsoptpp.vjp(arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]