Misc Requirements Traceability Matrix

This template follows INL template TEM-214, "IT System Requirements Traceability Matrix."

commentnote

This document serves as an addendum to Framework Requirements Traceability Matrix and captures information for RTM specific to the Misc module.

Introduction

Minimum System Requirements

In general, the following is required for MOOSE-based development:

A POSIX compliant Unix-like operating system. This includes any modern Linux-based operating system (e.g., Ubuntu, Fedora, Rocky, etc.), or a Macintosh machine running either of the last two MacOS releases.

HardwareInformation
CPU Architecturex86_64, ARM (Apple Silicon)
Memory8 GB (16 GBs for debug compilation)
Disk Space30GB

LibrariesVersion / Information
GCC9.0.0 - 12.2.1
LLVM/Clang10.0.1 - 19
Intel (ICC/ICX)Not supported at this time
Python3.10 - 3.13
Python Packagespackaging pyaml jinja2

System Purpose

The purpose of the MOOSE {{module}} module is to provide a set of models that support a variety of simulations performed using other MOOSE modules or MOOSE-based applications.

System Scope

The MOOSE Misc module is designed only to provide code modules that support the solution of physics models that are primarily defined by other MOOSE modules and MOOSE-based applications.

The Misc module provides several specializations of MOOSE classes that are used to support calculations performed in a variety of physics calculations. These include Kernel, AuxKernel, Material and Postprocessor classes that computing terms in diffusion equations, compute density, internal volume, and perform other similar functions.

Assumptions and Dependencies

The Misc module is developed using MOOSE and can itself be based on various MOOSE modules, as such the RTM for the Misc module is dependent upon the files listed at the beginning of this document.

Pre-test Instructions/Environment/Setup

Ideally all testing should be performed on a clean test machine following one of the supported configurations setup by the test system engineer. Testing may be performed on local workstations and cluster systems containing supported operating systems.

The repository should be clean prior to building and testing. When using "git" this can be done by doing a force clean in the main repository and each one of the submodules:


git clean -xfd
git submodule foreach 'git clean -xfd'

All tests must pass in accordance with the type of test being performed. This list can be found in the Software Test Plan.

Changelog Issue Revisions

Errors in changelog references can sometimes occur as a result of typos or conversion errors. If any need to be noted by the development team, they will be noted here.

The changelog for all code residing in the MOOSE repository is located in the MOOSE RTM.

System Requirements Traceability

Functional Requirements

  • misc: Ad Arrhenius Material Property
  • 9.1.1The system shall compute a generic material property based on an Arrhenius model that matches an analytic solution of that equation while using the automatic differentiation system.

    Specification(s): exact

    Design: ArrheniusMaterialProperty

    Issue(s): #22384

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 9.1.2The system shall provide perfect derivatives when using ADArrheniusMaterialProperty.

    Specification(s): exact-jac

    Design: ArrheniusMaterialProperty

    Issue(s): #22384

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

    Prerequisite(s): 9.1.1

  • misc: Arrhenius Material Property
  • 9.2.1The system material shall compute a generic material property based on an Arrhenius model that matches an analytic solution of that equation.

    Specification(s): exact

    Design: ArrheniusMaterialProperty

    Issue(s): #22384

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • misc: Coupled Directional Mesh Height Interpolation
  • 9.3.1The system shall linearly scale a variable based on the local position relative to the maximum and minimum mesh coordinate in a user-specified direction.

    Specification(s): test

    Design: CoupledDirectionalMeshHeightInterpolation

    Issue(s): #1927

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • misc: Dynamic Loading
  • 9.4.1The system shall be able to dynamically load a multiapp from a dynamic library.

    Specification(s): dynamic_load

    Design: MultiApp System

    Issue(s): #12266

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 9.4.2The system shall be able to dynamically load a multiapp using the library name, to select a compiling optimization level for example.

    Specification(s): dynamic_load_w_name

    Design: MultiApp System

    Issue(s): #12266

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 9.4.1

  • 9.4.3The system shall report an error if the type of application to dynamically load is not included in the dynamic library.

    Specification(s): dynamic_load_error_check

    Design: MultiApp System

    Issue(s): #12266

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 9.4.4The system shall throw an error message when the library name is manually supplied but does not supply the right application.

    Specification(s): dynamic_load_bad_libary_name

    Design: MultiApp System

    Issue(s): #24751

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 9.4.5The system shall throw an error when no path or environment variable is supplied for dynamic loading.

    Specification(s): dynamic_load_no_path

    Design: MultiApp System

    Issue(s): #24751

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 9.4.6Any MOOSE application shall be able to dynamically load a module or application and use objects registered therein, with the library name inferred from the module or application name.

    Specification(s): dynamic_object_loading

    Design: DynamicObjectRegistrationAction

    Issue(s): #4712

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 9.4.7Any MOOSE application shall be able to dynamically load a module or application and properly register the provided objects.

    Specification(s): dynamic_object_loading2

    Design: DynamicObjectRegistrationAction

    Issue(s): #24299

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 9.4.8Any MOOSE application shall be able to dynamically load a module or application and use objects registered therein, with the library specified.

    Specification(s): dynamic_object_loading_w_name

    Design: DynamicObjectRegistrationAction

    Issue(s): #10911

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 9.4.12

  • 9.4.9Any MOOSE application shall be able to dynamically load a module or application and properly register module or application specific syntax, with the library name inferred from the module or application name.

    Specification(s): dynamic_object_loading_syntax

    Design: DynamicObjectRegistrationAction

    Issue(s): #4712

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 9.4.10Any MOOSE application shall be able to dynamically load a module or application and properly register module or application specific syntax, with the library specified.

    Specification(s): dynamic_object_loading_syntax_w_name

    Design: DynamicObjectRegistrationAction

    Issue(s): #10911

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 9.4.9

  • 9.4.11Any MOOSE application shall be able to dynamically load a module or application and register only select objects form the module or application.

    Specification(s): dynamic_object_restrict

    Design: DynamicObjectRegistrationAction

    Issue(s): #4712

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 9.4.6

  • 9.4.12Any MOOSE application shall be able to dynamically load a module or application and throw an error if an object is used that is not among selected objects for registration.

    Specification(s): dynamic_object_restrict_bad

    Design: DynamicObjectRegistrationAction

    Issue(s): #4712

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

    Prerequisite(s): 9.4.11

  • 9.4.13Any MOOSE application shall be able to dynamically load a module or application and throw an error if an object is used that is not provided by the module or application.

    Specification(s): dynamic_object_loading_wrong_app

    Design: DynamicObjectRegistrationAction

    Issue(s): #4712

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 9.4.14The system shall throw an error when trying to dynamically load a module or application that does not exist.

    Specification(s): dynamic_object_loading_bogus_app

    Design: DynamicObjectRegistrationAction

    Issue(s): #4712

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

    Prerequisite(s): 9.4.13

  • misc: Fracture Flow
  • 9.5.1The system shall be able to simulate convective flow through lower-dimensional fractures embedded in a higher-dimensional solid

    Specification(s): test

    Design: Misc Module

    Issue(s): #13318

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

Usability Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

Performance Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

System Interface Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

References

No citations exist within this document.