Navier Stokes 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 Requirement Traceability Matrix (RTM) specific to the Navier Stokes application.

Introduction

Minimum System Requirements

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

  • GCC/Clang C++17 compliant compiler (GCC @ 7.5.0, Clang @ 5.0.2 or greater)

    • Note: Intel compilers are not supported.

  • Memory: 16 GBs (debug builds)

  • Processor: 64-bit x86

  • Disk: 30GB

System Purpose

The MOOSE is a tool for solving complex coupled Multiphysics equations using the finite element method. MOOSE uses an object-oriented design to abstract data structure management, parallelism, threading and compiling while providing an easy to use interface targeted at engineers that may not have a lot of software development experience. MOOSE will require extreme scalability and flexibility when compared to other FEM frameworks. For instance, MOOSE needs the ability to run extremely complex material models, or even third-party applications within a parallel simulation without sacrificing parallelism. This capability is in contrast to what is often seen in commercial packages, where custom material models can limit the parallel scalability, forcing serial runs in the most severe cases. When comparing high-end capabilities, many MOOSE competitors target modest-sized clusters with just a few thousand processing cores. MOOSE, however, will be required to routinely executed on much larger clusters with scalability to clusters available in the top 500 systems (top500.org). MOOSE will also be targeted at smaller systems such as high-end laptop computers.

The design goal of MOOSE is to give developers ultimate control over their physical models and applications. Designing new models or solving completely new classes of problems will be accomplished by writing standard C++ source code within the framework's class hierarchy. Scientists and engineers will be free to implement completely new algorithms using pieces of the framework where possible, and extending the framework's capabilities where it makes sense to do so. Commercial applications do not have this capability, and instead opt for either a more rigid parameter system or a limited application-specific metalanguage.

System Scope

MOOSE's scope is to provide a set of interfaces for building FEM simulations. Abstractions to all underlying libraries are provided.

Solving coupled problems where competing physical phenomena impact one and other in a significant nonlinear fashion represents a serious challenge to several solution strategies. Small perturbations in strongly-coupled parameters often have very large adverse effects on convergence behavior. These adverse effects are compounded as additional physics are added to a model. To overcome these challenges, MOOSE employs three distinct yet compatible systems for solving these types of problems.

First, an advanced numerical technique called the JFNK method is employed to solve the most fully-coupled physics in an accurate, consistent way. An example of this would be the effect of temperature on the expansion or contraction of a material. While the JFNK numerical method is very effective at solving fully-coupled equations, it can also be computationally expensive. Plus, not all physical phenomena in a given model are truly coupled to one another. For instance, in a reactor, the speed of the coolant flow may not have any direct effect on the complex chemical reactions taking place inside the fuel rods. We call such models "loosely-coupled". A robust, scalable system must strike the proper balance between the various modeling strategies to avoid performing unnecessary computations or incorrectly predicting behavior in situations such as these.

MOOSE's Multiapp system will allow modelers to group physics into logical categories where MOOSE can solve some groups fully-coupled and others loosely-coupled. The Multiapp system goes even further by also supporting a "tightly-coupled" strategy, which falls somewhere between the "fully-coupled" and "loosely-coupled" approaches. Several sets of physics can then be linked together into logical hierarchies using any one of these coupling strategies, allowing for several potential solution strategies. For instance, a complex nuclear reactor model might consist of several tightly-coupled systems of fully-coupled equations.

Finally, MOOSE's Transfers system ties all of the physics groups contained within the Multiapp system together and allows for full control over the flow of information among the various groups. This capability bridges physical phenomena from several different complementary scales simultaneously. When these three MOOSE systems are combined, myriad coupling combinations are possible. In all cases, the MOOSE framework handles the parallel communication, input, output and execution of the underlying simulation. By handling these computer science tasks, the MOOSE framework keeps modelers focused on doing research.

