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 RTM specific to the Navier Stokes module.

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 @ 10.0.1 or greater)

    • Note: Intel compilers are not supported.

  • Memory: 8 GBs of RAM for optimized compilation (16 GBs for debug compilation), 2 GB per core execution

  • Processor: 64-bit x86 or ARM64 (specifically, Apple Silicon)

  • Disk: 30GB

  • A POSIX compliant Unix-like operating system, including the two most recent versions of MacOS and most current versions of Linux.

  • Git version control system

  • Python @ 3.7 or greater

System Purpose

The purpose of this software is to allow simulation of fluid flow in regular and porous media. It should be able to determine the pressure, velocity, and fluid temperature fields, as well as the solid temperature field in the case of conjugate heat transfer simulations. It aims to also be able to transport scalar species in the flow fields determined.

System Scope

The MOOSE Navier Stokes module provides numerical discretizations of the Navier Stokes equations to model the flow of fluid through regular and porous media. The equations discretized include the conservation of mass, momentum, energy and of transported scalars / species. It covers a wide range of fluids and of fluid flow regimes. It covers both natural and forced convection regime, and should be able to model conjugate heat transfer between the fluid and solid phases. A number of scalar species can be transported using the velocity field determined from the fluid flow equations. It can be used as a standalone application or can be included in downstream applications interested in modeling multiphysics problems involving fluid flow.

Assumptions and Dependencies

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

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 exhibit global conservation of energy when using the continuous-Galerkin finite element spatial discretization with streamline-upwind Petrov-Galerkin stabilization and with
    1. q2q1 elements
    2. q1q1 elements and pressure-stabilized Petrov-Galerkin stabilization

    Specification(s): conservation/q2q1, conservation/q1q1

    Design: Navier-Stokes ModuleINSElementIntegralEnergyAdvection

    Issue(s): #22074

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.2.58The 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.59The 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.60The 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.61The 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.62The 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.63The 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.64The 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.65The 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.66The 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.67The 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.68The 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.69We 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.70The system shall be able to solve a canonical lid-driven problem using same order variables and the PSPG/SUPG stabilization scheme.

    Specification(s): lid_driven_md

    Design: Navier-Stokes Module

    Issue(s): #23121

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.71We 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.69

  • 10.2.72We 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.73The 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.74We 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.75We 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.74

  • 10.2.76The 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.77Simulation 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.78We 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.79The 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.69

  • 10.2.80The 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.74

  • 10.2.81The 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.71

  • 10.2.82The 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.75

  • 10.2.83The 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.84The 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.85The 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.86The 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.87The 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.88The 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.89The 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.90The 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.91The 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.92The 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.93The 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.94The 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.95The 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.96The 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.97The 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.98The 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.99The 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.100The 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.101The 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.102The 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.103The 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.104The 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

  • 10.2.105The system shall be able to solve a porous flow with pressure drop due to viscous and inertia frictions.

    Specification(s): pm_friction

    Design: Navier-Stokes Module

    Issue(s): #23121

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.106The system shall be able to solve a pressure gradient driven porous flow.

    Specification(s): pressure_gradient

    Design: Navier-Stokes Module

    Issue(s): #23121

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.107The system shall be able to solve a porous flow with internal heating source.

    Specification(s): pm_heat_source

    Design: Navier-Stokes Module

    Issue(s): #23121

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.108The system shall be able to solve a porous flow when reverse flow happens.

    Specification(s): pm_reverse_flow

    Design: Navier-Stokes Module

    Issue(s): #23121

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 10.2.109The system shall be able to solve a porous flow using slip-wall boundary condition.

    Specification(s): slip_wall

    Design: Navier-Stokes Module

    Issue(s): #23121

    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. with no-slip boundary conditions, for which momentum and energy will be dissipated at the wall.
    6. with uniform refinement near an internal interface.
    7. at the very beginning of the simulation, with the initialized velocities

    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, insfv_diverging/insfv_quad_xy_noslip_refined, insfv_diverging/initial

    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 report an error if
    1. a volumetric flow rate is requested at the initialization of the simulation on a boundary internal to the flow domain when using finite volume and Rhie Chow interpolation, as this is not supported

    Specification(s): errors/initial_interior

    Design: VolumetricFlowRate

    Issue(s): #18817

    Collection(s): FAILURE_ANALYSISFUNCTIONAL

    Type(s): RunException

  • 10.5.8The system shall be able to compute the pressure drop in a straight channel with a finite element incompressible Navier Stokes model.

    Specification(s): fe

    Design: PressureDrop

    Issue(s): #23685

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.9The system shall be able to compute the pressure drop in a diverging channel with a finite element incompressible Navier Stokes model
    1. with a regular face pressure evaluation, and
    2. with a pressure drop face evaluation weighted by the local velocity.

    Specification(s): fe_diverging/regular, fe_diverging/weighted

    Design: PressureDrop

    Issue(s): #23685

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.10The system shall be able to compute the pressure drop in a frictionless heated straight channel with a finite volume incompressible Navier Stokes model
    1. with a regular face pressure evaluation, and
    2. with a pressure drop face evaluation weighted by the local velocity

    Specification(s): insfv_straight/regular, insfv_straight/weighted

    Design: PressureDrop

    Issue(s): #23685

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.11The system shall be able to compute the pressure drop in 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, and
    2. with a quadrilateral mesh in RZ geometry.

    Specification(s): insfv_diverging/insfv_quad_xy, insfv_diverging/insfv_quad_rz

    Design: PressureDrop

    Issue(s): #23685

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 10.5.12The system shall report an error in a pressure drop calculation if
    1. an upstream boundary for the pressure is not a boundary for the postprocessor,
    2. a downstream boundary for the pressure is not a boundary for the postprocessor,
    3. a boundary for the postprocessor is not part of either the upstream or downstream pressure evaluation,
    4. a downstream boundary is also an upstream boundary for the pressure drop,
    5. the weighting functor integrates to 0, and
    6. a face interpolation rule is specified for a finite element pressure variable.

    Specification(s): errors/upstream_not_in_boundary, errors/downstream_not_in_boundary, errors/boundary_not_drop_calc, errors/upstream_and_downstream, errors/weight_not_appropriate, errors/face_interp_scheme_for_fe

    Design: PressureDrop

    Issue(s): #23685

    Collection(s): FAILURE_ANALYSISFUNCTIONAL

    Type(s): RunException

  • 10.5.13The 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

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.