ARMI v0.4.0
Release Date: 2024-08-14
What's new in ARMI
- Conserve mass by component in
assembly.setBlockMesh()
. PR#1665 - Removal of the
Block.reactor
property. PR#1425 - System information is now also logged on Linux. PR#1689
- Reset
Reactor
data on worker processors after every interaction to free memory from state distribution.
[PR#1729](https://github.com/terrapower/armi/pull/1729>`_ and `PR#1750](#1750) - Density can be specified for components via
custom isotopics
in the blueprints. PR#1745 - Implement a new
JaggedArray
class that handles HDF5 interface for jagged data. PR#1726
API Changes
- Replacing the concrete material with a better reference. PR#1717
- Adding more detailed time information to logging. PR#1796
- Renaming
structuredgrid.py
to camelCase. PR#1650 - Removing unused argument from
Block.coords()
. PR#1651 - Removing unused method
HexGrid.allPositionsInThird()
. PR#1655 - Removed unused methods:
Reactor.getAllNuclidesIn()
,plotTriangleFlux()
. PR#1656 - Removed
armi.utils.dochelpers
; not relevant to nuclear modeling. PR#1662 - Removing old tools created to help people convert to the current database format:
armi.bookkeeping.db.convertDatabase()
andConvertDB
. PR#1658 - Removing the unused method
Case.buildCommand()
. PR#1773 - Removed the variable
armi.physics.neutronics.isotopicDepletion.ORDER
. PR#1671 - Removing extraneous
ArmiOjbect
methods. PR#1667- Moving
ArmiObject.getBoronMassEnrich()
toBlock
. - Moving
ArmiObject.getPuMoles()
toBlock
. - Moving
ArmiObject.getUraniumMassEnrich()
toBlock
. - 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()
toAssembly
. - Removing
Block.isOnWhichSymmetryLine()
.
- Moving
- Removing the
Block.reactor
property. PR#1425 - Moving several
ArmiObject
methods. PR#1425- Moving
ArmiObject.getNeutronEnergyDepositionConstants
toBlock
. - Moving
ArmiObject.getGammaEnergyDepositionConstants
toBlock
. - Moving
ArmiObject.getTotalEnergyGenerationConstants
toBlock
. - Moving
ArmiObject.getFissionEnergyGenerationConstants
toBlock
. - Moving
ArmiObject.getCaptureEnergyGenerationConstants
toBlock
.
- Moving
- Removing the parameter
rdIterNum
. PR#1704 - Removing the parameters
outsideFuelRing
andoutsideFuelRingFluxFr
. PR#1700 - Removing the setting
doOrificedTH
. PR#1706 - Changing the Doppler constant params to
VOLUME_INTEGRATED
. PR#1659 - Change
Operator._expandCycleAndTimeNodeArgs
to be a non-static method. PR#1766 - Database now writes state at the last time node of a cycle rather than during the
DatabaseInterface.interactEOC
interaction. PR#1090
Bug fixes
- Fixed four bugs with "corners up" hex grids. PR#1649
- Fixed
safeCopy
to work on both Windows and Linux with strict permissions PR#1691 - When creating a new XS group, inherit settings from initial group. [PR#1653](https://github.com/terrapower/armi/pull/1653>`_, `PR#1751](#1751)
- Fixed a bug with
Core.getReactionRates
. PR#1771 - Fixed a bug with interactive versus batch mode checking on windows versus linux. PR#1786
Quality Work
- Creating a single-block test reactor, to speed up unit tests. PR#1737
- Supporting MacOS in CI. PR#1713
- We now enforce a maximum line length of 120 characters, using
ruff
. PR#1646 - Updating
ruff
to version0.5.1
. PR#1770 - Move
.coveragerc
file information intopyproject.toml
. PR#1692