Releases: terrapower/armi
Releases · terrapower/armi
Release list
Release version 0.2.8
ARMI v0.2.8
Release Date: 2023-06-21
What's new in ARMI
- Added
Composite.sort()to allow the user to recursively sort any part of theReactor. PR#1280 - Switching from
pylintto therufflinter. PR#1296 - Move cross section group manager Interface stack position to be just before lattice physics. PR#1288
- Add
interactCoupledmethod forSnapshotInterface. PR#1294 - Calculate weighted-average percent burnup of
BlockCollections. PR#1265 - Add method
sortAssemsByRingto sortReactorassemblies by spatial location (interior first) PR#1320
Bug fixes
- Changed
units.FLOAT_DIMENSION_DECIMALSfrom 10 to 8. PR#1183 - Improved
HexBlock.getWettedPerimeter()to include wire. PR#1299 - Fixed a bug in the ISOTXS file name used for snapshots. PR#1277
- Fix a bug in uniform mesh decusping when assemblies of same type have drastically different height. PR#1282
- Sort
ComponentsonrepresentativeBlockfor consistency check. PR#1275
Release version 0.2.7
ARMI v0.2.7
What's new in ARMI
- The method
Material.density3is now calleddensity, and the olddensityis now calledpseudoDensity. PR#1163 - Removed
metadatasetting section, and createdversions. PR#1274 - Remove unused
HCFcoretypesetting. PR#1179 - Use
minimumNuclideDensitysetting when generating macroscopic XS. PR#1248 - Introduce new
LatticePhysicsFrequencysetting to control lattice physics calculation. PR#1239 - Added new setting
assemFlagsToSkipAxialExpansionto enable users to list flags of assemblies to skip axial expansion. PR#1235 - Added documentation for the thermal expansion approach used in ARMI. PR#1204
- Use
TemporaryDirectoryChangerforexecuter.run()so dirs are cleaned up during run. PR#1219 - New option
copyOutputfor globalFluxInterface to not copy output back to working directory. PR#1218, PR#1227 Executerclass has adcTypeattribute to define the type ofDirectoryChangerit will use. PR#1228- Enabling one-way (upwards) axial expansion of control assemblies. PR#1226
- Implement control rod decusping option for uniform mesh converter. PR#1229
createRepresentativeBlocksFromExistingBlocksnow returns the mapping of original to new XS IDs. PR#1217- Added a capability to prioritize
MpiActionexecution and exclusivity. PR#1237 - Improve support for single component axial expansion and general cleanup of axial expansion unit tests. PR#1230
- New cross section group representative block type for 1D cylindrical models. PR#1238
- Store the axial expansion target component name as a block parameter. PR#1256
- When using non-uniform mesh, detailed fission/activation products have cross sections generated to avoid blocks without xs data. PR#1257
- Made sure all material classes could be resolved via name. PR#1270
- Read flux directly from output into Gamma uniform mesh instead of mapping it in from block params. PR#1213
- Forced GAMISO/PMATRX file path extensions to be lower case for linux support. PR#1216
Bug fixes
Release version 0.2.6
ARMI v0.2.6
Release Date: 2023-02-13
What's new in ARMI
- The
Materialclass no longer subclassesCompositePR#1062 - Froze the NumPy version to <= 1.23.5 PR#1035 to continue to support NumPy jagged arrays in the DatabaseInterface.
- Split 3 classes in
database3.pyinto 3 files PR#955 - Split algorithms specific to hex assemblies out of
FuelHandler. PR#962 - Added 4614 nuclides to decouple the loading of RIPL-3 data from the standard framework run. PR#998
- Overhaul of the tight coupling routine in ARMI, and removal of
looseCouplingsetting. PR #1033 - Added
savePhysicsFilessetting to copy physics kernel I/O to directories organized by cycle and time step (e.g., c2n1). PR#952 - Add
pinQuantitiesparameter category for block params that have spatial distribution. - Use
r.core.p.axialMeshinstead ofr.core.refAssem.getAxialMesh()for the uniform mesh converter. PR#959 - Add group structures for 21- and 94-groups used in photon transport.
- Add block parameter,
fuelCladLocked, to track whether or not the fuel and clad are locked. PR#1038 - An explicit fission product modeling option was added. PR#1022
- Axially expand from cold to hot before deepcopy of assemblies into reactor; improving speed. PR#1047
- Add a how-to on restart calculations in the docs.
- General improvements to efficiency in uniform mesh conversion. PR#1042
- Allow MCNP material card number to be defined after the card is written. PR#1086
- Refine logic for
Block.getNumPins()to only count components that are actually pins. PR#1098 - Improve handling of peak/max parameters by the
UniformMeshConverterparameter mapper. PR#1108 - Calculate block kgHM and kgFis on core loading and after shuffling. PR#1136
- Calculate block
PuFracon core loading and after shuffling. PR#1165 - Remove unused
HCFcoretypesetting. PR#1179
Bug fixes
- Fixed
referenceBlockAxialMeshandaxialMeshduring process loading. PR#980 - Fixed deadelines in MPI cases due to barriers in temp directory changers.
- Fixed the material namespace order for
test_axialExpansionChanger.pypersisting after tests. PR#1046 - Fixed the gaseous fission products not being removed from the core directly, but instead the fission yields within the lumped fission products were being adjusted. PR#1022
- Fixed non-fuel depletable components not being initialized with all nuclides with the
explicitFissionProductsmodel PR#1067 - Fixed consistency between cross section group manager and lattice physics interface for tight coupling. PR#1118
- Fixed numerical diffusion in uniform mesh converter that affects number densities and cumulative parameters like DPA. PR#992
- Fix the formula to calculate
b.p.puFrac. PR#1168 - Fixed
Material.densityTimesHeatCapacity(), moving from pseudo-density to physical density. PR#1129 - Fixed
TD_fracmodification on UraniumOxide and MOX was not being applied correctly. - Fixed Magnessium density curve. PR#1126
- Fixed Potassium density curve. PR#1128
- Fixed Concrete density curve. PR#1131
- Fixed Copper density curve. PR#1150
- Fixed Component.density. PR#1149
- Fixed interface/event
runLog.headerfor tight coupling. PR#1178 - Fixed circular import bug in
reactors.pycaused by importing settings constants. PR#1185
Release version 0.2.5
ARMI v0.2.5
Release Date: 2022-10-26
What's new in ARMI
ARMI now provides a simple interface to create Zones, and no longer has a bunch of default Zoning algorithms built into every run.
- Overhaul
Reactor.zonestooling and remove application-specific zoning logic PR#943. - Cleanup of stale
coveragercfile PR#923. - Added
mediumwriter style option toSettingsWriter. Added it as arg to modify CLI PR#924, and to clone CLI PR#932. - Update the
EntryPointclass to provide user feedback on required positional arguments PR#922.
Bug fixes
Release version 0.2.4
ARMI v0.2.4
Release Date: 2022-10-03
What's new in ARMI
- Added new
UserPluginfunctionality. - Introduced axial expansion changer.
- Greatly improved the
UniformMeshGeometryConverter. - Made the min/max temperatures of Material curves discoverable.
- Removed the
PyYamldependency. - Changed the default Git branch name to
main. - Moved math utilities into their own module.
- Moved
newReportsinto their final location inarmi/bookkeeping/report/. - Removed
_swapFluxParammethod (#665 (comment)) - Removed the last usage of
settingsRules; now only usesettingsValidation. - Removed separate blueprints in snapshot runs, they must come from the database (PR#872 #872)
- Added reporting of neutron and gamma energy groups in the XS library
__repr__. - Updated NHFLUX reader to store VARIANT data that was being discarded.
- Store thermally expanded block heights at BOL in
Core::processLoading. - Added neutronics settings: inners and outers for downstream support.
- Removed unused Thermal Hydraulics settings.
- Replaced setting
stationaryBlockswithstationaryBlockFlagssetting (#665) - Changed the default value of the
trackAssemssetting to False. - Add setting
inputHeightsConsideredHotto enable thermal expansion of assemblies at BOL.
Bug fixes
- Fixed issues finding ISOXX files cross-platform.
- Fixed issues in
growToFullCore. - Fixed issue in the ARMI memory profiler.
- Fixed issue in linear expansion in Alloy200.
- Fixed issue in
Helix::getCircleInnerDiameter - Fixed issue with axial expansion changer in
Core::processLoading. - Fixed issue in how number densities are initialized for components.
- Fixed issue in
armi/cases/case.py::copyInterfaceInputs - Fixed issue in
armi/reactor/components/component.py::getReac - Fixed issue in
armi/reactor/converters/uniformMesh.pywas clearing out unchanged param data. - Fixed issue where components were different if initialized through blueprints vs init.
- Fixed issue where component mass was conserved in axial expansion instead of density (#846)
- Fixed issue in
HexBlock::rotatePinsfailed to modifypinLocationparam (#855). - Fixed issue in
Core::_applyThermalExpansionfailed to callblock.completeInitiaLoading(#885). - Fixed issue where a validator would complain both simple and detailed cycles settings were used.
- Fixed issue where
getReactionRates()was not accounting for burnup-dependent cross-sections.
Release version 0.2.3
Release version 0.2.2
ARMI v0.2.2
Release Date: 2022-01-19
What's new in ARMI v0.2.2
- Improved type hinting
- Flushed out the ability to build the docs as PDF
- Material modifications can now be made per-component
- The loadOperator method now has the optional allowMissing argument
Bug fixes
- Fixed issue where copying a Setting with a defined list of options would throw an error (PR#540)
Release version 0.2.1
ARMI v0.2.1
Release Date: 2022-01-13
Added new reference data for lumped fission products (#507)
Bug fixes
Release version 0.2.0
ARMI v0.2.0
Release Date: 2021-11-19
The API has started to solidify, and the number of external-facing changes have started to
slow down. This release is a stake in the ground on a stable API.
What's new in ARMI v0.2.0
- Made user settings immutable to avoid confusing runtime behavior
- Removed the concept of 'facemaps' (now replaced with more general grids)
- Added ability to use module-level logging for more precise debugging
- Added ability to write full tips-up hex asciimaps
- Fixed ability to serialize grid blueprints
- Improved code coverage and linting
- Added a latin hypercube suite builder for parameter sweeps
- Added several clarifications, fixes, and updates to documentation
- Updated units labels on several parameters
- Added protections against deleting directories
- Updated spontaneous fission data
- Removed confusing Charge Fuel Pool from core
- Sped up YAML reading
- Removed localization module
- Added ANL116 energy group structure
- Added setting to control auto-creation of within-block grids
- Added new plot/summarizing capabilities
- Added ability for GUI to save map as image
- Added C5G7 compositions and dimensions to LWR tutorial
- Added 1d/2d mesh reading/writing to GEODST
Backwards incompatible changes
There may be some new errors based on updated input checking.
Bug fixes
- Fixed centering of full-symmetry Cartesian lattice maps
- Fixed issues with grids that had multii-index locations
- Removed test files from coverage check
- Fixed order of operations issue in rotatePins
- Fixed incorrect multiplicity for non-grid block components
- Many additional bugfixes and cleanups (see PR list)
0.1.6
ARMI v0.1.6
Release Date: 2020-12-17
- Add capability to map flags to current meaning when loading from database.
Previously, loading would fail if the meanings of written and current flags did not
match exactly. - Numerous documentation improvements.
- Add support for XDMF visualization file output.
- Add optional flag to
armi.configure()to permit repeated configuration. This aids
in certain testing and demonstration contexts. - Allow for fully-qualified material names in blueprints. Materials take the form of
module.import.path:MaterialClassName. - Disable the use of the fast path in interactive sessions.
- Define
ARMITESTBASEenvironment variable when configuringpytest. This allows
tests to spawn new processes and still find the ARMI test suite. - Enable full-core expansion of core grid blueprints.
Deprecations
- Removed
dumpLocationSnapshotsetting and related functionality. This is replaced
by features of Database, version 3. Database 3 supports history tracking from the
database file, and whole reactor models can be loaded for any stored time step,
obviating the need for special logic in snapshots. - Removed
Noneoption to XS"geometry"setting. - Removed
Locationclasses. These were made redundant with grids/spatial locators. - Removed
Block.isAnnular(). - Remove old "XTView" database format support. Migrating older databases will require
checking out an older version of the code.
Bugfixes
- Apply YAML
!inputresolution before writing blueprints to database. - Change default App
nameto "armi" instead of "ARMI". This allows ARMI to re-invoke
itself, and produce accurate help messages. - Conform R-Z-Theta grid ring/position indices to be 1-based like other grid types.
- Add a check that an ISOTXS library exists before attempting to calculate flux-based
reaction rates on mesh conversions. Prior to this, performing mesh conversions without
an ISOTXS would lead to a crash. - Hide
FAST_PATHbehindcontext.getFastPath()function, allowing it to change.
The avoids bugs where code is sensitive to changes to the fast path at runtime.