Electromagnetics 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 Electromagnetics 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 MOOSE Electromagnetics module provides an interface to and library containing Maxwell's equations within the MOOSE application ecosystem. It is intended to be used as either a standalone simulation code for electrodynamics or coupled to other MOOSE ecosystem codes (including MOOSE-wrapped applications). Thus, the Electromagnetics module uses the same object-oriented design as MOOSE in order to make simulation design and new development straightforward for engineers and researchers.

System Scope

The scope of the Electromagnetics module is to provide a set of interfaces and objects for building electrodynamics simulations based on the finite element method (FEM). Regarding solvers, meshing libraries, as well as solution/coupling methods and interfaces, the Electromagnetics module relies on the infrastructure provided by the MOOSE framework.

The system contains, generally, a base set of kernels, boundary conditions, and interface conditions designed for the solution of vector fields derived from Maxwell's equations. Further, it currently contains more specific capability in the following general areas:

  • Wave reflection, transmission, and absorption

  • Electrostatic contact on electrically imperfect surfaces

Electromagnetics module developers work with framework and other module and application developers to ensure that the Electromagnetics module provides adequate capability to support on-going and prospective research opportunities involving aspects of electromagnetics.

Assumptions and Dependencies

The Electromagnetics module is developed using MOOSE and can itself be based on various MOOSE modules, as such the RTM for the Electromagnetics 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

  • electromagnetics: Auxkernels
  • 4.1.1The system shall calculate the current density provided with electrostatic field calculations, using an AD material property for electrical conductivity.

    Specification(s): ad_exodiff

    Design: CurrentDensity / ADCurrentDensity

    Issue(s): #21095

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 4.1.2The system shall calculate the current density provided with electrostatic field calculations, using a non-AD material property for electrical conductivity.

    Specification(s): non_ad_exodiff

    Design: CurrentDensity / ADCurrentDensity

    Issue(s): #21095

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 4.1.3The system shall calculate the current density when provided with a vector field variable, simulating the case when an electromagnetic vector field is provided.

    Specification(s): em_ad_exodiff

    Design: CurrentDensity / ADCurrentDensity

    Issue(s): #21095

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 4.1.4The system shall provide an error while
    1. calculating the current density when both electrostatic and electromagnetic field variables are provided by the user.
    2. calculating the current density when an electrostatic calculation is requested but an electromagnetic field variable is provided.
    3. calculating the current density when an electromagnetic calculation is requested but an electrostatic field variable is provided.

    Specification(s): errors/two_vars, errors/ES_electric_field_var, errors/EM_potential_var

    Design: CurrentDensity / ADCurrentDensity

    Issue(s): #21095

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • electromagnetics: Bcs
  • 4.2.1The system shall be able to simulate the field result of an incoming wave reflected on a biased surface and properly absorb the reflected wave in a boundary condition.

    Specification(s): test

    Design: EMRobinBC

    Issue(s): #21098

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 4.2.2The system shall be able to simulate a first order electromagnetic wave launching/absorbing port as a boundary condition, given the incoming/outgoing wave, for real and imaginary components of the field and for vector variables.

    Specification(s): waves

    Design: VectorEMRobinBC

    Issue(s): #21077

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 4.2.3The system shall use the correct jacobian contribution for a first order electromagnetics wave launching/absorbing port boundary condition for vector field variables.

    Specification(s): waves_jacobian_test

    Design: VectorEMRobinBC

    Issue(s): #21077

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

    Prerequisite(s): 4.2.2

  • 4.2.4The system shall present an error to the user whenever the mode of operation for VectorEMRobinBC is set to absorbing, but incoming wave information is supplied.

    Specification(s): waves_absorbing_error

    Design: VectorEMRobinBC

    Issue(s): #21100

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

    Prerequisite(s): 4.2.2

  • electromagnetics: Postprocessors
  • 4.6.1The system shall supply an error if the ReflectionCoefficient object is used on meshes with a dimension larger than one.

    Specification(s): dim_error

    Design: ReflectionCoefficient

    Issue(s): #13744

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

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.