pyna.toroidal.optimize.objectives#

pyna.toroidal.optimize.objectives — toroidal / stellarator optimisation objectives.

Toroidal ownership for scalar objective functions used in multi-objective stellarator optimisation.

Functions#

neoclassical_epsilon_eff(→ float)

Estimate effective ripple ε_eff (proxy for neoclassical transport).

xpoint_field_parallelism(→ float)

Measure field-line parallelism near X-points (for power exhaust).

magnetic_axis_position(→ Tuple[float, float])

Return (R_axis, Z_axis) of the magnetic axis.

wall_clearance(→ float)

Minimum distance from the LCFS to the first wall in the (R, Z) plane.

compute_all_objectives(→ Dict[str, float])

Compute all available physics objectives and return them as a dict.

Module Contents#

pyna.toroidal.optimize.objectives.neoclassical_epsilon_eff(equilibrium, n_field_lines: int = 50, n_transits: int = 100) float[source]#

Estimate effective ripple ε_eff (proxy for neoclassical transport).

pyna.toroidal.optimize.objectives.xpoint_field_parallelism(equilibrium, x_points: List[Tuple[float, float]], n_fieldlines: int = 20, n_transits: int = 30) float[source]#

Measure field-line parallelism near X-points (for power exhaust).

pyna.toroidal.optimize.objectives.magnetic_axis_position(equilibrium) Tuple[float, float][source]#

Return (R_axis, Z_axis) of the magnetic axis.

pyna.toroidal.optimize.objectives.wall_clearance(equilibrium, wall_R: numpy.ndarray, wall_Z: numpy.ndarray) float[source]#

Minimum distance from the LCFS to the first wall in the (R, Z) plane.

pyna.toroidal.optimize.objectives.compute_all_objectives(equilibrium, wall_R: numpy.ndarray | None = None, wall_Z: numpy.ndarray | None = None, x_points: List[Tuple[float, float]] | None = None) Dict[str, float][source]#

Compute all available physics objectives and return them as a dict.