MOOSE innovates by building advanced simulation capabilities on top of the very best available software technologies in a way that makes them widely accessible for innovative research. MOOSE is equally capable of solving small models on common laptops and the very biggest FEM models ever attempted—all without any major changes to configuration or source code. Since its inception, the MOOSE project has focused on both developer and computational efficiency. Improved developer efficiency is achieved by leveraging existing algorithms and technologies from several leading open-source packages. Additionally, MOOSE uses several complementary parallel technologies (both the distributed-memory message passing paradigm and shared-memory thread-based approaches are used) to lay an efficient computational foundation for development. Using existing open technologies in this manner helps the developers reduce the scope of the project and keeps the size of the MOOSE code base maintainable. This approach provides users with state-of-the-art finite element and solver technology as a basis for the advanced coupling and solution strategies mentioned previously.

MOOSE's developers work openly with other package developers to make sure that cutting-edge technologies are available through MOOSE, providing researchers with competitive research opportunities. MOOSE maintains a set of objects that hide parallel interfaces while exposing advanced spatial and temporal coupling algorithms in the framework. This accessible approach places developmental technology into the hands of scientists and engineers, which can speed the pace of scientific discovery.

Assumptions and Dependencies

The Navier Stokes application is developed using MOOSE and is based on various modules, as such the RTM for Navier Stokes 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.

System Requirements Traceability

