Skip to content

Releases: terrapower/armi

Release version 0.3.0

06 Feb 17:30
0668e8c
Compare
Choose a tag to compare

ARMI v0.3.0

Release Date: 2024-02-02

What's new in ARMI

  • The _copyInputsHelper() gives relative path and not absolute after copy. PR#1416
  • Attempt to set representative block number densities by component if possible. PR#1412
  • Use functools to preserve function attributes when wrapping with codeTiming.timed PR#1466
  • Remove a number of deprecated block, assembly, and core parameters related to a defunct internal plugin.

Bug fixes

  • StructuredGrid.getNeighboringCellIndices() was incorrectly implemented for the second neighbor. PR#1614

Quality Work

  • ARMI now mandates ruff linting. PR#1419
  • Many new references to requirement tests and implementations were added to docstrings.
  • Removed all old ARMI requirements, to start the work fresh. PR#1438
  • Downgrading Draft PRs as policy. PR#1444

Release version 0.2.9

28 Sep 20:53
2326990
Compare
Choose a tag to compare

ARMI v0.2.9

Release Date: 2023-09-27

What's new in ARMI

  • Moved the Reactor assembly number from the global scope to a Parameter. PR#1383
  • Removed the global CaseSettings object, getMasterCs(), and setMasterCs(). PR#1399
  • Moved the Spent Fuel Pool (sfp) from the Core to the Reactor. PR#1336
  • Made the sfp a child of the Reactor so it is stored in the database. PR#1349
  • Broad cleanup of Parameters: filled in all empty units and descriptions, removed unused params. PR#1345
  • Updated some parameter definitions and defaults. PR#1355
  • Removed redundant Material.name variable. PR#1335
  • Added powerDensity as a high-level alternative to power to configure a Reactor. PR#1395
  • Added SHA1 hashes of XS control files to the welcome text. PR#1334

Build changes

  • Moved from setup.py to pyproject.toml. PR#1409
  • Added Python 3.11 to ARMI's CI on GH actions. PR#1341
  • Updated black to version 22.6. PR#1396

Bug fixes

  • Fixed _processIncludes() to handle StringIO input. PR#1333
  • Fixed logic for computing thermal expansion factors for axial expansion. PR#1342

Release version 0.2.8

22 Jun 16:26
6cf9558
Compare
Choose a tag to compare

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 the Reactor. PR#1280
  • Switching from pylint to the ruff linter. PR#1296
  • Move cross section group manager Interface stack position to be just before lattice physics. PR#1288
  • Add interactCoupled method for SnapshotInterface. PR#1294
  • Calculate weighted-average percent burnup of BlockCollections. PR#1265
  • Add method sortAssemsByRing to sort Reactor assemblies by spatial location (interior first) PR#1320

Bug fixes

  • Changed units.FLOAT_DIMENSION_DECIMALS from 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 Components on representativeBlock for consistency check. PR#1275

Release version 0.2.7

24 May 21:41
328458c
Compare
Choose a tag to compare

ARMI v0.2.7

What's new in ARMI

  • The method Material.density3 is now called density, and the old density is now called pseudoDensity. PR#1163
  • Removed metadata setting section, and created versions. PR#1274
  • Remove unused HCFcoretype setting. PR#1179
  • Use minimumNuclideDensity setting when generating macroscopic XS. PR#1248
  • Introduce new LatticePhysicsFrequency setting to control lattice physics calculation. PR#1239
  • Added new setting assemFlagsToSkipAxialExpansion to 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 TemporaryDirectoryChanger for executer.run() so dirs are cleaned up during run. PR#1219
  • New option copyOutput for globalFluxInterface to not copy output back to working directory. PR#1218, PR#1227
  • Executer class has a dcType attribute to define the type of DirectoryChanger it 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
  • createRepresentativeBlocksFromExistingBlocks now returns the mapping of original to new XS IDs. PR#1217
  • Added a capability to prioritize MpiAction execution 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

  • Fixed a bug in database comparison. PR#1258
  • Fixed an invalid assumption on the lattice physics and cross section manager interfaces when using tight coupling for snapshot runs. PR#1206
  • Fixed a bug where the precision used to determine the axial submesh was too small. PR#1225

