ARMI v0.2 Release Notes¶
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)
ARMI v0.2.7¶
Release Date: 2023-05-24
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)Executer class has a
dcTypeattribute 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)
Fix a bug in database comparison. (PR#1258)
Introduce new LatticePhysicsFrequency setting to control lattice physics calculation. (PR#1239)
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)
ARMI v0.2.6¶
Release Date: 2023-02-09
What’s new in ARMI¶
The
Materialclass no longer subclassesComposite(PR#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)Add setting
cyclesSkipTightCouplingInteractionto skip coupling interaction on specified cycles. (PR#1173)Remove unused HCFcoretype setting. (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)
ARMI v0.2.5¶
Release Date: 2022-10-24
What’s new in ARMI¶
Cleanup of stale
coveragercfile (PR#923)Added medium writer style option to
SettingsWriter. Added it as arg to modify CLI (PR#924), and to clone CLI (PR#932).Update the EntryPoint class to provide user feedback on required positional arguments (PR#922)
Overhaul
reactor.zonestooling and remove application-specific zoning logic (PR#943)
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
Materialcurves 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 (PR#665)Removed the last usage of
settingsRules; now only usesettingsValidation.Removed separate blueprints in snapshot runs, they must come from the database (PR#872 https://github.com/terrapower/armi/pull/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
armi/reactor/reactors.py::Core::processLoading.Added neutronics settings:
innersandoutersfor downstream support.Removed unused Thermal Hydraulics settings.
Replaced setting
stationaryBlockswithstationaryBlockFlagssetting (PR#665)Changed the default value of the
trackAssemssetting toFalse.Add setting
inputHeightsConsideredHotto enable thermal expansion of assemblies at BOL.
Bug fixes¶
Fixed issues finding
ISOXXfiles cross-platform.Fixed issues in
growToFullCore.Fixed issue in the ARMI memory profiler.
Fixed issue in linear expansion in
Alloy200.Fixed issue in
armi/reactor/components/complexShapes.py::Helix::getCircleInnerDiameterFixed issue with axial expansion changer in
armi/reactor/reactors.py::Core::processLoading.Fixed issue in how number densities are initialized for components.
Fixed issue in
armi/cases/case.py::copyInterfaceInputsFixed issue in
armi/reactor/components/component.py::getReacFixed 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 (PR#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.
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
loadOperatormethod now has the optionalallowMissingargument
ARMI v0.2.1¶
Release Date: 2022-01-13
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)