Misc Requirements Traceability Matrix
This template follows INL template TEM-214, "IT System Requirements Traceability Matrix."
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.
Hardware | Information |
---|---|
CPU Architecture | x86_64, ARM (Apple Silicon) |
Memory | 8 GB (16 GBs for debug compilation) |
Disk Space | 30GB |
Libraries | Version / Information |
---|---|
GCC | 8.5.0 - 12.2.1 |
LLVM/Clang | 10.0.1 - 16.0.6 |
Intel (ICC/ICX) | Not supported at this time |
Python | 3.7 - 3.11 |
Python Packages | packaging 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
- misc: Kernels
- 9.6.1Thermo diffusion shall reproduce an analytical solution
Specification(s): thermo_diffusion
Design: ThermoDiffusion
Issue(s): #3392
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 9.6.2AD thermo diffusion shall reproduce an analytical solution
Specification(s): ad_thermo_diffusion
Design: ADThermoDiffusion
Issue(s): #12633
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 9.6.3AD thermo diffusion shall work with material properties and the Jacobian shall be beautiful
Specification(s): ad_thermo_diffusion_jacobian
Design: ADThermoDiffusion
Issue(s): #5658
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- misc: Sensor Postprocessor
- 9.7.1The system process a signal and send out a general sensor-mediated signal for transient case.
Specification(s): transient_general_sensor
Design: GeneralSensorPostprocessor
Issue(s): #25590
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 9.7.2The system process a signal and send out a general sensor-mediated signal for steady-state case.
Specification(s): steady_general_sensor
Design: GeneralSensorPostprocessor
Issue(s): #25590
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 9.7.3The system process a signal and send out a thermocouple sensor-mediated signal for transient case.
Specification(s): transient_thermocouple_sensor
Design: ThermocoupleSensorPostprocessor
Issue(s): #25590
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 9.7.4The system process a signal and send out a thermocouple sensor-mediated signal for steady-state case.
Specification(s): steady_thermocouple_sensor
Design: ThermocoupleSensorPostprocessor
Issue(s): #25590
Collection(s): FUNCTIONAL
Type(s): CSVDiff