bluemira.equilibria.plotting

Plot utilities for equilibria

Classes

GridPlotter

Utility class for plotting Grid objects

ConstraintPlotter

Utility class for Constraint plotting.

LimiterPlotter

Utility class for plotting Limiter objects

CoilGroupPlotter

Utility class for plotting individual Coils (for checking / testing only)

PlasmaCoilPlotter

Utility class for plotting PlasmaCoils

EquilibriumPlotter

Utility class for Equilibrium plotting

BreakdownPlotter

Utility class for Breakdown plotting

XZLPlotter

Utility class for plotting L constraints

RegionPlotter

Utility class for plotting 2-D L constraints

Module Contents

class bluemira.equilibria.plotting.GridPlotter(grid: bluemira.equilibria.grid.Grid, ax=None, *, plot_type: bluemira.equilibria.diagnostics.GridPlotType = GridPlotType.GRID, **kwargs)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.GridPlotter

Utility class for plotting Grid objects

Parameters:
grid
plot_grid(**kwargs)

Plots the gridlines of the grid

plot_edge(**kwargs)

Plots a thicker boundary edge for the grid

class bluemira.equilibria.plotting.ConstraintPlotter(constraint_set, ax=None)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.ConstraintPlotter

Utility class for Constraint plotting.

constraint_set
class bluemira.equilibria.plotting.LimiterPlotter(limiter, ax=None, **kwargs)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.LimiterPlotter

Utility class for plotting Limiter objects

limiter
plot_limiter(**kwargs)

Plot the limiter onto the Axes.

class bluemira.equilibria.plotting.CoilGroupPlotter(coil, ax=None, *, subcoil=True, label=False, force=None, **kwargs)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.CoilGroupPlotter

Utility class for plotting individual Coils (for checking / testing only)

Parameters:
  • coil (CoilGroup) – The Coil to be plotted

  • ax (Matplotlib axis object) – The ax on which to plot the Coil. (plt.gca() default)

  • subcoil (bool) – Whether or not to plot the Coil subcoils

  • label (bool) – Whether or not to plot labels on the coils

  • force (None or np.array((1, 2))) – Whether to plot force vectors, and if so the array of force vectors

_cg
colors
linewidth
edgecolor
plot_coil(subcoil, *, label=False, force=None, **kwargs)

Plot a coil onto the Axes.

_plotting_array_shaping()

Shape arrays to account for single coils or groups of coils

_get_centre()
Returns:

A “centre” position for the coils to arrange the labels.

_annotate_coil(x, z, dx, name, current, ctype, force=None, centre=None)

Single coil annotation utility function

_plot_coil(x_boundary, z_boundary, ctype, *, fill=True, **kwargs)

Single coil plot utility

class bluemira.equilibria.plotting.PlasmaCoilPlotter(plasma_coil, ax=None, **kwargs)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.PlasmaCoilPlotter

Utility class for plotting PlasmaCoils

Parameters:
  • plasma_coil (PlasmaCoil) – The PlasmaCoil to be plotted

  • ax (Matplotlib axis object) – The ax on which to plot the PlasmaCoil. (plt.gca() default)

plasma_coil
class bluemira.equilibria.plotting.EquilibriumPlotter(equilibrium: bluemira.equilibria.equilibrium.Equilibrium, ax=None, *, plasma=False, show_ox=True, field: bluemira.equilibria.diagnostics.EqBPlotParam = EqBPlotParam.PSI)

Bases: EquilibriumPlotterMixin, Plotter

Inheritance diagram of bluemira.equilibria.plotting.EquilibriumPlotter

Utility class for Equilibrium plotting

Parameters:
eq: bluemira.equilibria.equilibrium.Equilibrium
psi
plot_flux_surface(psi_norm, color='k')

Plots a normalised flux surface relative to the separatrix with increasing values going outwards from plasma core.

plot_separatrix()

Plot the separatrix.

plot_X_points()

Plot X-points.

plot_O_points()

Plot O-points.

plot_plasma_coil()

Plot the plasma coil.

class bluemira.equilibria.plotting.BreakdownPlotter(breakdown, ax=None, *, Bp=False, B_breakdown=0.003)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.BreakdownPlotter

Utility class for Breakdown plotting

bd
psi
psi_bd
Bp
plot_contour()

Plot flux surfaces.

plot_Bp(**kwargs)

Plots the poloidal field onto the Axes.

plot_zone(field)

Plot the low field zones with a dashed line.

class bluemira.equilibria.plotting.XZLPlotter(xzl_mapper, ax=None)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.XZLPlotter

Utility class for plotting L constraints

xzl
class bluemira.equilibria.plotting.RegionPlotter(region_mapper, ax=None)

Bases: Plotter

Inheritance diagram of bluemira.equilibria.plotting.RegionPlotter

Utility class for plotting 2-D L constraints

rmp