Level Set 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 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.

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

LibrariesVersion / Information
GCC8.5.0 - 12.2.1
LLVM/Clang10.0.1 - 16.0.6
Intel (ICC/ICX)Not supported at this time
Python3.7 - 3.11
Python Packagespackaging 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: 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: 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

  1. 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]