armi icon indicating copy to clipboard operation
armi copied to clipboard

Add the option to create a partially heterogeneous assembly representation for 1D XS model

Open mgjarrett opened this issue 1 year ago • 3 comments

What is the change?

The latticePhysicsInterface and crossSectionGroupManager modules are being updated to enable a new type of 1D cylindrical cross section model. The key features added are:

  • New type of block collection in crossSectionGroupManager, CylindricalComponentsPartHetAverageBlockCollection, which extends the existing CylindricalComponentsPartHetAverageBlockCollection with a modified method for calculating the average nuclide temperatures within the representative block.
  • New crossSectionControlSettings: (1) mergeIntoFuel allows a user to specify components to be merged into the fuel for the cross section model; (2) partiallyHeterogeneous enables the user to select the partially heterogeneous 1D model (as opposed to fully heterogeneous); (3) splitTraceIsotopes allows a user to split low-concentration isotopes out of the 1D cross section model and instead run a 0D model to obtain cross sections for those isotopes.

Much of the implementation details related to these new crossSectionControl options would need to be implemented in the downstream plugins that extend the latticePhysicsInterface.

Why is the change being made?

These features are being added to enable downstream lattice physics plugins to have more options and flexibility when it comes to building a 1D cylindrical equivalent model of a 2D hexagonal assembly for cross section generation. Since a fully-heterogeneous 1D cylindrical model can pose a significantly more compute-intensive problem for the lattice physics solver than a simple 0D model, it is helpful to have options for simplifying the 1D model. Combining small/unimportant components into others (mergeIntoFuel), homogenizing several regions together (partiallyHeterogeneous), and pulling out trace isotopes that don't contribute significantly to reaction rates (splitTraceIsotopes) can all help to reduce the complexity of the 1D model.


Checklist

  • [ ] The release notes have been updated if necessary.
  • [ ] The documentation is still up-to-date in the doc folder.
  • [x] The dependencies are still up-to-date in pyproject.toml.

mgjarrett avatar Oct 11 '24 23:10 mgjarrett