Release version 0.2.6

27 Feb 23:01
3e47ec6
Compare
Choose a tag to compare

ARMI v0.2.6

Release Date: 2023-02-13

What's new in ARMI

  • The Material class no longer subclasses Composite 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.py into 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 looseCoupling setting. PR #1033
  • Added savePhysicsFiles setting to copy physics kernel I/O to directories organized by cycle and time step (e.g., c2n1). PR#952
  • Add pinQuantities parameter category for block params that have spatial distribution.
  • Use r.core.p.axialMesh instead of r.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 UniformMeshConverter parameter mapper. PR#1108
  • Calculate block kgHM and kgFis on core loading and after shuffling. PR#1136
  • Calculate block PuFrac on core loading and after shuffling. PR#1165
  • Remove unused HCFcoretype setting. PR#1179

Bug fixes

  • Fixed referenceBlockAxialMesh and axialMesh during process loading. PR#980
  • Fixed deadelines in MPI cases due to barriers in temp directory changers.
  • Fixed the material namespace order for test_axialExpansionChanger.py persisting 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 explicitFissionProducts model 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_frac modification 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.header for tight coupling. PR#1178
  • Fixed circular import bug in reactors.py caused by importing settings constants. PR#1185

Release version 0.2.5

26 Oct 20:58
47658eb
Compare
Choose a tag to compare

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.zones tooling and remove application-specific zoning logic PR#943.
  • Cleanup of stale coveragerc file 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.

Bug fixes

  • Adjusted density3() in armi/materials/b4C.py to include the theoretical density PR#942.
  • Fixed bug in fastFlux block parameter mapping in the UniformMeshConverter by applying it to the detailedAxialExpansion category PR#928.
  • Fixed issue where shuffles might duplicate in restart runs PR#941.

Release version 0.2.4

03 Oct 20:09
6a4eb3b
Compare
Choose a tag to compare

ARMI v0.2.4

Release Date: 2022-10-03

What's new in ARMI

  • Added new UserPlugin functionality.
  • Introduced axial expansion changer.
  • Greatly improved the UniformMeshGeometryConverter.
  • Made the min/max temperatures of Material curves discoverable.
  • Removed the PyYaml dependency.
  • Changed the default Git branch name to main.
  • Moved math utilities into their own module.
  • Moved newReports into their final location in armi/bookkeeping/report/.
  • Removed _swapFluxParam method (#665 (comment))
  • Removed the last usage of settingsRules; now only use settingsValidation.
  • 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 stationaryBlocks with stationaryBlockFlags setting (#665)
  • Changed the default value of the trackAssems setting to False.
  • Add setting inputHeightsConsideredHot to 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.py was 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::rotatePins failed to modify pinLocation param (#855).
  • Fixed issue in Core::_applyThermalExpansion failed to call block.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

08 Feb 18:58
f4610ba
Compare
Choose a tag to compare

ARMI v0.2.3

Release Date: 2022-02-08

What's new in ARMI

  • Upgrading the version of NumPy for a security alert (PR#530)
  • Upgraded ThoriumOxide material (PR#558)
  • Upgraded Lithium material (PR#546)
  • Improved Helix class (PR#558)

Bug fixes

  • Fixed issue where UML diagrams weren't being generated in docs (#550)
  • Fixed issue with Inconel Alloy 617 (PR#557)

Release version 0.2.2

27 Jan 16:11
9813a0c
Compare
Choose a tag to compare

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

27 Jan 16:09
14be902
Compare
Choose a tag to compare

ARMI v0.2.1

Release Date: 2022-01-13

Added new reference data for lumped fission products (#507)

Bug fixes

  • Fixed issue where grid GUI was not saving lattice maps (#490)
  • Fixed issue where SettingsModifier was using old Settings API (#500)
  • Fixed issue where copying a Setting only copied the default value (PR#534)