Navier Stokes System Design Description

This template follows INL template TEM-140, "IT System Design Description."

commentnote

This document serves as an addendum to Framework System Design Description and captures information for SDD specific to the Navier Stokes module.

Introduction

The MOOSE Navier Stokes module is based on the MOOSE framework and thus inherits the unique features and base characteristics of the framework, as outlined in the Framework System Design Description. Specific details unique to the module are outlined in this document.

System Purpose

The Software Design Description provided here is description of each object in the system. The pluggable architecture of the underlying framework of the Navier Stokes module makes MOOSE and MOOSE-based applications straightforward to develop as each piece of end-user (developer) code that goes into the system follows a well-defined interface for the underlying systems that those object plug into. These descriptions are provided through developer-supplied "markdown" files that are required for all new objects that are developed as part of the Navier Stokes module. More information about the design documentation for MOOSE-based applications and like the Navier Stokes module can be found in Documenting MOOSE.

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.

Dependencies and Limitations

The Navier Stokes module inherits the software dependencies and limitations of the MOOSE framework, as well as the dependencies and limitations of the Heat Transfer module when performing coupled heat transfer simulations, the Fluid Properties module when using the specific fluid properties in this module, and the rDG module when using a discretization from the reconstructed Discontinuous Galerkin family.

While the Navier Stokes module has received significant development and numerous studies were performed with its service, the diversity of the flow problems that a modeler may encounter is so large that it may not have all the features desired by potential users. There is current programmatic funding at the Idaho National Laboratory and Argonne National Laboratory to support development of the Navier Stokes module.

Notable limitations include the assumptions of the turbulence model chosen, the lack of anisotropic turbulence models, of automated wall treatment, of automated treatment of the transition regime between turbulent and laminar flow and the lack of support for multiphase fluid flow. Each numerical discretization is also not feature complete, which means that some turbulence/porous/other models are only available for some numerical schemes. The Navier Stokes module homepage summarizes the extent of support for common models in each discretization.

Definitions and Acronyms

This section defines, or provides the definition of, all terms and acronyms required to properly understand this specification.

Definitions

  • Pull (Merge) Request: A proposed change to the software (e.g. usually a code change, but may also include documentation, requirements, design, and/or testing).

  • Baseline: A specification or product (e.g., project plan, maintenance and operations (M&O) plan, requirements, or design) that has been formally reviewed and agreed upon, that thereafter serves as the basis for use and further development, and that can be changed only by using an approved change control process (NQA-1, 2009).

  • Validation: Confirmation, through the provision of objective evidence (e.g., acceptance test), that the requirements for a specific intended use or application have been fulfilled (24765:2010(E), 2010).

  • Verification: (1) The process of: evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (2) Formal proof of program correctness (e.g., requirements, design, implementation reviews, system tests) (24765:2010(E), 2010).

Acronyms

AcronymDescription
APIApplication Programming Interface
DOE-NEDepartment of Energy, Nuclear Energy
FEfinite element
HITHierarchical Input Text
HPCHigh Performance Computing
I/OInput/Output
INLIdaho National Laboratory
MOOSEMultiphysics Object Oriented Simulation Environment
MPIMessage Passing Interface
SDDSoftware Design Description

Design Stakeholders and Concerns

Design Stakeholders

Stakeholders for MOOSE include several of the funding sources including DOE-NE and the INL. However, Since MOOSE is an open-source project, several universities, companies, and foreign governments have an interest in the development and maintenance of the MOOSE project.

Stakeholder Design Concerns

Concerns from many of the stakeholders are similar. These concerns include correctness, stability, and performance. The mitigation plan for each of these can be addressed. For correctness, Navier Stokes module development requires either regression or unit testing for all new code added to the repository. The project contains several comparisons against analytical solutions where possible and also other verification methods such as MMS. For stability, the Navier Stokes module (located within the MOOSE repository) maintains multiple branches to incorporate several layers of testing both internally and for dependent applications. Finally, performance tests are also performed as part of the the normal testing suite to monitor code change impacts to performance.

System Design

The Navier Stokes module inherits the wide range of pluggable systems from MOOSE. More information regarding MOOSE system design can be found in the framework System Design section.

The Navier Stokes module is designed to handle a wide variety of flow regimes, as well as both regular and porous media flow. This can only be addressed with different discretizations of the flow equations, with appropriate kernels and boundary conditions. The finite element and finite volume discretizations are also performed by different objects. The plurality of objects can be challenging to users and developers. On the user side, the prefix of the name of each kernel/boundary condition/user object in the module indicates the discretization it is valid for. On the developer side, the main complexities in the modeling were as often as possible concentrated in the base classes, with the derived classes adapting the object to the discretization at hand. In some cases, discretizations were implemented as special cases of more general ones. For example, incompressible flow in porous media is a specialization of non-porous weakly compressible flow with a constant density and a non-unity porosity.