Functional Requirements

  • navier_stokes: Finite Element
  • 10.2.1The system shall be able to solve the Euler equations for subsonic flow with a bump in the channel.

    Specification(s): bump

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #3036#7350

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.2The system shall be able to solve the incompressible Navier-Stokes equations in an RZ coordinate system while not integrating the pressure term by parts.

    Specification(s): RZ_cone_no_parts

    Design: Navier-Stokes Module

    Issue(s): #7651

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.3The system shall be able to solve the incompressible Navier-Stokes equations in an RZ coordinate system while integrating the pressure term by parts.

    Specification(s): RZ_cone_by_parts

    Design: Navier-Stokes Module

    Issue(s): #7651

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.4The system shall be able to solve the incompressible Navier-Stokes equations for a high Reynolds number in an RZ coordinate system.

    Specification(s): high_re

    Design: Navier-Stokes Module

    Issue(s): #7651

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.5The system shall be able to compute an accurate Jacobian for the incompressible Navier-Stokes equations in an RZ coordinate system.

    Specification(s): jac

    Design: Navier-Stokes Module

    Issue(s): #7651

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.6The system shall be able to solve the transient incompressible Navier-Stokes equations using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts and reproduce the results of a hand-coded Jacobian implementation.

    Specification(s): ad_rz_cone_by_parts

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.7The system shall be able to solve the transient incompressible Navier-Stokes equations using an automatic differentiation, vector variable implementation in an RZ coordinate system while not integrating the pressure term by parts, using a traction form for the viscous term, and using a no-bc boundary condition, and reproduce the results of a hand-coded Jacobian implementation.

    Specification(s): ad_rz_cone_no_parts

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.8The system shall be able to solve the steady incompressible Navier-Stokes equations using an automatic differentiation, vector variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): ad_rz_cone_no_parts_steady

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.9The system shall be able to solve the steady incompressible Navier-Stokes equations using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a natural outflow boundary condition

    Specification(s): ad_rz_cone_by_parts_steady

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.10The system shall be able to solve the steady incompressible Navier-Stokes equations using an automatic differentiation, vector variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a NoBC outflow boundary condition.

    Specification(s): ad_rz_cone_no_parts_steady_nobcbc

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.11The system shall be able to solve the steady incompressible Navier-Stokes equations using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a NoBC outflow boundary condition

    Specification(s): ad_rz_cone_by_parts_steady_nobcbc

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.12The system shall be able to solve the steady incompressible Navier-Stokes equations using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a natural outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_no_parts_steady

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.13The system shall be able to solve the steady incompressible Navier-Stokes equations using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a natural outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_by_parts_steady

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.14The system shall be able to solve the steady incompressible Navier-Stokes equations using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a NoBC outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_no_parts_steady_nobcbc

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.15The system shall be able to solve the steady incompressible Navier-Stokes equations using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a NoBC outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_by_parts_steady_nobcbc

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.16The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using an automatic differentiation, vector variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): ad_rz_cone_no_parts_steady_supg_pspg

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.17The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a natural outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_no_parts_steady_supg_pspg

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.18The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): ad_rz_cone_by_parts_steady_supg_pspg

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.19The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a natural outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_by_parts_steady_supg_pspg

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.20The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a second order velocity basis using an automatic differentiation, vector variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): ad_rz_cone_no_parts_steady_supg_pspg_second_order

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.21The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a second order velocity basis using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while not integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): rz_cone_no_parts_steady_supg_pspg_second_order

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.22The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a second order velocity basis using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): ad_rz_cone_by_parts_steady_supg_pspg_second_order

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.23The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a second order velocity basis using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while integrating the pressure term by parts and applying a natural outflow boundary condition.

    Specification(s): rz_cone_by_parts_steady_supg_pspg_second_order

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.24The system shall compute an accurate Jacobian using automatic differentiation when solving the incompressible Navier Stokes equations in an axisymmetric coordinate system with SUPG and PSPG stabilization

    Specification(s): ad_jac

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.25The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts, using a traction form for the viscous term, and applying a natural outflow boundary condition.

    Specification(s): ad_rz_cone_by_parts_traction_steady_supg_pspg

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.26The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using a hand-coded Jacobian, standard variable implementation in an RZ coordinate system while integrating the pressure term by parts, using a traction form for the viscous term, and applying a natural outflow boundary condition and reproduce the results of the AD, vector variable implementation.

    Specification(s): rz_cone_by_parts_traction_steady_supg_pspg

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.27The system shall be able to solve the steady incompressible Navier-Stokes equations with SUPG and PSPG stabilization and a first order velocity basis using an automatic differentiation, vector variable implementation in an RZ coordinate system while integrating the pressure term by parts, using a traction form for the viscous term, and applying a natural outflow boundary condition and obtain a perfect Jacobian.

    Specification(s): ad_rz_cone_by_parts_traction_steady_supg_pspg_jac

    Design: Navier-Stokes Module

    Issue(s): #14901

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.28The system shall be able to solve the steady incompressible Navier-Stokes equations in an axisymmetric coordinate system, using a Jacobian computed via automatic differentiation, on a displaced mesh, with the viscous term in
    1. traction form
    2. laplace form

    Specification(s): ad_rz_displacements/traction, ad_rz_displacements/laplace

    Design: Navier-Stokes Module

    Issue(s): #21102

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.29The system shall compute inflow and outflow boundary conditions for advected variables

    Specification(s): advection_bc

    Design: AdvectionBC

    Issue(s): #13283

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.30We shall error if the user provides less velocity components than the mesh dimension

    Specification(s): check_too_few_components

    Design: AdvectionBC

    Issue(s): #13283

    Collection(s): FAILURE_ANALYSISFUNCTIONAL

    Type(s): RunException

  • 10.2.31We shall error if the user provides more than 3 velocity components

    Specification(s): check_too_many_components

    Design: AdvectionBC

    Issue(s): #13283

    Collection(s): FAILURE_ANALYSISFUNCTIONAL

    Type(s): RunException

  • 10.2.32We shall allow the user to supply more velocity components than the mesh dimension (up to 3 components)

    Specification(s): check_more_components_than_mesh_dim

    Design: AdvectionBC

    Issue(s): #13283

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.33The system shall be able to solve two different kernel sets with two different material domains.

    Specification(s): two-mats-two-eqn-sets

    Design: Navier-Stokes Module

    Issue(s): #15884

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.34The system shall be able to solve two different kernel sets within one material domain.

    Specification(s): one-mat-two-eqn-sets

    Design: Navier-Stokes Module

    Issue(s): #15884

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.35The system shall be able to solve one kernel set with two different material domains.

    Specification(s): two-mats-one-eqn-set

    Design: Navier-Stokes Module

    Issue(s): #15884

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.36The system shall be able to reproduce benchmark results for a Rayleigh number of 1e3.

    Specification(s): 1e3

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.37The system shall be able to reproduce benchmark results for a Rayleigh number of 1e4.

    Specification(s): 1e4

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.38The system shall be able to reproduce benchmark results for a Rayleigh number of 1e5.

    Specification(s): 1e5

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.39The system shall be able to reproduce benchmark results for a Rayleigh number of 1e6.

    Specification(s): 1e6

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.40The system shall be able to simulate natural convection by adding the Boussinesq approximation to the incompressible Navier-Stokes equations.

    Specification(s): exo

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.41The system shall be able to solve mass, momentum, and energy incompressible Navier-Stokes equations with multiple threads.

    Specification(s): threaded_exo

    Design: INSADBoussinesqBodyForce

    Issue(s): #15713

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.42The system shall have an accurate Jacobian provided by automatic differentiation when computing the Boussinesq approximation.

    Specification(s): jac

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.43The system shall be able to support SUPG and PSPG stabilization of the incompressible Navier Stokes equations including the Boussinesq approximation.

    Specification(s): exo_stab

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.44The system shall be able to solve stablized mass, momentum, and energy incompressible Navier-Stokes equations with multiple threads.

    Specification(s): threaded_exo_stab

    Design: INSADBoussinesqBodyForce

    Issue(s): #15713

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.45The system shall have an accurate Jacobian provided by automatic differentiation when computing the Boussinesq approximation with SUPG and PSPG stabilization.

    Specification(s): jac_stab

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.46The system shall be able to reproduce results of incompressible Navier-Stokes with Boussinesq approximation using a customized and condensed action syntax.

    Specification(s): exo_stab_action

    Design: INSADBoussinesqBodyForce

    Issue(s): #15159

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.43

  • 10.2.47The system shall be able to solve mass, momentum, and energy incompressible Navier-Stokes equations with a custom action syntax using multiple threads.

    Specification(s): threaded_exo_stab_action

    Design: INSADBoussinesqBodyForce

    Issue(s): #15713

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.48The system shall be able to apply an external force to the incompressible Navier-Stokes momentum equation through a coupled variable.

    Specification(s): steady

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.49The system shall be able to compute an accurate Jacobian when applying an external force to the incompressible Navier-Stokes momentum equation through a coupled variable.

    Specification(s): steady-jac

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.50The system shall be able to apply an external force to the incompressible Navier-Stokes momentum equation through a vector function.

    Specification(s): steady-function

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.51The system shall be able to compute an accurate Jacobian when applying an external force to the incompressible Navier-Stokes momentum equation through a vector function.

    Specification(s): steady-function-jac

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.52The system shall be able to apply an external force to the incompressible Navier-Stokes momentum equation through a coupled variable, with the problem setup through automatic action syntax.

    Specification(s): steady-action

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.53The system shall be able to compute an accurate Jacobian when applying an external force to the incompressible Navier-Stokes momentum equation through a coupled variable, with the problem setup through automatic action syntax.

    Specification(s): steady-action-jac

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.54The system shall be able to apply an external force to the incompressible Navier-Stokes momentum equation through a vector function, with the problem setup through automatic action syntax.

    Specification(s): steady-action-function

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.55The system shall be able to compute an accurate Jacobian when applying an external force to the incompressible Navier-Stokes momentum equation through a vector function, with the problem setup through automatic action syntax.

    Specification(s): steady-action-function-jac

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.56The system shall be able to solve the Navier-Stokes equations with a coupled variable force and a gravity force
    1. provided through a dedicated object,
    2. or through a generic object that can simultaneously add multiple forces through both a coupled variable and a function.
    3. The generic object shall also be able to compute the forces solely through multiple coupled variables,
    4. or solely through multiple vector functions.
    5. The system shall be able to add the generic object through an automatic action syntax and provide two forces either through a coupled variable and a function,
    6. two coupled variables,
    7. or two functions.

    Specification(s): gravity/gravity-object, gravity/var-and-func, gravity/two-vars, gravity/two-funcs, gravity/var-and-func-action, gravity/two-vars-action, gravity/two-funcs-action

    Design: INSADMomentumCoupledForce

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.57The system shall be able to model a volumetric heat source and included it in stabilization terms.

    Specification(s): steady

    Design: INSADEnergySource

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.58The system shall be able to build a volumetric heat source model using an automatic action syntax.

    Specification(s): steady-action

    Design: INSADEnergySource

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.59The system shall be able to model a volumetric heat source with a coupled variable and included it in stabilization terms.

    Specification(s): steady-var

    Design: INSADEnergySource

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.60The system shall be able to build a volumetric heat source model, provided through a coupled variable, using an automatic action syntax.

    Specification(s): steady-var-action

    Design: INSADEnergySource

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.61The system shall be able to model the effect of gravity on incompressible flow using a finite element discretization.

    Specification(s): gravity

    Design: Continuous Galerkin Finite Element Navier StokesINSMomentumLaplaceForm

    Issue(s): #9528

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.62The system shall compute accurate Jacobians for the incompressible Navier-Stokes equation.

    Specification(s): jacobian_test

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): AnalyzeJacobian

  • 10.2.63The system shall compute accurate Jacobians for the incompressible Navier-Stokes equation with stabilization.

    Specification(s): jacobian_stabilized_test

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): AnalyzeJacobian

  • 10.2.64The system shall compute accurate Jacobians for the incompressible Navier-Stokes equation with stabilization with a traction boundary condition.

    Specification(s): jacobian_traction_stabilized_test

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): AnalyzeJacobian

  • 10.2.65The system shall be able to solve Jeffery-Hamel flow in a 2D wedge and compare to the analytical solution
    1. with pressure Dirichlet boundary conditions
    2. and with natural advection boundary conditions.

    Specification(s): jeffery/wedge_dirichlet, jeffery/wedge_natural

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #7904

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.66The system shall support solving a steady energy equation and transient momentum equations and apply the correct stabilization.

    Specification(s): mixed

    Design: Navier-Stokes Module

    Issue(s): #16014

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.67The system shall support solving a steady energy equation and transient momentum equations with correct stabilization and compute a perfect Jacobian.

    Specification(s): jac

    Design: Navier-Stokes Module

    Issue(s): #16014

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.68We shall be able to solve a canonical lid-driven problem without stabilization, using mixed order finite elements for velocity and pressure.

    Specification(s): lid_driven

    Design: Navier-Stokes Module

    Issue(s): #000

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.69We shall be able to reproduce the results from the hand-coded lid-driven simulation using automatic differentiation objects.

    Specification(s): ad_lid_driven

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.68

  • 10.2.70We shall be able to run lid-dirven simulation using a global mean-zero pressure constraint approach.

    Specification(s): ad_lid_driven_mean_zero_pressure

    Design: Navier-Stokes Module

    Issue(s): #15549

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.71The Jacobian for the mixed-order INS problem shall be perfect when provided through automatic differentiation.

    Specification(s): ad_lid_driven_jacobian

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.72We shall be able to solve the lid-driven problem using equal order shape functions with pressure-stabilized petrov-galerkin stabilization. We shall also demonstrate SUPG stabilization.

    Specification(s): lid_driven_stabilized

    Design: Navier-Stokes Module

    Issue(s): #9687

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.73We shall be able to reproduce the hand-coded stabilized results with automatic differentiation objects.

    Specification(s): ad_lid_driven_stabilized

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.72

  • 10.2.74The Jacobian for the automatic differentiation stabilized lid-driven problem shall be perfect.

    Specification(s): ad_lid_driven_stabilized_jacobian

    Design: Navier-Stokes Module

    Issue(s): #13025

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 10.2.75Simulation with equal-order shape functions without pressure stabilization shall be unstable.

    Specification(s): still_unstable

    Design: Navier-Stokes Module

    Issue(s): #9687

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 10.2.76We shall be able to solve the INS equations using the classical Chorin splitting algorithm.

    Specification(s): lid_driven_chorin

    Design: Navier-Stokes Module

    Issue(s): #000

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.77The system shall be able to reproduce unstabilized incompressible Navier-Stokes results with hand-coded Jacobian using a customized and condensed action syntax.

    Specification(s): lid_driven_action

    Design: Navier-Stokes Module

    Issue(s): #15159

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.68

  • 10.2.78The system shall be able to reproduce stabilized incompressible Navier-Stokes results with hand-coded Jacobian using a customized and condensed action syntax.

    Specification(s): lid_driven_stabilized_action

    Design: Navier-Stokes Module

    Issue(s): #15159

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.72

  • 10.2.79The system shall be able to reproduce unstabilized incompressible Navier-Stokes results with auto-differentiation using a customized and condensed action syntax.

    Specification(s): ad_lid_driven_action

    Design: Navier-Stokes Module

    Issue(s): #15159

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.69

  • 10.2.80The system shall be able to reproduce stabilized incompressible Navier-Stokes results with auto-differentiation using a customized and condensed action syntax.

    Specification(s): ad_lid_driven_stabilized_action

    Design: Navier-Stokes Module

    Issue(s): #15159

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 10.2.73

  • 10.2.81The system shall be able to solve a steady stabilized mass/momentum/energy incompressible Navier-Stokes formulation.

    Specification(s): ad_stabilized_energy_steady

    Design: Navier-Stokes Module

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.82The system shall be able to solve a transient stabilized mass/momentum/energy incompressible Navier-Stokes formulation.

    Specification(s): ad_stabilized_energy_transient

    Design: Navier-Stokes Module

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.83The system shall be able to solve a steady stabilized mass/momentum/energy incompressible Navier-Stokes formulation with action syntax.

    Specification(s): ad_stabilized_energy_steady_action

    Design: Navier-Stokes Module

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.84The system shall be able to solve a transient stabilized mass/momentum/energy incompressible Navier-Stokes formulation with action syntax.

    Specification(s): ad_stabilized_energy_transient_action

    Design: Navier-Stokes Module

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.85The system shall be able to solve a transient incompressible Navier-Stokes with nonlinear Smagorinsky eddy viscosity.

    Specification(s): ad_stabilized_transient_les

    Design: Navier-Stokes Module

    Issue(s): #15757

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.86The system shall be able to apply pressure stabilization using an alpha parameter of 1e-6 on a
    1. 4x4,
    2. 8x8,
    3. 16x16,
    4. and 32x32 mesh.

    Specification(s): alpha_1e-6/4x4, alpha_1e-6/8x8, alpha_1e-6/16x16, alpha_1e-6/32x32

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.87The system shall be able to apply pressure stabilization using an alpha parameter of 1e-3 on a
    1. 4x4,
    2. 8x8,
    3. 16x16,
    4. and 32x32 mesh.

    Specification(s): alpha_1e-3/4x4, alpha_1e-3/8x8, alpha_1e-3/16x16, alpha_1e-3/32x32

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.88The system shall be able to apply pressure stabilization using an alpha parameter of 1e0 on a
    1. 4x4,
    2. 8x8,
    3. 16x16,
    4. and 32x32 mesh.

    Specification(s): alpha_1e0/4x4, alpha_1e0/8x8, alpha_1e0/16x16, alpha_1e0/32x32

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.89The system shall be able to apply streamline-upwind stabilization using an alpha parameter of 1e-6 on a
    1. 4x4,
    2. 8x8,
    3. 16x16,
    4. and 32x32 mesh.

    Specification(s): alpha_1e-6/4x4, alpha_1e-6/8x8, alpha_1e-6/16x16, alpha_1e-6/32x32

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.90The system shall be able to apply streamline-upwind stabilization using an alpha parameter of 1e-3 on a
    1. 4x4,
    2. 8x8,
    3. 16x16,
    4. and 32x32 mesh.

    Specification(s): alpha_1e-3/4x4, alpha_1e-3/8x8, alpha_1e-3/16x16, alpha_1e-3/32x32

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.91The system shall be able to apply streamline-upwind stabilization using an alpha parameter of 1e0 on a
    1. 4x4,
    2. 8x8,
    3. 16x16,
    4. and 32x32 mesh.

    Specification(s): alpha_1e0/4x4, alpha_1e0/8x8, alpha_1e0/16x16, alpha_1e0/32x32

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.92The system shall be able to solve high Reynolds number incompressible flow problems through use of streamline upwind Petrov-Galerkin stabilization and with a Q2Q1 discretization

    Specification(s): adv_dominated_supg_stabilized

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.93The system shall be able to solve high Reynolds number incompressible flow problems through use of streamline upwind and pressure stabilized Petrov-Galerkin and with a Q1Q1 discretization

    Specification(s): adv_dominated_supg_pspg_stabilized

    Design: INSMassINSMomentumLaplaceForm

    Issue(s): #9960

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.94The system shall allow MOOSE applications to specify nonzero malloc behavior; for the Navier-Stokes application, new nonzero allocations shall be errors.

    Specification(s): malloc

    Design: MooseApp

    Issue(s): #7901

    Collection(s): FAILURE_ANALYSISFUNCTIONAL

    Type(s): RunException

  • 10.2.95The system shall be able to solve for incompressible fluid flowing through a 2D channel driven by pressure inlet and outlet boundary conditions
    1. using the kernel formulation,
    2. using the action formulation
    3. and using a field split preconditioning.

    Specification(s): open_bc_pressure_BC/kernels, open_bc_pressure_BC/action, open_bc_pressure_BC/fieldSplit

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #6585

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.96The system shall be able to solve an axisymmetric pipe flow problem using a finite element discretization in which the axis of symmetry is the x-axis.

    Specification(s): exo

    Design: Incompressible Finite Volume Navier Stokes

    Issue(s): #21102

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.97The system shall be able to solve for an incompressible fluid flowing through a 1D channel with Streamline Upwind Petrov Galerkin stabilization.
    1. using the optimal tau stabilization,
    2. using the modified tau stabilization,
    3. and still satisfy MMS testing in 1D
    4. and in 2D.

    Specification(s): supg/tauOpt, supg/tauMod, supg/1d_error_test_supg, supg/2d_error_test_supg

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #9643

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.98The system shall be able to solve for incompressible fluid evolving in a corner cavity with Dirichlet boundary conditions on velocity.
    1. in 2D
    2. and in 2D RZ axisymmetric simulations.

    Specification(s): stagnation/2D, stagnation/axisymmetric

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #3036#7651

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.99The system shall be able to solve for incompressible fluid flowing through a 2D channel with only inlet velocity boundary conditions
    1. with the regular volumetric integration of the momentum pressure term
    2. and with the momentum pressure term integrated by parts.

    Specification(s): velocity_inletBC/no_parts, velocity_inletBC/by_parts

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #3036

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.100The system shall be able to model heat transfer from ambient surroundings using a volumetric approximation.

    Specification(s): steady

    Design: INSADEnergyAmbientConvection

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.101The system shall be able to build a simulation, modeling heat transfer from ambient surroundings, using an automated action syntax.

    Specification(s): steady-action

    Design: INSADEnergyAmbientConvection

    Issue(s): #15500

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.102The system shall be able to add a incompressible Navier-Stokes energy/temperature equation using an action, but use a temperature variable already added in the input file.

    Specification(s): steady-action-no-temp-var

    Design: INSAction

    Issue(s): #15607

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: Ics
  • 10.4.1The system shall be able to set initial conditions for fluid flow variables.

    Specification(s): ns_ics

    Design: NSInitialCondition

    Issue(s): #17900

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.4.2The system shall be able to set initial conditions for fluid flow variables using functions.

    Specification(s): ns_function_ics

    Design: NSFunctionInitialCondition

    Issue(s): #17900

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.4.3The system shall be able to set intial conditions for porous flow variables.

    Specification(s): cns_ics

    Design: PNSInitialCondition

    Issue(s): #17900

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: Postprocessors
  • 10.5.1The system shall be able to compute mass and momentum flow rates at internal and external boundaries of a straight channel with a finite element incompressible Navier Stokes model.

    Specification(s): fe

    Design: VolumetricFlowRate

    Issue(s): #16169#16585

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.2The system shall be able to compute mass and momentum flow rates at internal and external boundaries of a diverging channel with a finite element incompressible Navier Stokes model.

    Specification(s): fe_diverging

    Design: VolumetricFlowRate

    Issue(s): #16169#16585

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.3The system shall be able to compute flow rates and prove mass, momentum and energy conservation at internal and external boundaries of a frictionless heated straight channel with a finite volume incompressible Navier Stokes model.

    Specification(s): insfv_straight

    Design: VolumetricFlowRate

    Issue(s): #16169#16585

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.4The system shall be able to compute flow rates and prove mass, momentum and energy conservation at internal and external boundaries of a frictionless heated diverging channel with a finite volume incompressible Navier Stokes model,
    1. with a quadrilateral mesh in XY geometry, with mass flow measured using either a variable or material property,
    2. with a quadrilateral mesh in RZ geometry,
    3. with a triangular mesh in XY geometry,
    4. with upwind interpolation of advected quantities,
    5. and with no-slip boundary conditions, for which momentum and energy will be dissipated at the wall.

    Specification(s): insfv_diverging/insfv_quad_xy, insfv_diverging/insfv_quad_rz, insfv_diverging/insfv_tri_xy, insfv_diverging/insfv_quad_xy_upwind, insfv_diverging/insfv_quad_xy_noslip

    Design: VolumetricFlowRate

    Issue(s): #16169#16585

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.5The system shall be able to compute flow rates and prove mass, momentum and energy conservation at internal and external boundaries of a frictionless heated straight channel with a finite volume porous media incompressible Navier Stokes model.

    Specification(s): pinsfv_straight

    Design: VolumetricFlowRate

    Issue(s): #16169#16585

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.6The system shall be able to compute flow rates and prove mass, momentum and energy conservation at internal and external boundaries of a frictionless heated diverging channel with a finite volume porous media incompressible Navier Stokes model,
    1. with a quadrilateral mesh in XY geometry, with mass flow measured using either a variable or material property,
    2. with a quadrilateral mesh in RZ geometry,
    3. with upwind interpolation of advected quantities,
    4. and with no-slip boundary conditions, for which momentum and energy will be dissipated at the wall.

    Specification(s): pinsfv_diverging/pinsfv_quad_xy, pinsfv_diverging/pinsfv_quad_rz, pinsfv_diverging/pinsfv_quad_xy_upwind, pinsfv_diverging/pinsfv_quad_xy_noslip

    Design: VolumetricFlowRate

    Issue(s): #16169#16585

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.7The system shall be able to compute the Rayleigh number in a natural convection flow simulation

    Specification(s): rayleigh

    Design: RayleighNumber

    Issue(s): #20091

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

Usability Requirements

Performance Requirements

System Interface Requirements

References

No citations exist within this document.