4.3. Release Notes for ARMI 0.4

These are the release notes for past versions of ARMI, created before our SCR process. They are preserved here for historical record.

4.3.1. ARMI v0.4.0

Release Date: 2024-07-29

4.3.1.1. 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)

4.3.1.2. 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)

4.3.1.3. 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)

4.3.1.4. 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)

4.3.1.5. 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)