ARMI v0.4 Release Notes
ARMI v0.4.1
Release Date: TBD
New Features
Adding data models for ex-core structures in ARMI. (PR#1891)
ARMI now supports Python 3.12. (PR#1813)
Removing the
tabulate
dependency by ingesting it toarmi.utils.tabulate
. (PR#1811)Adding
--skip-inspection
flag toCompareCases
CLI. (PR#1842)Allow merging a component with zero area into another component. (PR#1858)
Use
Block.getNumPins()
inHexBlock._rotatePins()
. (PR#1859)Provide utilities for determining location of a rotated object in a hexagonal lattice (
getIndexOfRotatedCell
). (PR#1846)Allow merging a component with zero area into another component. (PR#1858)
Provide
Parameter.hasCategory
for quickly checking if a parameter is defined with a given category. (PR#1899)Provide
ParameterCollection.where
for efficient iteration over parameters who’s definition matches a given condition. (PR#1899)Flags can now be defined with letters and numbers. (PR#1966)
Plugins can provide the
getAxialExpansionChanger
hook to customize axial expansion. (PR#1870)HexBlock.rotate
updates the spatial locator for children of that block. (PR#1943)New plugin hook
beforeReactorConstruction
added to enable plugins to process case settings before reactor init. (PR#1945)Provide
Block.getInputHeight
for determining the height of a block from blueprints. (PR#1927)Improve performance by changing the lattice physics interface so that cross sections are not updated on
everyNode
calls during coupled calculations (PR#1963)Improve efficiency of reaction rate calculations. (PR#1887)
Adding support for ENDF/B-VII.1-based MC2-3 libraries. (PR#1982)
Adding new options for simplifying 1D cross section modeling. (PR#1949)
Updating
copyOrWarn
andgetFileSHA1Hash
to support directories. (PR#1984)Exposing
detailedNDens
to components. (PR#1954)TBD
API Changes
Removing flags
CORE
andREACTOR
. (PR#1835)Alphabetizing
Flags.toString()
results. (PR#1912)Moving
settingsValidation
fromoperators
tosettings
. (PR#1895)Removing deprecated method
prepSearch
. (PR#1845)Removing unused function
SkippingXsGen_BuChangedLessThanTolerance
. (PR#1845)Renaming
Reactor.moveList
toReactor.moves
. (PR#1881)copyInterfaceInputs
no longer requires a valid setting object. (PR#1934)Removing
buildEqRingSchedule
. (PR#1928)Removing broken plot
buVsTime
. (PR#1994)Allowing for unknown Flags when opening a DB. (PR#1844)
Removing
Assembly.doubleResolution()
. (PR#1951)Removing
assemblyLists.py
and theAssemblyList
class. (PR#1891)Removing
Assembly.rotatePins
andBlock.rotatePins
. PreferAssembly.rotate
andBlock.rotate
. (PR#1846)Removing unused setting
autoGenerateBlockGrids
. (PR#1947)Transposing
pinMgFluxes
parameters so that leading dimension is pin index. (PR#1937)Block.getPinCoordinates
returns an(N, 3)
array, rather than a lengthN
list of three-length arrays. (PR#1943)Removing
globalFluxInterface.DoseResultsMapper
class. (PR#1952)Removing setting
mpiTasksPerNode
and renamingnumProcessors
tonTasks
. (PR#1958)Changing
synDbAfterWrite
default toTrue
. (PR#1968)Removing unused class
SmartList
. (PR#1992)nuclideBases.byMcc3ID and getMcc3Id() return IDs consistent with ENDF/B-VII.1. (PR#1982)
TBD
Bug Fixes
Fixed spatial grids of pins in Blocks on flats-up grids. (PR#1947)
Fixed
DerivedShape.getArea
forcold=True
. (PR#1831)Fixed error parsing command line integers in
ReportsEntryPoint
. (PR#1824)Fixed
PermissionError
when usingsyncDbAfterWrite
. (PR#1857)Fixed
MpiDirectoryChanger
. (PR#1853)Changed data type of
thKernel
setting frombool
tostr
inThermalHydraulicsPlugin
. (PR#1855)Update height of fluid components after axial expansion. (PR#1828)
Rotate hexagonal assembly patches correctly on facemap plots. (PR#1883)
Material theoretical density is serialized to and read from database. (PR#1852)
Removed broken and unused column in
summarizeMaterialData
. (PR#1925)Fixed hex block rotation in
plotBlockDiagram
. (PR#1926)Fixed edge case in
assemblyBlueprint._checkParamConsistency()
. (PR#1928)Fixed wetted perimeter for hex inner ducts. (PR#1985)
TBD
Quality Work
Changes that Affect Requirements
TBD
ARMI v0.4.0
Release Date: 2024-07-29
New Features
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 and PR#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)Adding temperature dependent representative blocks to cross section group manager. (PR#1987)
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()
.
- Removing extraneous
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 several
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)Renaming
b.p.buGroup
tob.p.envGroup
. Environment group captures both burnup and temperature. (PR#1987)
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, PR#1751)
Fixed a bug with
Core.getReactionRates
. (PR#1771)Fixed a bug with interactive versus batch mode checking on windows versus linux. (PR#1786)