bluemira.equilibria.plotting ============================ .. py:module:: bluemira.equilibria.plotting .. autoapi-nested-parse:: Plot utilities for equilibria Classes ------- .. autoapisummary:: bluemira.equilibria.plotting.GridPlotter bluemira.equilibria.plotting.ConstraintPlotter bluemira.equilibria.plotting.LimiterPlotter bluemira.equilibria.plotting.CoilGroupPlotter bluemira.equilibria.plotting.PlasmaCoilPlotter bluemira.equilibria.plotting.EquilibriumPlotter bluemira.equilibria.plotting.BreakdownPlotter bluemira.equilibria.plotting.XZLPlotter bluemira.equilibria.plotting.RegionPlotter Module Contents --------------- .. py:class:: GridPlotter(grid: bluemira.equilibria.grid.Grid, ax=None, *, plot_type: bluemira.equilibria.diagnostics.GridPlotType = GridPlotType.GRID, **kwargs) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.GridPlotter :parts: 1 :private-bases: Utility class for plotting Grid objects .. py:attribute:: grid .. py:method:: plot_grid(**kwargs) Plots the gridlines of the grid .. py:method:: plot_edge(**kwargs) Plots a thicker boundary edge for the grid .. py:class:: ConstraintPlotter(constraint_set, ax=None) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.ConstraintPlotter :parts: 1 :private-bases: Utility class for Constraint plotting. .. py:attribute:: constraint_set .. py:class:: LimiterPlotter(limiter, ax=None, **kwargs) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.LimiterPlotter :parts: 1 :private-bases: Utility class for plotting Limiter objects .. py:attribute:: limiter .. py:method:: plot_limiter(**kwargs) Plot the limiter onto the Axes. .. py:class:: CoilGroupPlotter(coil, ax=None, *, subcoil=True, label=False, force=None, **kwargs) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.CoilGroupPlotter :parts: 1 :private-bases: Utility class for plotting individual Coils (for checking / testing only) :param coil: The Coil to be plotted :type coil: CoilGroup :param ax: The ax on which to plot the Coil. (plt.gca() default) :type ax: Matplotlib axis object :param subcoil: Whether or not to plot the Coil subcoils :type subcoil: bool :param label: Whether or not to plot labels on the coils :type label: bool :param force: Whether to plot force vectors, and if so the array of force vectors :type force: None or np.array((1, 2)) .. py:attribute:: _cg .. py:attribute:: colors .. py:attribute:: linewidth .. py:attribute:: edgecolor .. py:method:: plot_coil(subcoil, *, label=False, force=None, **kwargs) Plot a coil onto the Axes. .. py:method:: _plotting_array_shaping() Shape arrays to account for single coils or groups of coils .. py:method:: _get_centre() :returns: A "centre" position for the coils to arrange the labels. .. py:method:: _annotate_coil(x, z, dx, name, current, ctype, force=None, centre=None) Single coil annotation utility function .. py:method:: _plot_coil(x_boundary, z_boundary, ctype, *, fill=True, **kwargs) Single coil plot utility .. py:class:: PlasmaCoilPlotter(plasma_coil, ax=None, **kwargs) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.PlasmaCoilPlotter :parts: 1 :private-bases: Utility class for plotting PlasmaCoils :param plasma_coil: The PlasmaCoil to be plotted :type plasma_coil: PlasmaCoil :param ax: The ax on which to plot the PlasmaCoil. (plt.gca() default) :type ax: Matplotlib axis object .. py:attribute:: plasma_coil .. py:class:: EquilibriumPlotter(equilibrium: bluemira.equilibria.equilibrium.Equilibrium, ax=None, *, plasma=False, show_ox=True, field: bluemira.equilibria.diagnostics.EqBPlotParam = EqBPlotParam.PSI) Bases: :py:obj:`EquilibriumPlotterMixin`, :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.EquilibriumPlotter :parts: 1 :private-bases: Utility class for Equilibrium plotting .. py:attribute:: eq :type: bluemira.equilibria.equilibrium.Equilibrium .. py:attribute:: psi .. py:method:: plot_flux_surface(psi_norm, color='k') Plots a normalised flux surface relative to the separatrix with increasing values going outwards from plasma core. .. py:method:: plot_separatrix() Plot the separatrix. .. py:method:: plot_X_points() Plot X-points. .. py:method:: plot_O_points() Plot O-points. .. py:method:: plot_plasma_coil() Plot the plasma coil. .. py:class:: BreakdownPlotter(breakdown, ax=None, *, Bp=False, B_breakdown=0.003) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.BreakdownPlotter :parts: 1 :private-bases: Utility class for Breakdown plotting .. py:attribute:: bd .. py:attribute:: psi .. py:attribute:: psi_bd .. py:attribute:: Bp .. py:method:: plot_contour() Plot flux surfaces. .. py:method:: plot_Bp(**kwargs) Plots the poloidal field onto the Axes. .. py:method:: plot_zone(field) Plot the low field zones with a dashed line. .. py:class:: XZLPlotter(xzl_mapper, ax=None) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.XZLPlotter :parts: 1 :private-bases: Utility class for plotting L constraints .. py:attribute:: xzl .. py:class:: RegionPlotter(region_mapper, ax=None) Bases: :py:obj:`Plotter` .. autoapi-inheritance-diagram:: bluemira.equilibria.plotting.RegionPlotter :parts: 1 :private-bases: Utility class for plotting 2-D L constraints .. py:attribute:: rmp