ARMI v0.1 Release Notes

ARMI v0.1.7

Release Date: 2021-08-09

API changes

  1. geomType arguments in most places has been changed to accept a GeomType enumeration, instead of a string. Some places will still attempt to implicitly convert strings into enum values, but this will eventually be deprecated.

  2. The SystemLayoutInput class has been moved into its own module. Instances of the SystemLayoutInput (usually named geom) often participate in various function signatures. These will be removed soon, as grids now serve this purpose, and geom objects are largely vestigial. SystemLayoutInput will be retained to facilitate input migrations.

  3. Changed block default names so that they are no longer constrained by axial characters. They now are named B{assemNum}-{axialIndex} to allow arbitrary numbers of blocks. This will invalidate any user setting that includes a block name (e.g. detail assemblies)

  4. Changed location string labels to be numerical (001-002-005) rather than alphanumeric to eliminate a limitation on how many i-indices and k-indices were allowed. This will invalidate any user setting value that includes a location label (e.g. in detailAssemsByBOLLocation). A migration script may be used to assist in migration.

  5. Removed the localization module, and shifted most of that exception handling to less custom exception types. Though, there were also some functions moved to: armi.utils.customExceptions.py.

  6. Settings are now immutable (or nearly so).

Bug fixes

  1. Fix bug in loading from databases when multi-index locations are used.

ARMI v0.1.6

Release Date: 2020-12-17

  1. 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.

  2. Numerous documentation improvements.

  3. Add support for XDMF visualization file output.

  4. Add optional flag to armi.configure() to permit repeated configuration. This aids in certain testing and demonstration contexts.

  5. Allow for fully-qualified material names in blueprints. Materials take the form of module.import.path:MaterialClassName.

  6. Disable the use of the fast path in interactive sessions.

  7. Define ARMITESTBASE environment variable when configuring pytest. This allows tests to spawn new processes and still find the ARMI test suite.

  8. Enable full-core expansion of core grid blueprints.

Deprecations

  1. Removed dumpLocationSnapshot setting 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.

  2. Removed None option to XS "geometry" setting.

  3. Removed Location classes. These were made redundant with grids/spatial locators.

  4. Removed Block.isAnnular().

  5. Remove old “XTView” database format support. Migrating older databases will require checking out an older version of the code.

Bugfixes

  1. Apply YAML !input resolution before writing blueprints to database.

  2. Change default App name to “armi” instead of “ARMI”. This allows ARMI to re-invoke itself, and produce accurate help messages.

  3. Conform R-Z-Theta grid ring/position indices to be 1-based like other grid types.

  4. 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.

  5. Hide FAST_PATH behind context.getFastPath() function, allowing it to change. The avoids bugs where code is sensitive to changes to the fast path at runtime.

ARMI v0.1.5

Release Date: 2020-10-15

User-facing enhancements

  1. Add location-based history tracking to Database3.

  2. Add grid-editor GUI (grids entry point).

  3. Add support for converting Database files to general-purpose visualization formats (currently supported are VTK and XDMF).

  4. Add generic fuel-performance plugin.

  5. Update Hastelloy N and Incoloy 800 materials.

  6. Add holed rectangle, square component types.

  7. Add syncDbAfterWrite setting.

  8. Add support for explicit Flags input in Blueprints.

  9. Add glob option to directory changer file retrieval.

  10. Add Cartesian plotting capabilities.

  11. Add support for importing unstable nuclides from the RIPL-3 database.

  12. Numerous documentation and tutorial enhancements.

  13. Add run-suite entry point.

  14. Improve/generalize and make extensible from Plugins the setting rename capability.

  15. Improve merging behavior of GAMISO and PMATRX files.

  16. Add doTH setting.

  17. Add mpiActionRequiresReset plugin hook.

  18. Remove unused entry points (back-up-db, copy-db).

  19. Add thermal-scattering metadata to materials.

  20. Improve ASCII map capabilities.

  21. Add the ability to define ex-core Core-like structures in blueprints. This is good for things like spent-fuel pools.

  22. Minor improvements to SuiteBuilder.

Bugfixes

  1. Fix issues in uniform mesh conversion.

  2. Fix order-of-operations issues with string-to-Flags conversions.

  3. Fix issues with circular ring hex-to-RZ mesh conversion.

  4. Fix bug in HT9 material, which was not properly converting between C and K.

Backend changes

  1. Better-formalize Executer classes.

  2. Improve consistency global flux code.

  3. Various performance enhancements.

  4. Add packing/unpacking of Multi-Index Locations in the database.

  5. Remove deprecated old Settings.

  6. Remove armiAbsDirFromName.

  7. Reduce numerical diffusion in mesh mapping operations.

  8. No longer auto-apply DEPLETABLE Flag when flags explicitly specified.

  9. Improve behavior of delated neutron fraction settings and parameter values.

  10. Change assembly ordering to be based on (i, j) indices rather than (ring, pos).

  11. Remove Block.getEnrichment(), since it is redundant with the Composite version.

  12. Remove old block-homogenized number density params. These are still whipped up on the fly when writing to DB.

  13. Add explicit CartesianGrid class.

  14. Remove some unused or design- and physics-related functions from Block.

  15. Merge addComponent() with base add().

  16. Fix issues with Be material properties.

  17. Allow setting Block heights to zero.

  18. Add a Setting class for handling lists of Flags.

  19. Greatly improve support for CCCC file reading/writing.

ARMI v0.1.4

Release Date: 2020-02-27

Bugfixes

  1. Fix minor output date/time bug.

  2. Copy Interface inputs in a manner constistent with standard inputs when cloning Cases.

ARMI v0.1.3

Release Date: 2020-02-25

User-facing enhancements

  1. Improved flexibility of nuclide flags input by adding an expandTo section so users can control precisely which isotopes the elements get expanded into.

  2. Improved migration system, accessible with python -m armi migrate-inputs

  3. Added new material modifications for inputting fuels made of mixtures of two custom isotopic vectors.

  4. Add YAML !include support to blueprints files.

  5. Remove latticeFile section to grid blueprints.

  6. Allow modification of linked dimentions in SuiteBuilder.

Bugfixes

  1. SuiteBuilder handles smear density dimension changes for parameter sweeps again

  2. Fixed broken documentation printout of Flags.

  3. Ensure that Cases do not think of themselves as their own dependencies.

Backend changes

  1. Number fractions are now maintained across elemental expansion subsets. This slightly changes the isotopic composition when, for example, Tungsten is expanded to 4 out of the 5 natural isotopes.

  2. Add BOL HM mass block parameter.

  3. Add support for custom parameter serializers for database interaction.

  4. Formalize Flag reading and writing from/to the database.

  5. Improve handling of large HDF5 attributes in Database3.

ARMI v0.1.2

Release Date: 2019-11-16

Hotfixes

  1. Fixed dependency issue with pympler

ARMI v0.1.1

Release Date: 2019-11-15

User-facing enhancements

  1. Added C5G7 sample LWR inputs

  2. Slightly improved installation documentation

  3. Improved ability to input subassembly geometric details by adding grid definitions to blueprints files

  4. Demoted mpi4py to an optional requirement to ease installation process.

Backend changes

  1. Removed need for geometry object for Reactor construction

  2. Pushed symmetry and geomType metadata onto spatialGrids

  3. Turned off auto-conversion of HDF5 DBs to a previous format

ARMI v0.1.0

Release Date: 2019-10-31

Initial public release.