Skip to content

CSG Support for Lattices in CSGBase #31889

@kkiesling

Description

@kkiesling

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: FrameworkC: MeshingMeshGenerator system, mesh loadingT: taskAn enhancement to the software.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions