Level Set 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 Level Set 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 Level Set module is to provides basic functionality to solve the level set equation. The Level Set module can be very easily coupled with other physics modules in MOOSE. The level set method has become popular in many disciplines, such as image processing, computer graphics, computational geometry, optimization, computational fluid dynamics, and computational biology.
System Scope
The MOOSE Level Set module provides capabilities for solving a set of level set equations. The level set method is commonly used for front tracking problems. The advection of the level set equation is solved using the Galerkin finite element method, and is stabilized with streamline Upwind/Petrov-Galerkin method. To preserve the smooth profile of the regularized level set variable, a re-initialization step can be used through the MOOSE multi-app system. The solutions are verified against classical benchmark problems.
Assumptions and Dependencies
The Level Set module is developed using MOOSE and can itself be based on various MOOSE modules, as such the RTM for the Level Set 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
- level_set: Functions
- 8.1.1The level set module shall include the bubble function defined in Olsson and Kreiss (2005).
Specification(s): test
Design: LevelSetOlssonBubble
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.1.2The Olsson bubble function shall return correct derivatives for dual number points.
Specification(s): adjac
Design: LevelSetOlssonBubble
Issue(s): #20193
Collection(s): FUNCTIONAL
Type(s): PetscJacobianTester
- 8.1.3The level set module shall include the plane function defined in Olsson and Kreiss (2005).
Specification(s): test
Design: LevelSetOlssonPlane
Issue(s): #15167
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.1.4The level set module shall include the vortex function defined in Olsson and Kreiss (2005) with an instantaneous reverse feature.
Specification(s): instantenous
Design: LevelSetOlssonVortex
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.1.5The level set module shall include the vortex function defined in Olsson and Kreiss (2005) with an cosine reverse feature.
Specification(s): cosine
Design: LevelSetOlssonVortex
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- level_set: Kernels
- 8.2.1The LevelSetAdvection Kernel shall converage at the correct rate as tested by the method of manufactured solutions.
Specification(s): mms
Design: LevelSetAdvection
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.2.2The level set module shall include the reinitialization scheme presented by Olsson and Kreiss (2005).
Specification(s): test
Design: LevelSetAdvection
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- level_set: Reinitialization
- 8.3.1The level set module shall be capable of solving the level set equation with original reinitialization.
Specification(s): full_original_reinitialization
Design: Level Set Module
Issue(s): #14849
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.3.2The level set module shall be capable of solving the level set equation with modified reinitialization.
Specification(s): full_modified_reinitialization
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- level_set: Transfers
- 8.4.1The level set module shall include the ability to transfer a non-linear variable between the parent and a sub-application.
Specification(s): copy
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.4.2The level set module shall include the ability to transfer refinement patterns, with multiple levels of refinement, to a sub-application.
Specification(s): test
Design: Level Set ModuleLevelSetMeshRefinementTransfer
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.4.3The level set module shall include the ability to transfer refinement patterns, with a single level of refinement, to a sub-application.
Specification(s): test
Design: Level Set ModuleLevelSetMeshRefinementTransfer
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): Exodiff
- 8.4.4The system shall return an error if parameters for an unsupported direction are passed to a transfer
Specification(s): parameter_error
Design: Level Set ModuleLevelSetMeshRefinementTransfer
Issue(s): #19451
Collection(s): FUNCTIONALFAILURE_ANALYSIS
Type(s): RunException
- level_set: Verification
- 8.5.1The level set module shall use the method of manufactured solutions to test convergence of the level set equation and ensure that the level 0 solution is consistent.
Specification(s): level_00
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.2The level set module shall use the method of manufactured solutions to test convergence of the level set equation and ensure that the level 1 solution is consistent.
Specification(s): level_01
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.3The level set module shall use the method of manufactured solutions to test convergence of the level set equation and ensure that the level 2 solution is consistent.
Specification(s): level_02
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.4The level set module shall use the method of manufactured solutions to test convergence of the level set equation and ensure that the level 3 solution is consistent.
Specification(s): level_03
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.5The level set module shall use the method of manufactured solutions to test convergence of the level set equation and ensure that the level 4 solution is consistent.
Specification(s): level_04
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.6The level set module shall use the method of manufactured solutions to test convergence of the level set equation with SUPG and ensure that the level 0 solution is consistent.
Specification(s): level_00
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.7The level set module shall use the method of manufactured solutions to test convergence of the level set equation with SUPG and ensure that the level 1 solution is consistent.
Specification(s): level_01
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.8The level set module shall use the method of manufactured solutions to test convergence of the level set equation with SUPG and ensure that the level 2 solution is consistent.
Specification(s): level_02
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.9The level set module shall use the method of manufactured solutions to test convergence of the level set equation with SUPG and ensure that the level 3 solution is consistent.
Specification(s): level_03
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
- 8.5.10The level set module shall use the method of manufactured solutions to test convergence of the level set equation with SUPG and ensure that the level 4 solution is consistent.
Specification(s): level_04
Design: Level Set Module
Issue(s): #8465
Collection(s): FUNCTIONAL
Type(s): CSVDiff
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
- Elin Olsson and Gunilla Kreiss.
A conservative level set method for two phase flow.
Journal of computational physics, 210(1):225–246, 2005.
URL: http://dx.doi.org/10.1016/j.jcp.2005.04.007.[BibTeX]