bluemira.radiation_transport.neutronics.neutronics_axisymmetric

Axis-symmetric CSG CAD models for neutronics.

Classes

ReactorGeometry

Data storage stage

CuttingStage

Stage of making cuts to the exterior curve/ outer boundary.

PreCellStage

Stage of making pre-cells

NeutronicsReactorParameterFrame

Neutronics reactor parameters

NeutronicsReactor

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.

blanket: bluemira.radiation_transport.neutronics.slicing.PanelsAndExteriorCurve
divertor: bluemira.radiation_transport.neutronics.slicing.DivertorWireAndExteriorCurve
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.ParameterFrame

Inheritance diagram of bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactorParameterFrame

Neutronics 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.ABC

Inheritance diagram of bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactor

Pre csg cell reactor

Parameters:
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:
Return type:

tuple[bluemira.radiation_transport.neutronics.geometry.TokamakDimensions, bluemira.geometry.wire.BluemiraWire, numpy.typing.NDArray, bluemira.geometry.wire.BluemiraWire, bluemira.geometry.wire.BluemiraWire]