The Navier Stokes module is faced with the unique challenge that two variable sets, primitive and conservative, are commonly used for different flow regimes and some of these flow regimes are of interest within the scope of the module. The module is designed to be able to handle both, with utilities to perform conversions from one to the other as appropriate. The module is not currently designed to handle transitions between the two variable sets at a fluid interface.

Each major class of discretizations has its own index page, notably the continuous Galerkin finite element, the incompressible finite volume, the weakly compressible finite volume and the incompressible finite volume porous media discretizations. Documentation for each object, data structure, and process specific to the module are kept up-to-date alongside the MOOSE documentation. Expected failure modes and error conditions are accounted for via regression testing, and error conditions are noted in object documentation where applicable.

System Structure

The architecture of the Navier Stokes module consists of a core and several pluggable systems (both inherited from the MOOSE framework). The core of MOOSE consists of a number of key objects responsible for setting up and managing the user-defined objects of a finite element or finite volume simulation. This core set of objects has limited extendability and exists for every simulation configuration that the module is capable of running.

Adaptivity

Adaptivity/Indicators

Adaptivity/Markers

AuxKernels

AuxVariables

BCs

Correctors

Executioner

FVBCs

FVInterfaceKernels

FVKernels

FunctorMaterials

HDGBCs

HDGKernels

ICs

Kernels

LinearFVBCs

LinearFVKernels

Materials

Modules

Modules/CompressibleNavierStokes

Modules/IncompressibleNavierStokes

Modules/NavierStokesFV

Physics

Physics/NavierStokes

Physics/NavierStokes/Flow

Physics/NavierStokes/FlowSegregated

Physics/NavierStokes/FluidHeatTransfer

Physics/NavierStokes/ScalarTransport

Physics/NavierStokes/SolidHeatTransfer

Physics/NavierStokes/Turbulence

Physics/NavierStokes/TwoPhaseMixture

Postprocessors

Problem

UserObjects

Variables

VectorPostprocessors

The MooseApp is the top-level object used to hold all of the other objects in a simulation. In a normal simulation a single MooseApp object is created and "run()". This object uses its Factory objects to build user-defined objects which are stored in a series of Warehouse objects and executed. The Finite Element and/or Finite Volume data is stored in the Systems and Assembly objects while the domain information (the Mesh) is stored in the Mesh object. A series of threaded loops are used to run parallel calculations on the objects created and stored within the warehouses.

MOOSE's pluggable systems are documented on MOOSE website, and those for the Navier Stokes module are on this webpage, accessible through the high-level system links above. Each of these systems has a set of defined polymorphic interfaces and are designed to accomplish a specific task within the simulation. The design of these systems is fluid and is managed through agile methods and ticket request system either on GitHub (for MOOSE) or on the defined software repository for this application.

Data Design and Control

At a high level, the system is designed to process HIT input files to construct several objects that will constitute an FE simulation. Some of the objects in the simulation may in turn load other file-based resources to complete the simulation. Examples include meshes or data files. The system will then assemble systems of equations and solve them using the libraries of the Code Platform. The system can then output the solution in one or more supported output formats commonly used for visualization.

Human-Machine Interface Design

The Navier Stokes module is a command-line driven program. All interaction with the Navier Stokes module is ultimately done through the command line. This is typical for HPC applications that use the MPI interface for running on super computing clusters. Optional GUIs may be used to assist in creating input files and launching executables on the command line.

System Design Interface

All external system interaction is performed either through file I/O or through local API calls. Neither the Navier Stokes module, nor the MOOSE framework, nor the other MOOSE modules are designed to interact with any external system directly through remote procedure calls. Any code to code coupling performed using the framework are done directly through API calls either in a static binary or after loading shared libraries.

Security Structure

The Navier Stokes module does not require any elevated privileges to operate and does not run any stateful services, daemons or other network programs. Distributed runs rely on the MPI library.

