bluemira.radiation_transport.neutronics.neutronics_axisymmetric
Axis-symmetric CSG CAD models for neutronics.
Classes
Data storage stage |
|
Stage of making cuts to the exterior curve/ outer boundary. |
|
Stage of making pre-cells |
|
Neutronics reactor parameters |
|
Pre csg cell reactor |
Module Contents
- class bluemira.radiation_transport.neutronics.neutronics_axisymmetric.ReactorGeometry
Data storage stage
- Parameters:
divertor_wire – The plasma-facing side of the divertor.
panel_break_points – The start and end points for each first-wall panel (for N panels, the shape is (N+1, 2)).
boundary – interface between the inside of the vacuum vessel and the outside of the blanket
vacuum_vessel_wire – The outer-boundary of the vacuum vessel
- divertor_wire: bluemira.geometry.wire.BluemiraWire
- panel_break_points: numpy.typing.NDArray
- boundary: bluemira.geometry.wire.BluemiraWire
- vacuum_vessel_wire: bluemira.geometry.wire.BluemiraWire
- class bluemira.radiation_transport.neutronics.neutronics_axisymmetric.CuttingStage
Stage of making cuts to the exterior curve/ outer boundary.
- class bluemira.radiation_transport.neutronics.neutronics_axisymmetric.PreCellStage(blanket: bluemira.radiation_transport.neutronics.make_pre_cell.PreCellArray, divertor: bluemira.radiation_transport.neutronics.make_pre_cell.DivertorPreCellArray)
Stage of making pre-cells
- Parameters:
- blanket
- divertor
- external_coordinates() numpy.typing.NDArray
Get the outermost coordinates of the tokamak cross-section from pre-cell array and divertor pre-cell array. Runs clockwise, beginning at the inboard blanket-divertor joint.
- Returns:
All vertices on the exterior of the blanket and the divertor.
- Return type:
numpy.typing.NDArray
- bounding_box() tuple[float, Ellipsis]
Get bounding box of pre cell stage
- Returns:
z_max – The maximum height of the bounding box.
z_min – The minimum height of the bounding box.
r_max – The maximum major radius reached by the pre-cells.
-r_max – The minimum major radius reached by the pre-cells. Due to axial symmetry, this must be =-r_max.
- Return type:
tuple[float, Ellipsis]
- half_bounding_box() tuple[float, Ellipsis]
Get bounding box of the 2D poloidal cross-section of the right-hand half of the reactor.
- Returns:
z_max – The maximum height of the bounding box.
z_min – The minimum height of the bounding box.
r_max – The maximum major radius reached by the pre-cells.
r_min – The minimum major radius reached by the pre-cells on one side of the xz cross section. This is typically non-zero because pre-cells should not cross the z-axis of symmetry.
- Return type:
tuple[float, Ellipsis]
- class bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactorParameterFrame
Bases:
bluemira.base.parameter_frame.ParameterFrameNeutronics reactor parameters
- inboard_fw_tk: bluemira.base.parameter_frame.Parameter[float]
- inboard_breeding_tk: bluemira.base.parameter_frame.Parameter[float]
- outboard_fw_tk: bluemira.base.parameter_frame.Parameter[float]
- outboard_breeding_tk: bluemira.base.parameter_frame.Parameter[float]
- r_tf_in: bluemira.base.parameter_frame.Parameter[float]
- tk_tf_inboard: bluemira.base.parameter_frame.Parameter[float]
- fw_divertor_surface_tk: bluemira.base.parameter_frame.Parameter[float]
- fw_blanket_surface_tk: bluemira.base.parameter_frame.Parameter[float]
- blk_ib_manifold: bluemira.base.parameter_frame.Parameter[float]
- tk_rs: bluemira.base.parameter_frame.Parameter[float]
- blk_ob_manifold: bluemira.base.parameter_frame.Parameter[float]
- class bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactor(params: dict | bluemira.base.parameter_frame.ParameterFrame, divertor: bluemira.base.reactor.ComponentManager, blanket: bluemira.base.reactor.ComponentManager, vacuum_vessel: bluemira.base.reactor.ComponentManager, materials_library: bluemira.radiation_transport.neutronics.materials.NeutronicsMaterials, *, snap_to_horizontal_angle: float = 45, blanket_discretisation: int = 10, divertor_discretisation: int = 5)
Bases:
abc.ABCPre csg cell reactor
- Parameters:
params (dict | bluemira.base.parameter_frame.ParameterFrame)
divertor (bluemira.base.reactor.ComponentManager)
blanket (bluemira.base.reactor.ComponentManager)
vacuum_vessel (bluemira.base.reactor.ComponentManager)
materials_library (bluemira.radiation_transport.neutronics.materials.NeutronicsMaterials)
snap_to_horizontal_angle (float)
blanket_discretisation (int)
divertor_discretisation (int)
- param_cls
- params
- material_library
- geom
- _pre_cell_stage
- _create_pre_cell_stage(blanket_discretisation, divertor_discretisation, snap_to_horizontal_angle)
- property bounding_box: tuple[float, Ellipsis]
Bounding box of Neutronics reactor
- Return type:
tuple[float, Ellipsis]
- property half_bounding_box: tuple[float, Ellipsis]
Bounding box of the right-hand half of the 2D poloidal cross-section
- Return type:
tuple[float, Ellipsis]
- property blanket
Blanket pre cell
- property divertor
Divertor pre cell
- plot_2d(*args, **kwargs)
Plot neutronics reactor 2d profile
- Returns:
Axes on which the reactor is plotted.
- abstract _get_wires_from_components(divertor: bluemira.base.reactor.ComponentManager, blanket: bluemira.base.reactor.ComponentManager, vacuum_vessel: bluemira.base.reactor.ComponentManager) tuple[bluemira.radiation_transport.neutronics.geometry.TokamakDimensions, bluemira.geometry.wire.BluemiraWire, numpy.typing.NDArray, bluemira.geometry.wire.BluemiraWire, bluemira.geometry.wire.BluemiraWire]
Get wires from components
- Parameters:
divertor (bluemira.base.reactor.ComponentManager)
blanket (bluemira.base.reactor.ComponentManager)
vacuum_vessel (bluemira.base.reactor.ComponentManager)
- Return type:
tuple[bluemira.radiation_transport.neutronics.geometry.TokamakDimensions, bluemira.geometry.wire.BluemiraWire, numpy.typing.NDArray, bluemira.geometry.wire.BluemiraWire, bluemira.geometry.wire.BluemiraWire]