bluemira.radiation_transport.neutronics.neutronics_axisymmetric =============================================================== .. py:module:: bluemira.radiation_transport.neutronics.neutronics_axisymmetric .. autoapi-nested-parse:: Axis-symmetric CSG CAD models for neutronics. Classes ------- .. autoapisummary:: bluemira.radiation_transport.neutronics.neutronics_axisymmetric.ReactorGeometry bluemira.radiation_transport.neutronics.neutronics_axisymmetric.CuttingStage bluemira.radiation_transport.neutronics.neutronics_axisymmetric.PreCellStage bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactorParameterFrame bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactor Module Contents --------------- .. py:class:: ReactorGeometry Data storage stage :param divertor_wire: The plasma-facing side of the divertor. :param panel_break_points: The start and end points for each first-wall panel (for N panels, the shape is (N+1, 2)). :param boundary: interface between the inside of the vacuum vessel and the outside of the blanket :param vacuum_vessel_wire: The outer-boundary of the vacuum vessel .. py:attribute:: divertor_wire :type: bluemira.geometry.wire.BluemiraWire .. py:attribute:: panel_break_points :type: numpy.typing.NDArray .. py:attribute:: boundary :type: bluemira.geometry.wire.BluemiraWire .. py:attribute:: vacuum_vessel_wire :type: bluemira.geometry.wire.BluemiraWire .. py:class:: CuttingStage Stage of making cuts to the exterior curve/ outer boundary. .. py:attribute:: blanket :type: bluemira.radiation_transport.neutronics.slicing.PanelsAndExteriorCurve .. py:attribute:: divertor :type: bluemira.radiation_transport.neutronics.slicing.DivertorWireAndExteriorCurve .. py:class:: PreCellStage(blanket: bluemira.radiation_transport.neutronics.make_pre_cell.PreCellArray, divertor: bluemira.radiation_transport.neutronics.make_pre_cell.DivertorPreCellArray) Stage of making pre-cells .. py:attribute:: blanket .. py:attribute:: divertor .. py:method:: 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. .. py:method:: 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. .. py:method:: 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. .. py:class:: NeutronicsReactorParameterFrame Bases: :py:obj:`bluemira.base.parameter_frame.ParameterFrame` .. autoapi-inheritance-diagram:: bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactorParameterFrame :parts: 1 :private-bases: Neutronics reactor parameters .. py:attribute:: inboard_fw_tk :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: inboard_breeding_tk :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: outboard_fw_tk :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: outboard_breeding_tk :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: r_tf_in :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: tk_tf_inboard :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: fw_divertor_surface_tk :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: fw_blanket_surface_tk :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: blk_ib_manifold :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: tk_rs :type: bluemira.base.parameter_frame.Parameter[float] .. py:attribute:: blk_ob_manifold :type: bluemira.base.parameter_frame.Parameter[float] .. py:class:: 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: :py:obj:`abc.ABC` .. autoapi-inheritance-diagram:: bluemira.radiation_transport.neutronics.neutronics_axisymmetric.NeutronicsReactor :parts: 1 :private-bases: Pre csg cell reactor .. py:attribute:: param_cls .. py:attribute:: params .. py:attribute:: material_library .. py:attribute:: geom .. py:attribute:: _pre_cell_stage .. py:method:: _create_pre_cell_stage(blanket_discretisation, divertor_discretisation, snap_to_horizontal_angle) .. py:property:: bounding_box :type: tuple[float, Ellipsis] Bounding box of Neutronics reactor .. py:property:: half_bounding_box :type: tuple[float, Ellipsis] Bounding box of the right-hand half of the 2D poloidal cross-section .. py:property:: blanket Blanket pre cell .. py:property:: divertor Divertor pre cell .. py:method:: plot_2d(*args, **kwargs) Plot neutronics reactor 2d profile :returns: Axes on which the reactor is plotted. .. py:method:: _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] :abstractmethod: Get wires from components