Requirements Cross-Reference

  • navier_stokes: Continuous Galerkin Finite Element Navier Stokes
  • 5.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

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

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

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

  • 5.2.122The 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, using a Laplace form for the viscous term
    1. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via automatic differentiation, without PSPG and SUPG stabilization,
    2. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via user-provided functions, without PSPG and SUPG stabilization,
    3. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via automatic differentiation, with PSPG and SUPG stabilization,
    4. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via user-provided functions, with PSPG and SUPG stabilization,
    5. in which the pressure is constrained with natural boundary conditions for the velocity equations on the outlet, using a Jacobian computed via automatic differentiation, with PSPG and SUPG stabilization,
    6. and in which the pressure is constrained with natural boundary conditions for the velocity equations on the outlet, using a Jacobian computed via user-provided functions, with PSPG and SUPG stabilization.

    Specification(s): rz_laplace/dirichlet_unstablized, rz_laplace/dirichlet_unstablized_hand, rz_laplace/dirichlet, rz_laplace/dirichlet_hand, rz_laplace/natural, rz_laplace/natural_hand

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #21102

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.123The 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, using a traction form for the viscous term
    1. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via automatic differentiation, without PSPG and SUPG stabilization,
    2. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via user-provided functions, without PSPG and SUPG stabilization,
    3. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via automatic differentiation, with PSPG and SUPG stabilization,
    4. in which the pressure is constrained with a Dirichlet boundary condition on the outlet, using a Jacobian computed via user-provided functions, with PSPG and SUPG stabilization,
    5. in which the pressure is constrained with natural boundary conditions for the velocity equations on the outlet, using a Jacobian computed via automatic differentiation, with PSPG and SUPG stabilization,
    6. and in which the pressure is constrained with natural boundary conditions for the velocity equations on the outlet, using a Jacobian computed via user-provided functions, with PSPG and SUPG stabilization.

    Specification(s): rz_traction/dirichlet_unstablized, rz_traction/dirichlet_unstablized_hand, rz_traction/dirichlet, rz_traction/dirichlet_hand, rz_traction/natural, rz_traction/natural_hand

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #21102

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

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

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

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

  • 5.2.127The system shall be able to solve for incompressible fluid flowing through a 2D channel with only inlet velocity boundary conditions with streamline upwind Petrov Galerkin stabilization and a traction form for the viscous term
    1. using a hand-coded Jacobian, and
    2. using an automatic differentiation computed Jacobian and compute identical results, indicating the traction implementations with second order derivatives for the viscous term in the stabilization term are identical.

    Specification(s): supg_traction_form/hand_coded, supg_traction_form/ad

    Design: Continuous Galerkin Finite Element Navier Stokes

    Issue(s): #25307

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: Navier-Stokes Module
  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.2.29The system shall be able to reproduce the unstabilized conical flow results from a stabilized continuous finite element implementation using generic unstabilized objects.

    Specification(s): general_fe_objects_test

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

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

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

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

  • 5.2.50The system shall be able to solve a channel flow problem using a hybrid CG-DG discretization with first Lagrange pressure and first monomial velocity.

    Specification(s): hybrid-channel

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.51The system shall be able to solve a lid driven cavity problem for a Reynolds number of 200 using a hybrid CG-DG scheme in which the pressure is first order Lagrange and the velocity is first order monomial and show
    1. accurate results, and
    2. a perfect Jacobian.

    Specification(s): lid-driven/residual, lid-driven/hybrid-jac

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTesterExodiff

  • 5.2.52The system shall be able to solve the incompressible Navier-Stokes equations on triangular meshes, using a hybrid CG-DG scheme with first order Lagrange pressure and second order monomial velocity, with Dirichlet boundary conditions for the velocity, and demonstrate third order convergence for the velocity and second order convergence for pressure in the L2 error measure.

    Specification(s): hybrid-vortex-p2p1

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.53The system shall be able to solve the incompressible Navier-Stokes equations on triangular meshes, using a hybrid CG-DG scheme with first order Lagrange pressure and first order monomial velocity, with Dirichlet boundary conditions for the velocity, and demonstrate second order convergence for the velocity and first order convergence for pressure in the L2 error measure.

    Specification(s): hybrid-vortex-p1p1

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.54The system shall be able to solve the incompressible Navier-Stokes equations using a hybrid CG-DG scheme with first order Lagrange pressure and first order monomial velocity and demonstrate second order convergence for the velocity and first order convergence for pressure in the L2 error measure.

    Specification(s): hybrid-p1p1

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.55The system shall be able to solve the incompressible Navier-Stokes equations using a hybrid CG-DG scheme with first order Lagrange pressure and second order monomial velocity and demonstrate third order convergence for the velocity and second order convergence for pressure in the L2 error measure.

    Specification(s): hybrid-p2p1

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.56The system shall be able to solve the incompressible Navier-Stokes equations using a hybrid CG-DG scheme with first order Lagrange pressure and second order L2 Lagrange velocity and demonstrate third order convergence for the velocity and second order convergence for pressure in the L2 error measure.

    Specification(s): hybrid-p2p1-l2-lagrange

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.57The system shall be able to solve the incompressible Navier-Stokes equations using a hybrid CG-DG scheme with first order Lagrange pressure and second order L2 hierarchic velocity and demonstrate third order convergence for the velocity and second order convergence for pressure in the L2 error measure.

    Specification(s): hybrid-p2p1-l2-hierarchic

    Design: Navier-Stokes Module

    Issue(s): #24055

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

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

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

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

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

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

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

  • 5.2.87We 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

  • 5.2.88Least squares commutator (LSC) preconditioning shall require only a small number of linear iterations to converge when using Newton with a Reynolds number of unity, performing a transient march to steady-state.

    Specification(s): transient_lid_driven_fsp_low_Re

    Design: Navier-Stokes Module

    Issue(s): #24548

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.89Least squares commutator (LSC) preconditioning shall require only a small number of linear iterations to converge when using Picard with a Reynolds number of 500, performing a few timesteps in a transient.

    Specification(s): transient_lid_driven_fsp_high_Re_picard_non_ss

    Design: Navier-Stokes Module

    Issue(s): #24548

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 5.2.90Least Squares Commutator (LSC) preconditioning shall require only a small number of linear iterations to converge when using Newton with a Reynolds number of 500, performing a transient march to steady-state.

    Specification(s): transient_lid_driven_fsp_high_Re_newton_ss

    Design: Navier-Stokes Module

    Issue(s): #24548

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

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

  • 5.2.92The system shall be able to run scalable Taylor-Hood finite element simulations using a field split preconditioner with least-squares commutator preconditioning for the Schur complement and multigrid for the sub-solves, using a steady executioner with a Reynolds number of unity, and
    1. using the velocity mass matrix for scaling within the Least Squares Commutator preconditioner with a component variable implementation, or
    2. using the diagonal of the velocity-velocity block for scaling within the Least Squares Commutator preconditioner with a component variable implementation, or
    3. using the velocity mass matrix for scaling within the Least Squares Commutator preconditioner with a vector variable implementation, or
    4. commuting operators in the style of Olshanskii with a vector variable implementation.

    Specification(s): steady_lid_driven_fsp_low_Re/velocity_mass_matrix_scaling, steady_lid_driven_fsp_low_Re/a_digonal_scaling, steady_lid_driven_fsp_low_Re/vector_elman, steady_lid_driven_fsp_low_Re/vector_olshanskii

    Design: Navier-Stokes Module

    Issue(s): #24548

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.93The system shall be able to run scalable Taylor-Hood finite element simulations using a field split preconditioner with least-squares commutator preconditioning for the Schur complement and multigrid for the sub-solves, using a steady executioner with a Reynolds number of 500.

    Specification(s): steady_lid_driven_fsp_high_Re

    Design: Navier-Stokes Module

    Issue(s): #24548

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.94The system shall be able to efficiently precondition Taylor-Hood finite elements using a Schur complement field split with the preconditioner for the Schur complement formed from the pressure mass matrix for a
    1. a Stokes problem and a
    2. a high Reynolds number (1000) Navier-Stokes problem with a grad-div stabilization.

    Specification(s): steady_lid_driven_fsp_pressure_mass_matrix/stokes, steady_lid_driven_fsp_pressure_mass_matrix/high_Re

    Design: Navier-Stokes Module

    Issue(s): #24548#27126

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.95We 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

  • 5.2.96We 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

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

  • 5.2.98We 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

  • 5.2.99We 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

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

  • 5.2.101Simulation 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

  • 5.2.102We 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 5.3.159The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the finite volume method.

    Specification(s): exo

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.160The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the finite volume Navier-Stokes action.

    Specification(s): exo-action

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.161The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the finite volume Navier-Stokes action and an average pressure pin applied at the end of every time step.

    Specification(s): exo-action-uo-pin-average

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.162The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the finite volume Navier-Stokes action with an approximate computation of the Rhie-Chow coefficients.

    Specification(s): exo-approximate-rc-action

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.163The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the finite volume method on a (zero-)displaced mesh.

    Specification(s): exo-displaced

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.164The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity by fixing the point value of the pressure at a certain coordinate.

    Specification(s): point-pressure

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.165The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity by fixing the point value of the pressure at a certain coordinate using the NSFV action syntax.

    Specification(s): point-pressure-action

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.166The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity by fixing the point value of the pressure at a certain coordinate using the Navier-Stokes finite volume action syntax, with a post-treatment of the pressure rather than a Lagrange multiplier-based constraint.

    Specification(s): point-pressure-action-uo

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.167The system shall throw an error if the user requests integral value pressure pinning while specifying a point for the pin.

    Specification(s): point-pressure-action-error

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 5.3.168The system shall be able to solve an incompressible Navier-Stokes problem with dirichlet boundary conditions for all the normal components of velocity, using the finite volume method, and have a nonsingular system matrix.

    Specification(s): nonsingular

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 5.3.169The system shall be able to compute a perfect Jacobian when solving a lid-driven incompressible Navier-Stokes problem with the finite volume method.

    Specification(s): jacobian

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 5.3.170The system shall be able to transport scalar quantities using the simultaneously calculated velocity field from the incompressible Navier Stokes equations.

    Specification(s): with-temp

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.171The system shall be able to get the same result as the enthalpy transport example using the NSFVAction to set up the run.

    Specification(s): with-temp-action

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.172The system shall be able to get the same result as the enthalpy transport example using the Physics syntax to set up the run.

    Specification(s): with-temp-physics

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.173The system shall be able to transport scalar quantities using the simultaneously calculated velocity field from the transient incompressible Navier Stokes equations.

    Specification(s): transient-with-temp

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.174The system shall yield a quiescent fluid in an axisymmetric coordinate system with a gravitational force applied and Rhie-Chow interpolation used for the velocity field.

    Specification(s): quiescent

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.175The system shall compute an accurate Jacobian when a scaling factor is applied to a scalar variable.

    Specification(s): quiescent_jac

    Design: Navier-Stokes ModuleNavierStokesFV Action

    Issue(s): #15640#19472

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • navier_stokes: AdvectionBC
  • 5.2.30The 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

  • 5.2.31We 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): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

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

    Specification(s): check_too_many_components

    Design: AdvectionBC

    Issue(s): #13283

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 5.2.33We 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

  • navier_stokes: INSADBoussinesqBodyForce
  • 5.2.37The 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

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

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

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

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

  • 5.2.42The system shall support passing constants for material property names to a kernel which passes its parameters to a material.

    Specification(s): constants

    Design: INSADBoussinesqBodyForce

    Issue(s): #15099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

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

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

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

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

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

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

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

  • navier_stokes: INSADMomentumCoupledForce
  • 5.2.58The 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

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

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

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

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

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

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

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

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

  • navier_stokes: INSADEnergySource
  • 5.2.68The 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

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

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

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

  • navier_stokes: NavierStokesHDGKernel
  • 5.2.72The system shall be able to solve the incompressible Navier-Stokes equations in a cavity using a hybridized discontinuous Galerkin scheme with broken Lagrange basis and produce second order convergence for all variables.

    Specification(s): lid_lagrange

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.73The system shall be able to solve the incompressible Navier-Stokes equations in a cavity using a hybridized discontinuous Galerkin scheme with broken Hierarchic basis and produce second order convergence for all variables.

    Specification(s): lid_hierarchic

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.74The system shall be able to solve the incompressible Navier-Stokes equations in a channel using a hybridized discontinuous Galerkin scheme with broken Lagrange basis and produce second order convergence for all variables.

    Specification(s): channel_lagrange

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.75The system shall be able to solve the incompressible Navier-Stokes equations in a channel using a hybridized discontinuous Galerkin scheme with broken Hierarchic basis and produce second order convergence for all variables.

    Specification(s): channel_hierarchic

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.2.76The system shall be able to solve a lid-driven cavity problem using a hybridized discontinuous Galerkin discretization.

    Specification(s): lid

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.77The system shall be able to solve a channel flow problem using a hybridized discontinuous Galerkin discretization.

    Specification(s): channel

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.2.78The system shall produce a symmetric matrix for a hybridizable discontinuous Galerkin discretization of the Stokes equation for a
    1. lid driven cavity problem, and
    2. channel flow problem.

    Specification(s): stokes_symmetric/lid, stokes_symmetric/channel

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 5.2.79The system shall error if hybridized discontinuous Galerkin kernels and boundary conditions implement different physics.

    Specification(s): mismatching_physics

    Design: NavierStokesHDGKernel

    Issue(s): #26405

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • navier_stokes: MooseApp
  • 5.2.120The 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): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • navier_stokes: INSAction
  • 5.2.130The 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: CNSFVHLLCBase
  • 5.3.2The system shall be able to solve the 1D Sod shock-tube benchmark problem using an HLLC scheme to compute convective fluxes.

    Specification(s): hllc_sod_shocktube_1D_benchmark

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.5The system shall exhibit first order convergence for all variables for the free-flow Euler equations with added artificial diffusion using a HLLC discretization scheme for the advection flux and with specified temperature and momentum at one boundary and specified pressure at another boundary.

    Specification(s): 1d-free-flow-hllc

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.3.12The system displays issues when trying to solve hyperbolic equations with sources when using a Godunov method with HLLC approximate Riemann solver on an irregular grid
    1. when the source has a cell-centered volumetric discretization

    Specification(s): sources_give_hllc_problems_irregular/hllc_with_volume_source

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.13On a regular grid, using a HLLC scheme to calculate inter-cell fluxes, the system shall show, via the momentum variable
    1. conservation of mass when no sources are present
    2. violation of conservation of mass when sources are present
    3. lesser violation of conservation of mass when sources are present and the mesh is refined

    Specification(s): sources_give_hllc_problems_regular/conserved, sources_give_hllc_problems_regular/non_conserved, sources_give_hllc_problems_regular/non_conserved_finer

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.15The system shall be able to model subsonic nozzle flow using an HLLC discretization with a specified outlet pressure.

    Specification(s): fv_specified_pressure_out

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.17The system shall be able to run a two-dimensional version of Sod's shocktube problem.

    Specification(s): hllc_sod_shocktube_2D

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 5.3.23The system shall be able to run a two-dimensional symmetric flow problem with an HLLC discretization for advection.

    Specification(s): 2D_symmetry_hllc

    Design: CNSFVHLLCBase

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • navier_stokes: PINSFVMomentumAdvection
  • 5.3.14The system shall demonstrate first order convergence rates for pressure and superficial velocity when using an upwind interpolation for advected quantities in a weakly compressible formulation of the mass and momentum Euler equations.

    Specification(s): pwcnsfv

    Design: PINSFVMomentumAdvection

    Issue(s): #18215

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • navier_stokes: PCNSFVKTDC
  • 5.3.22The system shall support the deferred correction algorithm for transitioning from low-order to high-order representations of the convective flux during a transient simulation.

    Specification(s): deferred_correction

    Design: PCNSFVKTDC

    Issue(s): #16758

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: NSFVFunctorHeatFluxBC
  • 5.3.28The system shall provide a boundary condition to split a constant heat flux according to local values of porosity, using functor material properties.

    Specification(s): local_porosity

    Design: NSFVFunctorHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.29The system shall provide a boundary condition to split a constant heat flux according to domain-averaged values of porosity, using functor material properties.

    Specification(s): global_porosity

    Design: NSFVFunctorHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.30The system shall provide a boundary condition to split a constant heat flux according to local values of thermal conductivity, using functor material properties.

    Specification(s): local_k

    Design: NSFVFunctorHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.31The system shall provide a boundary condition to split a constant heat flux according to domain-averaged values of thermal conductivity, using functor material properties.

    Specification(s): global_k

    Design: NSFVFunctorHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.32The system shall provide a boundary condition to split a constant heat flux according to local values of effective thermal conductivity, using functor material properties.

    Specification(s): local_kappa

    Design: NSFVFunctorHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.33The system shall provide a boundary condition to split a constant heat flux according to domain-averaged values of effective thermal conductivity, using functor material properties.

    Specification(s): global_kappa

    Design: NSFVFunctorHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: NSFVHeatFluxBC
  • 5.3.34The system shall provide a boundary condition to split a constant heat flux according to local values of porosity.

    Specification(s): local_porosity

    Design: NSFVHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.35The system shall provide a boundary condition to split a constant heat flux according to domain-averaged values of porosity.

    Specification(s): global_porosity

    Design: NSFVHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.36The system shall provide a boundary condition to split a constant heat flux according to local values of thermal conductivity.

    Specification(s): local_k

    Design: NSFVHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.37The system shall provide a boundary condition to split a constant heat flux according to domain-averaged values of thermal conductivity.

    Specification(s): global_k

    Design: NSFVHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.38The system shall provide a boundary condition to split a constant heat flux according to local values of effective thermal conductivity.

    Specification(s): local_kappa

    Design: NSFVHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.39The system shall provide a boundary condition to split a constant heat flux according to domain-averaged values of effective thermal conductivity.

    Specification(s): global_kappa

    Design: NSFVHeatFluxBC

    Issue(s): #18434

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: SIMPLENonlinearAssembly
  • 5.3.80The system should be able to solve the Navier-Stokes equations with block-restricted variables using the SIMPLE algorithm.

    Specification(s): block_restricted_simple

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.106The system shall give back the correct results for a channel flow with the SIMPLE algorithm using nonlinear system assembly.

    Specification(s): nonlinear

    Design: SIMPLENonlinearAssemblySIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.107The system shall give back the correct results for a channel flow with the SIMPLE algorithm using linear system assembly.

    Specification(s): linear

    Design: SIMPLENonlinearAssemblySIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.108The system shall give back the correct results for a channel flow with the SIMPLE algorithm using linear system assembly and the Physics shorthand syntax.

    Specification(s): linear-physics

    Design: SIMPLENonlinearAssemblySIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.109The system shall be able to solve the steady-state Navier-Stokes problem in a 2D channel using the SIMPLE algorithm with separating the momentum components into different systems.

    Specification(s): momentum

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.110The system shall be able to solve the steady-state Navier-Stokes problem in a 2D cylindrical channel using the SIMPLE algorithm.

    Specification(s): rz

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.111The system shall be able to solve the steady-state Navier-Stokes problem in a 2D cylindrical channel with slip boundary conditions using the SIMPLE algorithm.

    Specification(s): slip

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.112The system shall be able to solve the steady-state Navier-Stokes problem in a 2D cylindrical channel with homogenized friction using the SIMPLE algorithm.

    Specification(s): slip-with-friction

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.113The system shall be able to solve the steady-state Navier-Stokes problem together with the energy equation in a 2D channel using the SIMPLE algorithm.

    Specification(s): with-energy

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.114The system shall be able to produce a constant solution for temperature in a symmetric 2D channel flow without heat sources using the SIMPLE algorithm.

    Specification(s): with-energy-symmetry

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.115The system shall be able to solve the steady-state Navier-Stokes problem together with the energy equation in a symmetric 2D channel using the SIMPLE algorithm.

    Specification(s): with-energy-symmetry-heated

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.116The system shall be able to solve the steady-state Navier-Stokes problem together with scalar transport equations in a 2D channel using the SIMPLE algorithm.

    Specification(s): with-scalar

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.117The system shall conserve of a passive scalar while solving using the SIMPLE algorithm.

    Specification(s): with-scalar-conservation

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 5.3.118The system shall be able to produce a constant solution for scalar values in a symmetric 2D channel flow without sources using the SIMPLE algorithm.

    Specification(s): with-scalar-symmetry

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.119The system shall be able to solve the steady-state Navier-Stokes problem in a 3D channel using the SIMPLE algorithm with separating the momentum components into different systems.

    Specification(s): 3d-segregated-momentum

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.120The system shall be able to solve the steady-state Navier-Stokes problem together with the energy equation in a 3D channel using the SIMPLE algorithm.

    Specification(s): 3d-segregated-energy

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.121The system shall be able to solve the steady-state Navier-Stokes problem together with scalar transport equations in a 3D channel using the SIMPLE algorithm.

    Specification(s): 3d-segregated-scalar

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.122The system shall be able to solve the steady-state Navier-Stokes problem on nonorthogonal meshes using the SIMPLE algorithm.

    Specification(s): nonorthogonal-mesh

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.156The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the SIMPLE algorithm.

    Specification(s): momentum-pressure

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.157The system shall be able to solve the incompressible Navier-Stokes equations together with the energy equation in a lid-driven cavity using the SIMPLE algorithm.

    Specification(s): with-energy

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.158The system shall be able to solve the incompressible buoyant Navier-Stokes equations with the Boussinesq approximation in a lid-driven cavity using the SIMPLE algorithm.

    Specification(s): with-buoyancy

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.251The system should be able to solve the porous Navier-Stokes equations with block-restricted variables using the SIMPLE algorithm.

    Specification(s): porous_block_restricted_simple

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.276The system shall be able to solve the steady-state porous Navier-Stokes problem in a 2D channel using the SIMPLE algorithm.

    Specification(s): 2d-momentum-pressure

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.277The system shall be able to solve the steady-state porous Navier-Stokes problem in a 2D channel with slip and symmetry boundary conditions using the SIMPLE algorithm.

    Specification(s): 2d-momentum-pressure-slip

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.278The system shall be able to solve the steady-state porous Navier-Stokes problem in a 2D channel with friction caused by porous media using the SIMPLE algorithm.

    Specification(s): 2d-momentum-friction

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.279The system shall be able to solve the steady-state porous Navier-Stokes problem coupled with both solid and fluid energy equations in a 2D channel using the SIMPLE algorithm.

    Specification(s): 2d-heated

    Design: SIMPLENonlinearAssembly

    Issue(s): #22356

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: INSFVMomentumBoussinesq
  • 5.3.82The system shall be able to reproduce benchmark results for a Rayleigh number of 1e3 using a finite volume discretization.

    Specification(s): 1e3

    Design: INSFVMomentumBoussinesq

    Issue(s): #16755

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.83The system shall be able to reproduce benchmark results for a Rayleigh number of 1e4 using a finite volume discretization.

    Specification(s): 1e4

    Design: INSFVMomentumBoussinesq

    Issue(s): #16755

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.84The system shall be able to reproduce benchmark results for a Rayleigh number of 1e5 using a finite volume discretization.

    Specification(s): 1e5

    Design: INSFVMomentumBoussinesq

    Issue(s): #16755

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.85The system shall be able to reproduce benchmark results for a Rayleigh number of 1e6 using a finite volume discretization.

    Specification(s): 1e6

    Design: INSFVMomentumBoussinesq

    Issue(s): #16755

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.86The system shall be able to reproduce benchmark results for a Rayleigh number of 1e6 using the INSFV actions.

    Specification(s): 1e6-action

    Design: INSFVMomentumBoussinesq

    Issue(s): #19742

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.87The system shall be able to model natural convection using a weakly compressible implementation.

    Specification(s): wcnsfv

    Design: INSFVMomentumBoussinesq

    Issue(s): #16755

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.88The system shall be able to model transient natural convection with a low Rayleigh number using a weakly compressible implementation.

    Specification(s): transient_wcnsfv

    Design: INSFVMomentumBoussinesq

    Issue(s): #16755

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: SIMPLE
  • 5.3.104The system shall be able to solve the steady-state Navier-Stokes problem in a 2D channel using the SIMPLE algorithm using the linear finite volume system.

    Specification(s): momentum-pressure

    Design: SIMPLELinearFVDivergenceLinearWCNSFVMomentumFluxLinearFVMomentumPressure

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.105The system shall be able to solve the steady-state Navier-Stokes problem in a 3D channel using the SIMPLE algorithm using the linear finite volume system.

    Specification(s): momentum-pressure

    Design: SIMPLELinearFVDivergenceLinearWCNSFVMomentumFluxLinearFVMomentumPressure

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.106The system shall give back the correct results for a channel flow with the SIMPLE algorithm using nonlinear system assembly.

    Specification(s): nonlinear

    Design: SIMPLENonlinearAssemblySIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.107The system shall give back the correct results for a channel flow with the SIMPLE algorithm using linear system assembly.

    Specification(s): linear

    Design: SIMPLENonlinearAssemblySIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.108The system shall give back the correct results for a channel flow with the SIMPLE algorithm using linear system assembly and the Physics shorthand syntax.

    Specification(s): linear-physics

    Design: SIMPLENonlinearAssemblySIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.154The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the SIMPLE algorithm and the linear finite volume system.

    Specification(s): momentum-pressure

    Design: SIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.155The system shall be able to solve the incompressible Navier-Stokes equations in a lid-driven cavity using the SIMPLE algorithm, the linear finite volume system and the shorthand Physics syntax.

    Specification(s): momentum-pressure-physics

    Design: SIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.199The system shall be able to solve the Navier Stokes equations using the SIMPLE algorithm and obtain second order spatial convergence for velocity and at least first order spatial convergence for pressure on an orthogonal grid.

    Specification(s): vortex-orthogonal

    Design: SIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • 5.3.200The system shall be able to solve the Navier Stokes equations using the SIMPLE algorithm and obtain second order spatial convergence for velocity and at least first order spatial convergence for pressure on a nonorthogonal grid.

    Specification(s): vortex-nonorthogonal

    Design: SIMPLE

    Issue(s): #27280

    Collection(s): FUNCTIONAL

    Type(s): PythonUnitTest

  • navier_stokes: MooseVariableFVReal
  • 5.3.142The system shall be able to run incompressible Navier-Stokes channel-flow simulations with
    1. two-dimensional triangular elements
    2. three-dimensional tetrahedral elements

    Specification(s): triangles/tris, triangles/tets

    Design: MooseVariableFVReal

    Issue(s): #16822

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.242The system shall be able to solve for flow in a 3D channel while not caching cell gradients.

    Specification(s): 3d-no-caching

    Design: MooseVariableFVReal

    Issue(s): #18009

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.243The system shall be able to solve for flow in a 3D channel while caching cell gradients.

    Specification(s): 3d-caching

    Design: MooseVariableFVReal

    Issue(s): #18009

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: FunctorErgunDragCoefficients
  • 5.3.245The system shall be able to model flow around a bend with the porous incompressible Navier Stokes equations using a finite volume discretization and an Ergun drag correlation.

    Specification(s): ergun

    Design: FunctorErgunDragCoefficients

    Issue(s): #16756

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: PINSFVEnergyTimeDerivative
  • 5.3.259The system shall be able to solve transient relaxations with fluid energy diffusion, advection and convection with the solid phase in a 2D channel, modeling both fluid and solid temperature.

    Specification(s): transient

    Design: PINSFVEnergyTimeDerivativeINSFVMomentumTimeDerivative

    Issue(s): #16756

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.317The system shall be able to solve transient relaxations within the weakly compressible approximation, with fluid energy diffusion, advection and convection with the solid phase in a 2D channel, modeling both fluid and solid temperature.

    Specification(s): transient

    Design: PINSFVEnergyTimeDerivative

    Issue(s): #16756#18806

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.318The system shall be able to solve transient relaxations within the weakly compressible approximation, using the time derivative of the specific enthalpy for the time derivative.

    Specification(s): transient-gas

    Design: PINSFVEnergyTimeDerivative

    Issue(s): #21245

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 5.3.319The system shall be able to solve weakly compressible transient problems with the NSFV action syntax.

    Specification(s): transient-action

    Design: PINSFVEnergyTimeDerivative

    Issue(s): #19472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.320The system shall be able to solve weakly compressible transient problems with flow physics syntax.

    Specification(s): transient-physics

    Design: PINSFVEnergyTimeDerivative

    Issue(s): #25642

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 5.3.321The system shall be able to solve transient relaxations within the weakly compressible approximation, with fluid energy diffusion, advection and convection with the solid phase in a 2D channel, modeling both fluid and solid temperature and show a perfect Jacobian.

    Specification(s): transient-jac

    Design: PINSFVEnergyTimeDerivative

    Issue(s): #16756#18806#19472

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • navier_stokes: PINSFVMomentumBoussinesq
  • 5.3.261The system shall be able to solve for fluid energy diffusion, advection and convection with the solid phase in a 2D channel with a Boussinesq approximation for the influence of temperature on density.

    Specification(s): boussinesq

    Design: PINSFVMomentumBoussinesq

    Issue(s): #16756

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • navier_stokes: VolumetricFlowRate
  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.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

  • 5.5.8The 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): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • navier_stokes: PressureDrop
  • 5.5.9The 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

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

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

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

  • 5.5.13The 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): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • navier_stokes: RayleighNumber
  • 5.5.14The 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

References

  1. ISO/IEC/IEEE 24765:2010(E). Systems and software engineering—Vocabulary. first edition, December 15 2010.[BibTeX]
  2. ASME NQA-1. ASME NQA-1-2008 with the NQA-1a-2009 addenda: Quality Assurance Requirements for Nuclear Facility Applications. first edition, August 31 2009.[BibTeX]