bluemira.equilibria.optimisation.problem._breakdown

Classes

BreakdownZoneStrategy

Abstract base class for the definition of a breakdown zone strategy.

CircularZoneStrategy

Circular breakdown zone strategy.

InboardBreakdownZoneStrategy

Inboard breakdown zone strategy.

OutboardBreakdownZoneStrategy

Outboard breakdown zone strategy.

InputBreakdownZoneStrategy

User input breakdown zone strategy.

BreakdownCOP

Coilset optimisation problem for the premagnetisation / breakdown phase.

Module Contents

class bluemira.equilibria.optimisation.problem._breakdown.BreakdownZoneStrategy(R_0, A, tk_sol, **kwargs)

Bases: abc.ABC

Inheritance diagram of bluemira.equilibria.optimisation.problem._breakdown.BreakdownZoneStrategy

Abstract base class for the definition of a breakdown zone strategy.

Parameters:
  • R_0 – Major radius of the reference plasma

  • A – Aspect ratio of the reference plasma

  • tk_sol – Thickness of the scrape-off layer

R_0
A
tk_sol
property breakdown_point: tuple[float, float]
Abstractmethod:

Return type:

tuple[float, float]

The location of the breakdown point.

Returns:

  • x_c – Radial coordinate of the breakdown point

  • z_c – Vertical coordinate of the breakdown point

Return type:

tuple[float, float]

property breakdown_radius: float
Abstractmethod:

Return type:

float

The radius of the breakdown zone.

abstract calculate_zone_points(n_points: int) tuple[numpy.ndarray, numpy.ndarray]

Calculate the discretised set of points representing the breakdown zone.

Parameters:

n_points (int)

Return type:

tuple[numpy.ndarray, numpy.ndarray]

class bluemira.equilibria.optimisation.problem._breakdown.CircularZoneStrategy(R_0, A, tk_sol, **kwargs)

Bases: BreakdownZoneStrategy

Inheritance diagram of bluemira.equilibria.optimisation.problem._breakdown.CircularZoneStrategy

Circular breakdown zone strategy.

calculate_zone_points(n_points: int) tuple[numpy.ndarray, numpy.ndarray]

Calculate the discretised set of points representing the breakdown zone.

Returns:

  • x – The x coordinates of the zone

  • z – The z coordinates of the zone

Parameters:

n_points (int)

Return type:

tuple[numpy.ndarray, numpy.ndarray]

class bluemira.equilibria.optimisation.problem._breakdown.InboardBreakdownZoneStrategy(R_0, A, tk_sol, **kwargs)

Bases: CircularZoneStrategy

Inheritance diagram of bluemira.equilibria.optimisation.problem._breakdown.InboardBreakdownZoneStrategy

Inboard breakdown zone strategy.

property breakdown_point: tuple[float, float]

The location of the breakdown point.

Returns:

  • x_c – Radial coordinate of the breakdown point

  • z_c – Vertical coordinate of the breakdown point

Return type:

tuple[float, float]

property breakdown_radius: float

The radius of the breakdown zone.

Return type:

float

class bluemira.equilibria.optimisation.problem._breakdown.OutboardBreakdownZoneStrategy(R_0, A, tk_sol, **kwargs)

Bases: CircularZoneStrategy

Inheritance diagram of bluemira.equilibria.optimisation.problem._breakdown.OutboardBreakdownZoneStrategy

Outboard breakdown zone strategy.

property breakdown_point: tuple[float, float]

The location of the breakdown point.

Returns:

  • x_c – Radial coordinate of the breakdown point

  • z_c – Vertical coordinate of the breakdown point

Return type:

tuple[float, float]

property breakdown_radius: float

The radius of the breakdown zone.

Return type:

float

class bluemira.equilibria.optimisation.problem._breakdown.InputBreakdownZoneStrategy(x_c, z_c, r_c)

Bases: CircularZoneStrategy

Inheritance diagram of bluemira.equilibria.optimisation.problem._breakdown.InputBreakdownZoneStrategy

User input breakdown zone strategy.

x_c
z_c
r_c
property breakdown_point: tuple[float, float]

The location of the breakdown point.

Returns:

  • x_c – Radial coordinate of the breakdown point

  • z_c – Vertical coordinate of the breakdown point

Return type:

tuple[float, float]

property breakdown_radius: float

The radius of the breakdown zone.

Return type:

float

class bluemira.equilibria.optimisation.problem._breakdown.BreakdownCOP(breakdown: bluemira.equilibria.equilibrium.Breakdown, breakdown_strategy: BreakdownZoneStrategy, B_stray_max: float, B_stray_con_tol: float, n_B_stray_points: int, max_currents: numpy.typing.ArrayLike | None = None, opt_algorithm: bluemira.optimisation.AlgorithmType = Algorithm.SLSQP, opt_conditions: dict[str, float | int] | None = None, constraints: list[bluemira.equilibria.optimisation.constraints.UpdateableConstraint] | None = None)

Bases: bluemira.equilibria.optimisation.problem.base.EqCoilsetOptimisationProblem

Inheritance diagram of bluemira.equilibria.optimisation.problem._breakdown.BreakdownCOP

Coilset optimisation problem for the premagnetisation / breakdown phase.

Parameters:
_args
optimise(x0=None, *, fixed_coils: bool = True, keep_history: bool = False, check_constraints: bool = False, verbose: bool = False)

Solve the optimisation problem.

Parameters:
  • fixed_coils (bool)

  • keep_history (bool)

  • check_constraints (bool)

  • verbose (bool)