-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Motivation
This is a follow-on to #30860 that would had support for one of the remaining core components of CSG representations: lattices. Hexagonal and Cartesian regular lattices are required to be able to define the generateCSG methods for the RGMB mesh generators in the reactor module as well as across other pattern MGs. Downstream Monte Carlo codes also will expect to have lattice representations rather than individually defined cells/universes for efficiency.
Design
A new abstract class is added to the CSGBase framework for CSGLattices. In the core framework, support for 2D CSGHexagonalLattices and CSGCartesianLattices will be provided as derived classes, as well as the capability to create other types of custom 2D lattice types (similar to how custom CSGSurface types can be created). A design decision is to only support 2D, and not 3D, because of how MOOSE geometries are created (2D models until they are extruded). Similar to the other CSGBase components, the expectation for developers would be to interact with lattice creation/manipulation through the CSGBase class.
Impact
Adds the framework for lattices to the CSGBase class