Reactor Module

Overview

This reactor module aims to add advanced meshing capabilities to MOOSE so that users can create complex-geometry meshes that are related to reactors without turning to external meshing software.

This module consists of a series of new mesh generators to enable meshing of reactor cores including both hexagonal and Cartesian geometries. The functionalities of these mesh generators cover:

  • Creating unit hexagon meshes as basic components for the core (other polygon meshes can also be created);

  • Stitching the unit hexagon meshes and adding appropriate peripheral regions to form hexagon assembly regions;

  • Creating unit hexagon meshes with adaptive external boundaries that are stitch-able with assembly meshes;

  • Stitching the assembly meshes and adaptive-boundary unit hexagon meshes to form a core mesh;

  • Modifying unit hexagon meshes to create azimuthal section blocks to enable static simulation of rotational control drum;

  • Adding reporting IDs (extra element integers) to mesh elements to identify pins, assemblies regions;

  • Adding a peripheral region to a given input mesh to produce a mesh with a circular external boundary.

Aside from the mesh generators, this reactor module also includes a Function object to enable dynamic simulation of rotational control drums in a reactor core mesh.

Objects and Syntax

FunctionsMesh
  • Reactor App
  • AssemblyMeshGeneratorThis AssemblyMeshGenerator object is designed to generate assembly-like structures, with IDs, from a reactor geometry. The assembly-like structures must consist of a full pattern of equal sized pins from PinMeshGeneratorA hexagonal assembly will be placed inside of a bounding hexagon consisting of a background region and, optionally, duct regions.
  • AzimuthalBlockSplitGeneratorThis AzimuthalBlockSplitGenerator object takes in a polygon/hexagon concentric circle mesh and renames blocks on a user-defined azimuthal segment / wedge of the mesh.
  • CartesianIDPatternedMeshGeneratorGenerate Certesian lattice meshes with reporting ID assignment that indentifies individual components of lattice.
  • CoarseMeshExtraElementIDGeneratorAssign coarse element IDs for elements on a mesh based on a coarse mesh.
  • CoreMeshGeneratorThis CoreMeshGenerator object is designed to generate a core-like structure, with IDs, from a reactor geometry. The core-like structure consists of a pattern of assembly-like structures generated with AssemblyMeshGenerator and is permitted to have "empty" locations. The size and spacing of the assembly-like structures is defined, and enforced by declaration in the ReactorMeshParams.
  • DepletionIDGeneratorThis DepletionIDGenerator source code is to assign depletion IDs for elements on a mesh based on material and other extra element IDs.
  • ExtraElementIDCopyGeneratorCopy an extra element ID to other extra element IDs.
  • HexIDPatternedMeshGeneratorGenerate hexagonal lattice meshes with reporting (extra integer) ID assignments that indentifies individual components of lattice.
  • HexagonConcentricCircleAdaptiveBoundaryMeshGeneratorThis HexagonConcentricCircleAdaptiveBoundaryMeshGenerator object is designed to generate hexagonal meshes with adaptive boundary to facilitate stitching.
  • PatternedHexMeshGeneratorThis PatternedHexMeshGenerator source code assembles hexagonal meshes into a hexagonal grid and optionally forces the outer boundary to be hexagonal and/or adds a duct.
  • PatternedHexPeripheralModifierThis PatternedHexPeripheralModifier object removes the outmost layer of the input mesh and add a transition layer mesh to facilitate stitching.
  • PeripheralRingMeshGeneratorThis PeripheralRingMeshGenerator object adds a circular peripheral region to the input mesh.
  • PeripheralTriangleMeshGeneratorThis PeripheralTriangleMeshGenerator object is designed to generate a triangulated mesh between a generated outer circle boundary and a provided inner mesh.
  • PinMeshGeneratorThis PinMeshGenerator object is designed to generate pin-like structures, with IDs, from a reactor geometry. Whether it be a square or hexagonal pin, they are divided into three substructures - the innermost radial pin regions, the single bridging background region, and the square or hexagonal ducts regions.
  • PolygonConcentricCircleMeshGeneratorThis PolygonConcentricCircleMeshGenerator object is designed to mesh a polygon geometry with optional rings centered inside.
  • ReactorMeshParamsThis ReactorMeshParams object acts as storage for persistent information about the reactor geometry.
  • SimpleHexagonGeneratorThis SimpleHexagonGenerator object is designed to generate a simple hexagonal mesh that only contains six simple azimuthal triangle slices.
  • SubdomainExtraElementIDGeneratorAssign extra element IDs for elements on a mesh based on mesh subdomains.
  • TriPinHexAssemblyGeneratorThis TriPinHexAssemblyGenerator object generates a hexagonal assembly mesh with three circular pins in a triangle at the center.