bluemira.builders.coil_supports
Coil support builders
Classes
ITER-like gravity support parameters |
|
ITER-like gravity support builder |
|
PF coil support parameters |
|
PF coil support builder |
|
Optimisation problem for a straight outer inter-coil structure |
|
Parameters for the StraightOISDesigner |
|
Design a set of straight length outer inter-coil structures. |
|
Outer intercoil structure parameters |
|
Outer intercoil structure builder |
Module Contents
- class bluemira.builders.coil_supports.ITERGravitySupportBuilderParams
Bases:
bluemira.base.parameter_frame.ParameterFrameITER-like gravity support parameters
- x_g_support: bluemira.base.parameter_frame.Parameter[float]
- z_gs: bluemira.base.parameter_frame.Parameter[float]
- tf_wp_width: bluemira.base.parameter_frame.Parameter[float]
- tf_wp_depth: bluemira.base.parameter_frame.Parameter[float]
- tk_tf_side: bluemira.base.parameter_frame.Parameter[float]
- tf_gs_tk_plate: bluemira.base.parameter_frame.Parameter[float]
- tf_gs_g_plate: bluemira.base.parameter_frame.Parameter[float]
- tf_gs_base_depth: bluemira.base.parameter_frame.Parameter[float]
- class bluemira.builders.coil_supports.ITERGravitySupportBuilder(params: bluemira.base.parameter_frame.typed.ParameterFrameLike, build_config: bluemira.base.builder.BuildConfig, tf_xz_keep_out_zone: bluemira.geometry.wire.BluemiraWire)
Bases:
bluemira.base.builder.BuilderITER-like gravity support builder
- Parameters:
params (bluemira.base.parameter_frame.typed.ParameterFrameLike) – Parameters to use
build_config (bluemira.base.builder.BuildConfig) – Build config to use
tf_kz_keep_out_zone – TF coil wire keep-out-zone for the outer edge of the TF coil (including casing) Note that this should be on the y=0 plane.
tf_xz_keep_out_zone (bluemira.geometry.wire.BluemiraWire)
- param_cls: type[ITERGravitySupportBuilderParams]
The class to hold this Builders’s parameters.
- params: ITERGravitySupportBuilderParams
- GS = 'GS'
- tf_xz_keep_out_zone
- build() bluemira.base.components.Component
Build the ITER-like gravity support component.
- Return type:
- static build_xz(xyz_component: bluemira.base.components.PhysicalComponent) bluemira.base.components.PhysicalComponent
Build the x-z component of the ITER-like gravity support.
- Parameters:
xyz_component (bluemira.base.components.PhysicalComponent)
- Return type:
- build_xy()
Build the x-y component of the ITER-like gravity support.
- _get_intersection_wire(width)
- _make_connection_block(width, v1, v4, intersection_wire)
- Returns:
The connection block of the gravity support with the TF coil
- _make_plates(width, v1x, v4x, z_block_lower) list[bluemira.geometry.wire.BluemiraWire]
Make the gravity support vertical plates
- Return type:
- _make_floor_block(v1x, v4x)
- build_xyz() bluemira.base.components.PhysicalComponent
Build the x-y-z component of the ITER-like gravity support.
- Return type:
- class bluemira.builders.coil_supports.PFCoilSupportBuilderParams
Bases:
bluemira.base.parameter_frame.ParameterFramePF coil support parameters
- tf_wp_width: bluemira.base.parameter_frame.Parameter[float]
- tf_wp_depth: bluemira.base.parameter_frame.Parameter[float]
- tk_tf_side: bluemira.base.parameter_frame.Parameter[float]
- pf_s_tk_plate: bluemira.base.parameter_frame.Parameter[float]
- pf_s_n_plate: bluemira.base.parameter_frame.Parameter[int]
- pf_s_g: bluemira.base.parameter_frame.Parameter[float]
- class bluemira.builders.coil_supports.PFCoilSupportBuilder(params: bluemira.base.parameter_frame.typed.ParameterFrameLike, build_config: dict, tf_xz_keep_out_zone: bluemira.geometry.wire.BluemiraWire, pf_coil_xz: bluemira.geometry.wire.BluemiraWire)
Bases:
bluemira.base.builder.BuilderPF coil support builder
- Parameters:
params (bluemira.base.parameter_frame.typed.ParameterFrameLike)
build_config (dict)
tf_xz_keep_out_zone (bluemira.geometry.wire.BluemiraWire)
pf_coil_xz (bluemira.geometry.wire.BluemiraWire)
- param_cls: type[PFCoilSupportBuilderParams]
The class to hold this Builders’s parameters.
- params: PFCoilSupportBuilderParams
- PF_ICS = 'PF ICS'
- tf_xz_keep_out_zone
- pf_coil_xz
- name
- build() bluemira.base.components.Component
- Returns:
The PF coil support component.
- Return type:
- build_xy()
Build the x-y components of the PF coil support.
- build_xz(xyz)
- Returns:
The x-z components of the PF coil support.
- _build_support_xs()
- static _get_first_intersection(point, angle, wire)
- Returns:
The first intersection from a point along an angle with a wire.
- _get_support_point_angle(support_face: bluemira.geometry.face.BluemiraFace)
- Parameters:
support_face (bluemira.geometry.face.BluemiraFace)
- _get_intersecting_wire(v1, v2, v3, v4, angle)
- _make_rib_profile(support_face)
- _make_ribs(width, support_face)
- build_xyz() bluemira.base.components.PhysicalComponent
Build the x-y-z components of the PF coil support.
- Returns:
The coil support
- Return type:
- class bluemira.builders.coil_supports.StraightOISOptimisationProblem(wire: bluemira.geometry.wire.BluemiraWire, keep_out_zone: bluemira.geometry.face.BluemiraFace, n_koz_discr: int = 100)
Bases:
bluemira.optimisation.OptimisationProblemOptimisation problem for a straight outer inter-coil structure
- Parameters:
wire (bluemira.geometry.wire.BluemiraWire) – Sub wire along which to place the OIS
keep_out_zone (bluemira.geometry.face.BluemiraFace) – Region in which the OIS cannot be
n_koz_discr (int) – Number of discretisation points to use when checking the keep-out zone constraint
- wire
- n_koz_discr = 100
- koz_points
- objective(x: numpy.ndarray) float
Objective function to maximise length.
- Parameters:
x (numpy.ndarray)
- Return type:
float
- ineq_constraints() list[bluemira.optimisation.ConstraintT]
The inequality constraints for the problem.
- Return type:
list[bluemira.optimisation.ConstraintT]
- static bounds() tuple[numpy.ndarray, numpy.ndarray]
The optimisation parameter bounds.
- Return type:
tuple[numpy.ndarray, numpy.ndarray]
- static f_L_to_wire(wire: bluemira.geometry.wire.BluemiraWire, x_norm: list[float] | numpy.typing.NDArray) bluemira.geometry.wire.BluemiraWire
Convert a pair of normalised L values to a wire
- Returns:
The wire
- Parameters:
x_norm (list[float] | numpy.typing.NDArray)
- Return type:
- static f_L_to_xz(wire: bluemira.geometry.wire.BluemiraWire, value: float) numpy.ndarray
Convert a normalised L value to an x, z pair.
- Parameters:
value (float)
- Return type:
numpy.ndarray
- negative_length(x_norm: numpy.ndarray) float
Calculate the negative length of the straight OIS
- Parameters:
x_norm (numpy.ndarray) – Normalised solution vector
- Returns:
Negative length from the normalised solution vector
- Return type:
float
- constrain_koz(x_norm: numpy.ndarray) numpy.ndarray
Constrain the straight OIS to be outside a keep-out-zone
- Parameters:
x_norm (numpy.ndarray) – Normalised solution vector
- Returns:
KOZ constraint array
- Return type:
numpy.ndarray
- static constrain_x(x_norm: numpy.ndarray) numpy.ndarray
Constrain the second normalised value to be always greater than the first.
- Parameters:
x_norm (numpy.ndarray)
- Return type:
numpy.ndarray
- static df_constrain_x(x_norm: numpy.ndarray) numpy.ndarray
Gradient of the constraint on the solution vector
- Parameters:
x_norm (numpy.ndarray)
- Return type:
numpy.ndarray
- class bluemira.builders.coil_supports.StraightOISDesignerParams
Bases:
bluemira.base.parameter_frame.ParameterFrameParameters for the StraightOISDesigner
- tk_ois: bluemira.base.parameter_frame.Parameter[float]
- g_ois_tf_edge: bluemira.base.parameter_frame.Parameter[float]
- min_OIS_length: bluemira.base.parameter_frame.Parameter[float]
- class bluemira.builders.coil_supports.StraightOISDesigner(params: bluemira.base.parameter_frame.typed.ParameterFrameLike, build_config: bluemira.base.builder.BuildConfig, tf_coil_xz_face: bluemira.geometry.face.BluemiraFace, keep_out_zones: list[bluemira.geometry.face.BluemiraFace])
Bases:
bluemira.base.designer.Designer[list[bluemira.geometry.wire.BluemiraWire]]Design a set of straight length outer inter-coil structures.
- Parameters:
params (bluemira.base.parameter_frame.typed.ParameterFrameLike) – ParameterFrame for the StraightOISDesigner
build_config (bluemira.base.builder.BuildConfig) – Build config dictionary for the StraightOISDesigner
tf_coil_xz_face (bluemira.geometry.face.BluemiraFace) – x-z face of the TF coil on the y=0 plane
keep_out_zones (list[bluemira.geometry.face.BluemiraFace]) – List of x-z keep_out_zone faces on the y=0 plane
- param_cls: type[StraightOISDesignerParams]
The ParameterFrame class defining this designer’s parameters.
- params: StraightOISDesignerParams
- tf_face
- keep_out_zones
- run() list[bluemira.geometry.wire.BluemiraWire]
Create and run the design optimisation problem.
- Returns:
A list of outer inter-coil structure wires on the y=0 plane.
- Return type:
- _make_ois_wire(p1, p2)
Make a rectangular wire from the two inner edge points
- _make_ois_koz(koz_centreline)
Make the (fused) keep-out-zone for the outer inter-coil structures.
- _make_ois_regions(ois_centreline, koz_centreline)
Select regions that are viable for outer inter-coil structures
- class bluemira.builders.coil_supports.OISBuilderParams
Bases:
bluemira.base.parameter_frame.ParameterFrameOuter intercoil structure parameters
- n_TF: bluemira.base.parameter_frame.Parameter[int]
- tf_wp_depth: bluemira.base.parameter_frame.Parameter[float]
- tk_tf_side: bluemira.base.parameter_frame.Parameter[float]
- class bluemira.builders.coil_supports.OISBuilder(params: bluemira.base.parameter_frame.typed.ParameterFrameLike, build_config: bluemira.base.builder.BuildConfig, ois_xz_profiles: bluemira.geometry.wire.BluemiraWire | list[bluemira.geometry.wire.BluemiraWire])
Bases:
bluemira.base.builder.BuilderOuter intercoil structure builder
- Parameters:
params (bluemira.base.parameter_frame.typed.ParameterFrameLike)
build_config (bluemira.base.builder.BuildConfig)
ois_xz_profiles (bluemira.geometry.wire.BluemiraWire | list[bluemira.geometry.wire.BluemiraWire])
- param_cls: type[OISBuilderParams]
The class to hold this Builders’s parameters.
- params: OISBuilderParams
- RIGHT_OIS = 'TF OIS right'
- LEFT_OIS = 'TF OIS left'
- TF_OIS = 'TF OIS'
- ois_xz_profiles
- build() bluemira.base.components.Component
Build the PF coil support component.
- Return type:
- build_xy()
Build the x-y component of the OIS
- build_xz()
Build the x-z component of the OIS
- build_xyz()
Build the x-y-z component of the OIS