bluemira.equilibria.optimisation.problem._breakdown
Classes
Abstract base class for the definition of a breakdown zone strategy. |
|
Circular breakdown zone strategy. |
|
Inboard breakdown zone strategy. |
|
Outboard breakdown zone strategy. |
|
User input breakdown zone strategy. |
|
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.ABCAbstract 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:
BreakdownZoneStrategyCircular 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:
CircularZoneStrategyInboard 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:
CircularZoneStrategyOutboard 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:
CircularZoneStrategyUser 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.EqCoilsetOptimisationProblemCoilset optimisation problem for the premagnetisation / breakdown phase.
- Parameters:
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)
opt_algorithm (bluemira.optimisation.AlgorithmType)
opt_conditions (dict[str, float | int] | None)
constraints (list[bluemira.equilibria.optimisation.constraints.UpdateableConstraint] | None)
- _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)