4.1. SCR for ARMI 0.7.0

This is a listing of all the Software Change Request (SCR) changes in the ARMI repository, as part of the current release.

Below, this SCR is organized into the individual changes that comprise the net SCR for this release. Each SCR below explicitly lists its impact on ARMI requirements, if any. It is also important to note ARMI and all its requirements are tested entirely by the automated testing that happens during the ARMI build. None of the SCRs below will be allowed to happen if any single test fails, so it can be guaranteed that all SCRs below have fully passed all testing.

4.1.1. SCR Listing

The following lists display all the SCRs in this release of the ARMI framework.

List of SCRs of type: Code Changes, Features

  • PR #2472: Adding Cinder 63 energy group structure

    • Rationale: This data set may be interesting to users of MCNP.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Mark Onufer

  • PR #2494: Updating consistent nuclide treatment

    • Rationale: Make the component consistency check more robust to corner cases where nuclides are present at a number density of 0.0 in a component.

    • Impact on Requirements: This change affects the low-level implementation details of I_ARMI_XSGM_CREATE_REPR_BLOCKS1, which implements R_ARMI_XSGM_CREATE_REPR_BLOCKS.

    • Author: mgjarrett (Michael Jarrett)

    • Reviewer: John Stilley

  • PR #2507: Refactoring the ARMI materials to be based on matProps

    • Rationale: The ARMI material class used to be flexible, but also problem in a number of ways; here we provide much better support to materials.

    • Impact on Requirements: This is a redesign for the implementation of the materials requirements: R_ARMI_MAT_PROPERTIES / I_ARMI_MAT_PROPERTIES , R_ARMI_MAT_FRACS / I_ARMI_MAT_FRACS, and R_ARMI_MAT_FLUID / I_ARMI_MAT_FLUID. Removed now defunct tests T_ARMI_MAT_PROPERTIES2 and T_ARMI_MAT_PROPERTIES3.

    • Author: john-science (John Stilley)

    • Reviewer(s): Alex James, Arrielle Opotowsky

  • PR #2515: Adding CircleHoledCircle shape

    • Rationale: This new shape could be used for a lot of things in pin-type reactor design.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer(s): Michael Jarrett, Mark Onufer

  • PR #2517: Support FilletedHexagon in HexBlock.getWettedPerimeter

    • Rationale: Real world material fabrication frequently has more complicated shapes, like filleted versus geometric hexagons.

    • Impact on Requirements: This feature adds an extra perimeter feature to each of the shape classes relating to implementations I_ARMI_COMP_SHAPES0, I_ARMI_COMP_SHAPES1, I_ARMI_COMP_SHAPES2, I_ARMI_COMP_SHAPES3, I_ARMI_COMP_SHAPES4, I_ARMI_COMP_SHAPES5, I_ARMI_COMP_SHAPES6, and I_ARMI_COMP_SHAPES7.

    • Author: john-science (John Stilley)

    • Reviewer(s): Michael Jarrett, Casey Stocking

List of SCRs of type: Code Changes, Bugs and Fixes

  • PR #2514: Fixing issue with CartesianBlock.getPinCenterFlatToFlat

    • Rationale: Cartesian blocks belong on Cartesian grids.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

List of SCRs of type: Code Changes, Maintenance, or Trivial

  • PR #2485: Adding an author to the project

    • Rationale: Adding an ARMI dev that should appear in the AUTHORS file.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2486: Speeding up unit tests

    • Rationale: Faster unit testing means developers will run the tests more often.

    • Impact on Requirements: The following tests were completely rewritten, but their goals and purposes have not changed: T_ARMI_HIST_TRACK0, T_ARMI_HIST_TRACK1. The following tests were changed only very trivially in implementation: T_ARMI_R, T_ARMI_R_GET_ASSEM0, T_ARMI_R_GET_ASSEM1, T_ARMI_R_SYMM, and T_ARMI_GRID_NEST.

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2488: Removing old test crumbs from CI script

    • Rationale: Removing old test cruft, to make the system easier to read and understand.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2489: Speeding up unit tests again

    • Rationale: Speeding up the unit tests, without sacrificing code coverage, dramatically improves developer time and reduces CI overhead.

    • Impact on Requirements: Minor implementation changes to: T_ARMI_SNAPSHOT_RESTART, T_ARMI_ASSEM_POSI0, T_ARMI_ASSEM_POSI1, T_ARMI_PARAM1, T_ARMI_SETTINGS_POWER0, T_ARMI_THIRD_TO_FULL_CORE1, T_ARMI_R_MESH, T_ARMI_R, T_ARMI_R_GET_ASSEM0, T_ARMI_R_GET_ASSEM1, T_ARMI_R_SYMM, T_ARMI_GRID_NEST, T_ARMI_SFP2, T_ARMI_R_FIND_NEIGHBORS, T_ARMI_ZONE4.

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2490: Changing the order of the named parameters in armi.init

    • Rationale: This parameter order is more intuitive for the users.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Drew Johnson

  • PR #2491: Adding MeV unit

    • Rationale: A user requested the new unit.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Drew Johnson

  • PR #2493: Supporting Python 3.14

    • Rationale: Supporting a wider range of Python language versions makes it easier for the Python user base to use Python in their personal environment.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2498: Stopping forked repos from running MacOS CI

    • Rationale: Saving developers time speeds up product delivery.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2499: Removing matProps dataSchema

    • Rationale: We should only include code that our users want.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2500: Speeding up the slowest unit tests

    • Rationale: Faster unit tests means faster development, and higher code quality.

    • Impact on Requirements: Minor implementation change to the tests: T_ARMI_UMC_MIN_MESH1, T_ARMI_UMC_MIN_MESH0, T_ARMI_UMC_NON_UNIFORM0, and T_ARMI_UMC_PARAM_BACKWARD0.

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2502: Removing unnecessary warning

    • Rationale: Having too many warning and log messages can muddy the waters and make it hard for users to get important information from their run logs.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Drew Johnson

  • PR #2503: Reducing warnings from settings version and Composite.getComponent

    • Rationale: Too many warnings can cause Alarm Fatigue, and the user base singled out these two warnings as being particularly fatiguing.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer(s): Arrielle Opotowsky, Drew Johnson

  • PR #2506: Improving error handling in HexComponentsToCylConverter

    • Rationale: This error handling was essentially unreachable code, and unused.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2508: Trying to stop codecov.io from incorrectly failing the build

    • Rationale: A build incorrectly failing can case Alarm Fatigue and waste people’s time.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2510: Improving error message in settings validation

    • Rationale: Error messages are only useful if they are clear and understandable.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2516: Bump pypdf from 5.3.1 to 6.10.2

    • Rationale: This is a basic security update.

    • Impact on Requirements: NA

    • Author: dependabot

    • Reviewer: John Stilley

  • PR #2518: Bump jinja2 from 3.1.5 to 3.1.6

    • Rationale: This is a basic security update.

    • Impact on Requirements: NA

    • Author: dependabot

    • Reviewer: John Stilley

List of SCRs of type: Documentation-Only Changes

  • PR #2487: Starting version 0.7.0 release cycle

    • Rationale: Since ARMI 0.6.4 is released, we want to start the 0.7.0 release cycle.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky

  • PR #2492: Updating license section of the pyproject.toml

    • Rationale: Part of our packaging information was out of date.

    • Impact on Requirements: NA

    • Author: john-science (John Stilley)

    • Reviewer: Arrielle Opotowsky