You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In many instances it is useful to break up a Universe or Cell using some structured mesh. There are several instances where we already do this by different means or where this could be useful:
Pin cell decomposition into rings and sectors: Currently this is achieved by creating new cells with bounding surfaces for each ring and sector division. When calling findCellContainingCoords for a point within a pin cell universe, each of these cells within the universe must be looped over until the one containing the coords is reached. The time to find the cell then scales with the number of sectors and rings. A radial and sector Mask (similar to the radial and sector meshes in OpenCSG) could be used for decomposing pin cells into rings and sectors with much faster segmentation across these cells.
CMFD mesh overlay: Currently this is achieved by effectively using a Lattice as a Mask during segmentation. The Lattice is overlaid on Universe 0 and used in segmentation to ensure that segments don't lie in more than one CMFD cell and used to add FSRs to CMFD cells.
Domain decomposition: Similar to the CMFD mesh overlay, a lattice is used to break up tracks by domain.
Breaking up reflector and baffle cells: Currently this is achieved by have the user create a lattice containing small cells filled with the reflector/baffle material. Instead, a mask could be overlaid on the CellBasic containing the reflector/baffle material. This would both simplify the input file and make it easier to apply non-cartesian meshes like logarithmic meshes to reflector regions.
Easy geometry discretization: Creating sectors and rings in pin cells, small lattices for reflector and baffle regions, and small regions for grid sleeves and water gaps surrounding assemblies can complicate an input file. With Masks, a user could just create a Mask with small cells (say 0.2 x 0.2 cm) and overlay it on Universe 0 to guarantee that the largest FSR size would be the size of cells in the mask.
In short, a Mask is like a Lattice except that it does not explicitly contain further Universes/Lattices/Cells within it. It is merely an overlay used to break up segments or tracks. The benefits of this are faster segmentation by replacing a list of cells with a mask, simplification of the input file, a more streamlined way to implement the CMFD and domain lattice, and perhaps the addition of exotic meshes (logarithmic rectilinear and logarithmic radial) that would be tedious to otherwise implement.
The text was updated successfully, but these errors were encountered:
In many instances it is useful to break up a
Universe
orCell
using some structured mesh. There are several instances where we already do this by different means or where this could be useful:findCellContainingCoords
for a point within a pin cell universe, each of these cells within the universe must be looped over until the one containing the coords is reached. The time to find the cell then scales with the number of sectors and rings. A radial and sector Mask (similar to the radial and sector meshes in OpenCSG) could be used for decomposing pin cells into rings and sectors with much faster segmentation across these cells.CellBasic
containing the reflector/baffle material. This would both simplify the input file and make it easier to apply non-cartesian meshes like logarithmic meshes to reflector regions.In short, a Mask is like a Lattice except that it does not explicitly contain further Universes/Lattices/Cells within it. It is merely an overlay used to break up segments or tracks. The benefits of this are faster segmentation by replacing a list of cells with a mask, simplification of the input file, a more streamlined way to implement the CMFD and domain lattice, and perhaps the addition of exotic meshes (logarithmic rectilinear and logarithmic radial) that would be tedious to otherwise implement.
The text was updated successfully, but these errors were encountered: