Skip to content

Commit

Permalink
Minor language and formatting tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
john-science committed Sep 16, 2022
1 parent 9c74e4a commit c5a6f44
Showing 1 changed file with 9 additions and 23 deletions.
32 changes: 9 additions & 23 deletions doc/requirements/srsd.rst
Expand Up @@ -111,7 +111,7 @@ TODO: This may be tested by a unit test containing removed settings references i
:id: REQ_SETTINGS_VERSION
:status: implemented, needs more tests

The input files generated by the settings system will most often exist outside of the developer's reach to alter to keep in consistency with expected results. Each of these files is only genuinely valid with the compatible version of ARMI that generated the file, as any change within ARMI can alter how settings are interpreted in hard to track ways. Therefore consistent behavior across ARMI versions and the generated inputs cannot be relied upon. Given this the settings system must alert the user to the potential difference and put the onus on the user to be responsible with their given analysis.
Each settings file is only genuinely valid with the version of ARMI that generated the file, as settings might change between versions. As a safegaurd of this, the settings system shall alert the user if the version of the settings file does not match the version of ARMI in-memory.

TODO: This may be tested by unit tests with out of date or omitted version information

Expand All @@ -127,21 +127,13 @@ TODO: This may be tested by unit tests loading and checking settings that have a
:id: REQ_REACTOR
:status: implemented, needs more tests

Given user input describing a reactor system, ARMI shall construct with equivalent
fidelity a software model of the reactor. In particular, ARMI shall appropriately
represent the shape, arrangement, connectivity, dimensions, materials (including
thermo-mechanical properties), isotopic composition, and temperatures of the
reactor.
Given user input describing a reactor, ARMI shall construct with equivalent fidelity a software model of the reactor. In particular, ARMI shall appropriately represent the shape, arrangement, connectivity, dimensions, materials (including thermo-mechanical properties), isotopic composition, and temperatures of the reactor.

.. req:: ARMI shall represent the reactor hierarchically.
:id: REQ_REACTOR_HIERARCHY
:status: completed

To maintain consistency with the physical reactor being modeled, ARMI shall
maintain a hierarchical definition of its components. For example, all the
fuel pins in a single fuel assembly in a solid-fuel reactor shall be
collected such that they can be queried or modified as a unit as well as
individuals.
To maintain consistency with the physical reactor being modeled, ARMI shall maintain a hierarchical definition of its components. For example, all the fuel pins in a single fuel assembly in a solid-fuel reactor shall be collected such that they can be queried or modified as a unit as well as individuals.

.. req:: ARMI shall automatically handle thermal expansion.
:id: REQ_REACTOR_THERMAL_EXPANSION
Expand All @@ -154,31 +146,25 @@ TODO: This may be tested by unit tests loading and checking settings that have a
:id: REQ_REACTOR_SHAPES
:status: implemented, needs more tests

ARMI shall support the following basic shapes: Hexagonal prism (ducts in fast
reactors), rectangular prism (ducts in thermal reactors), cylindrical prism
(fuel pins, cladding, etc.), and helix (wire wrap).
ARMI shall support the following basic shapes: Hexagonal prism (ducts in fast reactors), rectangular prism (ducts in thermal reactors), cylindrical prism (fuel pins, cladding, etc.), and helix (wire wrap).

.. req:: ARMI shall support a number of structured mesh options.
:id: REQ_REACTOR_MESH
:status: completed

ARMI shall support regular, repeating meshes in hexagonal, radial-zeta-theta (RZT),
and Cartesian structures.
ARMI shall support regular, repeating meshes in hexagonal, radial-zeta-theta (RZT), and Cartesian structures.

.. req:: ARMI shall support the specification of symmetry options and boundary conditions.
:id: REQ_REACTOR_4
:status: implemented, need impl/test

ARMI shall support symmetric models including 1/4, 1/8 core models for Cartesian meshes
and 1/3 and full core for Hex meshes. For Cartesian 1/8 core symmetry, the core axial
symmetry plane (midplane) will be located at the top of the reactor.
ARMI shall support symmetric models including 1/4, 1/8 core models for Cartesian meshes and 1/3 and full core for Hex meshes. For Cartesian 1/8 core symmetry, the core axial symmetry plane (midplane) will be located at the top of the reactor.

.. req:: ARMI shall check for basic correctness.
:id: REQ_REACTOR_5
:status: implemented, need impl/test

ARMI shall check its input for certain obvious errors including unphysical densities
and proper fit.
ARMI shall check its input for certain obvious errors including unphysical densities and proper fit.

.. req:: ARMI shall allow for the definition of limited one-dimensional translation paths.
:id: REQ_REACTOR_6
Expand All @@ -197,9 +183,9 @@ TODO: This may be tested by unit tests loading and checking settings that have a
:id: REQ_1
:status: needs implementation, needs test

The state shale be made available to users and Plugins, which may in turn modify the state (e.g. for analysis or based on the results of a physical calculation). ARMI shall fully define how all aspects of state may be accessed and modified and shall reflect any new state after it is applied.
The reactor state shale be made available to users and plugins, which may in turn modify the state. ARMI shall fully define how all aspects of state may be accessed and modified and shall reflect any new state after it is applied.

State shall be represented as evolving either through time (i.e. in a typical cycle-by-cycle analysis) or through a series of control configurations.
The reactor state shall be represented as evolving either through time (i.e. in a typical cycle-by-cycle analysis) or through a series of control configurations.

.. req:: The operator package shall provide a means by which to communicate inputs and results between analysis plugins.
:id: REQ_OPERATOR_IO
Expand Down

0 comments on commit c5a6f44

Please sign in to comment.