Skip to content

Releases: terrapower/armi

Release version 0.2.8

Choose a tag to compare

@opotowsky opotowsky released this 22 Jun 16:26
6cf9558

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

Choose a tag to compare

@john-science john-science released this 24 May 21:41
328458c

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

Choose a tag to compare

@john-science john-science released this 27 Feb 23:01
3e47ec6

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

Choose a tag to compare

@john-science john-science released this 26 Oct 20:58
47658eb

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

Choose a tag to compare

@john-science john-science released this 03 Oct 20:09
6a4eb3b

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

Choose a tag to compare

@john-science john-science released this 08 Feb 18:58
f4610ba

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

Choose a tag to compare

@john-science john-science released this 27 Jan 16:11
9813a0c

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

Choose a tag to compare

@john-science john-science released this 27 Jan 16:09
14be902

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)

Release version 0.2.0

Choose a tag to compare

@john-science john-science released this 19 Nov 19:04
20c28eb

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

Choose a tag to compare

@youngmit youngmit released this 18 Dec 17:09
5b7d215

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 ARMITESTBASE environment variable when configuring pytest. This allows
    tests to spawn new processes and still find the ARMI test suite.
  • Enable full-core expansion of core grid blueprints.

Deprecations

  • 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.
  • Removed None option to XS "geometry" setting.
  • Removed Location classes. 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 !input resolution before writing blueprints to database.
  • Change default App name to "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_PATH behind context.getFastPath() function, allowing it to change.
    The avoids bugs where code is sensitive to changes to the fast path at runtime.