ARMI v0.4 Release Notes

ARMI v0.4.0

Release Date: 2024-07-29

New Features

  1. Conserve mass by component in assembly.setBlockMesh(). (PR#1665)

  2. Removal of the Block.reactor property. (PR#1425)

  3. System information is now also logged on Linux. (PR#1689)

  4. Reset Reactor data on worker processors after every interaction to free memory from state distribution. (PR#1729 and PR#1750)

  5. Density can be specified for components via custom isotopics in the blueprints. (PR#1745)

  6. Implement a new JaggedArray class that handles HDF5 interface for jagged data. (PR#1726)

  7. Adding temperature dependent representative blocks to cross section group manager. (PR#1987)

API Changes

  1. Replacing the concrete material with a better reference. (PR#1717)

  2. Adding more detailed time information to logging. (PR#1796)

  3. Renaming structuredgrid.py to camelCase. (PR#1650)

  4. Removing unused argument from Block.coords(). (PR#1651)

  5. Removing unused method HexGrid.allPositionsInThird(). (PR#1655)

  6. Removed unused methods: Reactor.getAllNuclidesIn(), plotTriangleFlux(). (PR#1656)

  7. Removed armi.utils.dochelpers; not relevant to nuclear modeling. (PR#1662)

  8. Removing old tools created to help people convert to the current database format: armi.bookkeeping.db.convertDatabase() and ConvertDB. (PR#1658)

  9. Removing the unused method Case.buildCommand(). (PR#1773)

  10. Removed the variable armi.physics.neutronics.isotopicDepletion.ORDER. (PR#1671)

  11. Removing extraneous ArmiOjbect methods. (PR#1667)
    • Moving ArmiObject.getBoronMassEnrich() to Block.

    • Moving ArmiObject.getPuMoles() to Block.

    • Moving ArmiObject.getUraniumMassEnrich() to Block.

    • Removing ArmiObject.getMaxUraniumMassEnrich.().

    • Removing ArmiObject.getMaxVolume() & Block.getMaxVolume().

    • Removing ArmiObject.getPuFrac().

    • Removing ArmiObject.getPuMass().

    • Removing ArmiObject.getPuN().

    • Removing ArmiObject.getZrFrac().

    • Removing ArmiObject.printDensities().

    • Moving Composite.isOnWhichSymmetryLine() to Assembly.

    • Removing Block.isOnWhichSymmetryLine().

  12. Removing the Block.reactor property. (PR#1425)

  13. Moving several ArmiObject methods. (PR#1425)
    • Moving ArmiObject.getNeutronEnergyDepositionConstants to Block.

    • Moving ArmiObject.getGammaEnergyDepositionConstants to Block.

    • Moving ArmiObject.getTotalEnergyGenerationConstants to Block.

    • Moving ArmiObject.getFissionEnergyGenerationConstants to Block.

    • Moving ArmiObject.getCaptureEnergyGenerationConstants to Block.

  14. Removing the parameter rdIterNum. (PR#1704)

  15. Removing the parameters outsideFuelRing and outsideFuelRingFluxFr. (PR#1700)

  16. Removing the setting doOrificedTH. (PR#1706)

  17. Changing the Doppler constant params to VOLUME_INTEGRATED. (PR#1659)

  18. Change Operator._expandCycleAndTimeNodeArgs to be a non-static method. (PR#1766)

  19. Database now writes state at the last time node of a cycle rather than during the DatabaseInterface.interactEOC interaction. (PR#1090)

  20. Renaming b.p.buGroup to b.p.envGroup. Environment group captures both burnup and temperature. (PR#1987)

Bug Fixes

  1. Fixed four bugs with “corners up” hex grids. (PR#1649)

  2. Fixed safeCopy to work on both Windows and Linux with strict permissions (PR#1691)

  3. When creating a new XS group, inherit settings from initial group. (PR#1653, PR#1751)

  4. Fixed a bug with Core.getReactionRates. (PR#1771)

  5. Fixed a bug with interactive versus batch mode checking on windows versus linux. (PR#1786)

Quality Work

  1. Creating a single-block test reactor, to speed up unit tests. (PR#1737)

  2. Supporting MacOS in CI. (PR#1713)

  3. We now enforce a maximum line length of 120 characters, using ruff. (PR#1646)

  4. Updating ruff to version 0.5.1. (PR#1770)

  5. Move .coveragerc file information into pyproject.toml. (PR#1692)

Changes that Affect Requirements

  1. Removing unused argument to Block.coords(). (PR#1651)

  2. Touched HexGrid by adding a “cornersUp” property and fixing two bugs. (PR#1649)

  3. Very slightly modified the implementation of Assembly.add(). (PR#1670)