scotty.geometry module#
- class scotty.geometry.CircularCrossSectionField(B_T_axis, R_axis, minor_radius_a, B_p_a, R_points=101, Z_points=101, grid_buffer_factor=1.0)#
Bases:
MagneticFieldSimple circular cross-section magnetic geometry
- Parameters:
B_T_axis (float) – Toroidal magnetic field at the magnetic axis (Tesla)
R_axis (float) – Major radius of the magnetic axis (metres)
minor_radius_a (float) – Minor radius of the last closed flux surface (metres)
B_p_a (float) – Poloidal magnetic field at
minor_radius_a(Tesla)R_points (int)
Z_points (int) – Number of points for sample
(R, Z)gridgrid_buffer_factor (float) – Multiplicative factor to increase size of sample grid by
- B_R(q_R, q_Z)#
- B_T(q_R, q_Z)#
- B_Z(q_R, q_Z)#
- poloidal_flux(q_R, q_Z)#
- class scotty.geometry.ConstantCurrentDensityField(B_T_axis, R_axis, minor_radius_a, B_p_a, R_points=101, Z_points=101, grid_buffer_factor=1)#
Bases:
MagneticFieldCircular cross-section magnetic geometry with constant current density
- Parameters:
B_T_axis (float) – Toroidal magnetic field at the magnetic axis (Tesla)
R_axis (float) – Major radius of the magnetic axis (metres)
minor_radius_a (float) – Minor radius of the last closed flux surface (metres)
B_p_a (float) – Poloidal magnetic field at
minor_radius_a(Tesla)R_points (int)
Z_points (int) – Number of points for sample
(R, Z)gridgrid_buffer_factor (float) – Multiplicative factor to increase size of sample grid by
- B_R(q_R, q_Z)#
- B_T(q_R, q_Z)#
- B_Z(q_R, q_Z)#
- poloidal_flux(q_R, q_Z)#
- class scotty.geometry.CurvySlabField(B_T_axis, R_axis)#
Bases:
MagneticFieldAnalytical curvy slab geometry
- B_R(q_R, q_Z)#
- B_T(q_R, q_Z)#
- class scotty.geometry.EFITField(R_grid, Z_grid, rBphi, psi_norm_2D, psi_unnorm_axis, psi_unnorm_boundary, psi_norm_1D=None, delta_R=0.0001, delta_Z=0.0001, interp_order=5, interp_smoothing=0)#
Bases:
InterpolatedField- Parameters:
- B_R(q_R, q_Z)#
- B_T(q_R, q_Z)#
- B_Z(q_R, q_Z)#
- classmethod from_EFITpp(filename, equil_time, delta_R, delta_Z, interp_order, interp_smoothing)#
- classmethod from_MAST_U_saved(filename, equil_time, delta_R, delta_Z, interp_order, interp_smoothing)#
- class scotty.geometry.InterpolatedField(R_grid, Z_grid, B_R, B_T, B_Z, psi, interp_order=5, interp_smoothing=0)#
Bases:
MagneticFieldInterpolated numerical equilibrium using bivariate splines
- Parameters:
R_grid (FloatArray) – 1D array of points in
R(metres)Z_grid (FloatArray) – 1D array of points in
Z(metres)B_R (FloatArray) – 2D
(R, Z)grid of radial magnetic field values (Tesla)B_T (FloatArray) – 2D
(R, Z)grid of toroidal magnetic field values (Tesla)B_Z (FloatArray) – 2D
(R, Z)grid of vertical magnetic field values (Tesla)psi (FloatArray) – 2D
(R, Z)grid of poloidal flux values (Weber/radian)interp_order (int) – Order of interpolating splines
interp_smoothing (int) – Smoothing factor for interpolating splines
- B_R(q_R, q_Z)#
- B_T(q_R, q_Z)#
- B_Z(q_R, q_Z)#
- d2_poloidal_flux_dR2(q_R, q_Z, delta_R)#
- d2_poloidal_flux_dRdZ(q_R, q_Z, delta_R, delta_Z)#
- d2_poloidal_flux_dZ2(q_R, q_Z, delta_R)#
- d_poloidal_flux_dR(q_R, q_Z, delta_R)#
- d_poloidal_flux_dZ(q_R, q_Z, delta_R)#
- class scotty.geometry.MagneticField#
Bases:
ABCAbstract base class for magnetic field geometries
- B_R(q_R, q_Z)#
- B_T(q_R, q_Z)#
- B_Z(q_R, q_Z)#
- d2_poloidal_flux_dR2(q_R, q_Z, delta_R)#
- d2_poloidal_flux_dRdZ(q_R, q_Z, delta_R, delta_Z)#
- d2_poloidal_flux_dZ2(q_R, q_Z, delta_Z)#
- d_poloidal_flux_dR(q_R, q_Z, delta_R)#
- d_poloidal_flux_dZ(q_R, q_Z, delta_Z)#
- magnitude(q_R, q_Z)#
Returns \(|B|\), the magnitude of the magnetic field
- poloidalFlux_grid: ndarray[tuple[int, ...], dtype[float64]]#
Value of the poloidal magnetic flux, \(\psi\), on
(R_coord, Z_coord)
- poloidal_flux(q_R, q_Z)#