Porous Flow Requirements Traceability Matrix

This template follows INL template TEM-214, "IT System Requirements Traceability Matrix."

commentnote

This document serves as an addendum to Framework Requirements Traceability Matrix and captures information for RTM specific to the Porous Flow module.

Introduction

Minimum System Requirements

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

A POSIX compliant Unix-like operating system. This includes any modern Linux-based operating system (e.g., Ubuntu, Fedora, Rocky, etc.), or a Macintosh machine running either of the last two MacOS releases.

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

LibrariesVersion / Information
GCC8.5.0 - 12.2.1
LLVM/Clang10.0.1 - 16.0.6
Intel (ICC/ICX)Not supported at this time
Python3.7 - 3.11
Python Packagespackaging pyaml jinja2

System Purpose

The purpose of the MOOSE Porous Flow module is to provide functionality to support simulations for fluid and heat flow in porous media. Typical usage examples include groundwater flow, geothermal modeling, geological storage of , and long-term mineralization due to geochemical reactions. The Porous Flow module can be easily coupled with other physics modules in MOOSE.

System Scope

By simply adding pieces of physics together in an input file, the Porous Flow module enables the user to model problems with any combination of fluid, heat, geomechanics and geochemistry.

Assumptions and Dependencies

The Porous Flow module is developed using MOOSE and can itself be based on various MOOSE modules, as such the RTM for the Porous Flow module is dependent upon the files listed at the beginning of this document.

Pre-test Instructions/Environment/Setup

Ideally all testing should be performed on a clean test machine following one of the supported configurations setup by the test system engineer. Testing may be performed on local workstations and cluster systems containing supported operating systems.

The repository should be clean prior to building and testing. When using "git" this can be done by doing a force clean in the main repository and each one of the submodules:


git clean -xfd
git submodule foreach 'git clean -xfd'

All tests must pass in accordance with the type of test being performed. This list can be found in the Software Test Plan.

Changelog Issue Revisions

Errors in changelog references can sometimes occur as a result of typos or conversion errors. If any need to be noted by the development team, they will be noted here.

The changelog for all code residing in the MOOSE repository is located in the MOOSE RTM.

System Requirements Traceability

Functional Requirements

  • porous_flow: Actions
  • 13.1.1The system shall calculate proper density, viscosity, enthalpy and internal energy with the PorousFlowBrine material when using PorousFlowFullySaturated Action.

    Specification(s): fullsat_brine

    Design: Brine and carbon dioxide

    Issue(s): #10093

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.1.2The system shall produce an error when attempting to use a PorousFlowBrine Material without any NaCl variable

    Specification(s): fullsat_brine_except1

    Design: Brine and carbon dioxide

    Issue(s): #10093#16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.3The system shall produce an error when attempting to use a PorousFlowBrine Material at the same time as a PorousFlowSimpleFluidProperties Material

    Specification(s): fullsat_brine_except2

    Design: Brine and carbon dioxide

    Issue(s): #10093#16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.4The system shall produce an error when attempting to use a PorousFlowSingleComponentFluid Material at the same time as a PorousFlowBrine Material

    Specification(s): fullsat_brine_except3

    Design: Brine and carbon dioxide

    Issue(s): #10093#16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.5The system shall produce an error when attempting to use a PorousFlowSingleComponentFluid Material without a fluid-properties UserObject

    Specification(s): fullsat_brine_except4

    Design: PorousFlowFullySaturated

    Issue(s): #16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.6The system shall produce an error when attempting to use a non-standard pressure unit choice with PorousFlowBrine

    Specification(s): fullsat_brine_except5

    Design: PorousFlowFullySaturated

    Issue(s): #16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.7The system shall produce an error when attempting to use a non-standard time unit choice with PorousFlowBrine

    Specification(s): fullsat_brine_except6

    Design: PorousFlowFullySaturated

    Issue(s): #16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.8The system shall produce an error if PorousFlowUnsaturated is used with no stabilization.

    Specification(s): unsat_except1

    Design: PorousFlowUnsaturated

    Issue(s): #16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.9The system shall produce an error if the number of variables to save fluid-component rates-of-change into is not equal to the number of fluid components

    Specification(s): unsat_except2

    Design: PorousFlowUnsaturated

    Issue(s): #16841

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.1.10The system shall produce a warning when attempting to add materials to the simulation when using the PorousFlowFullySaturated Action.

    Specification(s): addjoiner

    Design: PorousFlowAddMaterialJoiner

    Issue(s): #10093

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 13.1.11The system shall handle adding materials properly when the add_nodes parameter and the at_nodes=true parameters are both active in the PorousFlowFullySaturated Action.

    Specification(s): addmaterials

    Design: PorousFlowAddMaterialAction

    Issue(s): #10093

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 13.1.12The system shall handle adding materials properly when the add_nodes parameter is supplied in the PorousFlowFullySaturated Action.

    Specification(s): addmaterials2

    Design: PorousFlowAddMaterialAction

    Issue(s): #10093

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 13.1.13The system shall add all required objects when using PorousFlowBasicTHM Action with coupling_type = Hydro.

    Specification(s): basicthm_h

    Design: PorousFlowBasicTHM

    Issue(s): #8574

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.1.14The system shall add all required objects when using PorousFlowBasicTHM Action with coupling_type = ThermoHydro.

    Specification(s): basicthm_th

    Design: PorousFlowBasicTHM

    Issue(s): #8574

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.1.15The system shall add all required objects when using PorousFlowBasicTHM Action with coupling_type = HydroMechanical.

    Specification(s): basicthm_hm

    Design: PorousFlowBasicTHM

    Issue(s): #8574

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.1.16The system shall add all required objects when using PorousFlowBasicTHM Action with coupling_type = ThermoHydroMechanical.

    Specification(s): basicthm_thm

    Design: PorousFlowBasicTHM

    Issue(s): #8574

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.1.17The system shall handle adding materials properly when materials are block restricted

    Specification(s): block_restricted_materials

    Design: PorousFlowAddMaterialJoinerPorousFlowAddMaterialAction

    Issue(s): #10093

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.1.18The system shall add all required objects when using PorousFlowBasicTHM Action to allow boreholes to be used

    Specification(s): basicthm_bh

    Design: PorousFlowBasicTHM

    Issue(s): #17025

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.1.19The system shall add all required objects when using PorousFlowFullySaturated Action to allow boreholes to be used

    Specification(s): fullsat_bh

    Design: PorousFlowFullySaturated

    Issue(s): #17025

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.1.20PorousFlow shall be able to be block-restricted, specifically so that a model's physics is governed by PorousFlow only on part of the mesh

    Specification(s): multiblock

    Design: PorousFlowAddMaterialJoiner

    Issue(s): #20260

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.1.21PorousFlow shall be able to be block-restricted, and Joiners shall work even when one PorousFlow material is block-restricted for one phase and non block-restricted for another

    Specification(s): block_restricted_and_not

    Design: PorousFlowAddMaterialJoiner

    Issue(s): #20260

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 13.1.22The system shall be able to block-restrict the definition of the porous flow equations.

    Specification(s): block_restricted

    Design: PorousFlowFullySaturatedPorousFlowBasicTHMPorousFlowUnsaturated

    Issue(s): #28030

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • porous_flow: Adaptivity
  • 13.2.1The system shall work when using mesh adaptivity with TRI3 elements

    Specification(s): tri

    Design: Mass lumping

    Issue(s): #14428

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.2.2The system shall work when using mesh adaptivity with QUAD elements

    Specification(s): quad

    Design: Mass lumping

    Issue(s): #14428

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.2.3The system shall work when using mesh adaptivity with TET4 elements

    Specification(s): tet

    Design: Mass lumping

    Issue(s): #14428

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.2.4The system shall work when using mesh adaptivity with HEX elements

    Specification(s): hex

    Design: Mass lumping

    Issue(s): #14428

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • porous_flow: Basic Advection
  • 13.4.1

    Specification(s): except1

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.4.2

    Specification(s): except2

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.4.3

    Specification(s): 1phase

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.4.4

    Specification(s): 2phase

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • porous_flow: Capillary Pressure
  • 13.6.1

    Specification(s): brookscorey1

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.6.2

    Specification(s): brookscorey2

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.6.3

    Specification(s): vangenuchten1

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.6.4

    Specification(s): vangenuchten2

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.6.5

    Specification(s): vangenuchten3

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Density
  • 13.8.1

    Specification(s): GravDensity01

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Desorption
  • 13.9.1

    Specification(s): desorption01

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.9.2

    Specification(s): desorption02

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • porous_flow: Fluids
  • 13.13.1The system shall be able to use high-precision equations of state for water from the FluidProperties module.

    Specification(s): h2o

    Design: PorousFlowSingleComponentFluid

    Issue(s): #11716

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.2The system shall be able to use high-precision equations of state for methane from the FluidProperties module.

    Specification(s): methane

    Design: PorousFlowSingleComponentFluid

    Issue(s): #11716

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.3The system shall be able to use equations of state for an ideal gas from the FluidProperties module.

    Specification(s): ideal_gas

    Design: PorousFlowSingleComponentFluid

    Issue(s): #11716

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.4The system shall be able to use high-precision equations of state for brine from the FluidProperties module.

    Specification(s): brine1

    Design: PorousFlowBrine

    Issue(s): #11716

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.5The system shall be able to use a given UserObject for water properties.

    Specification(s): brine1_tab

    Design: PorousFlowBrine

    Issue(s): #11716#13882

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.13.4

  • 13.13.6The system shall be able to use high-precision equations of state for brine from the FluidProperties module where NaCl is an elemental AuxVariable.

    Specification(s): brine1_monomial

    Design: PorousFlowBrine

    Issue(s): #11716#13882#24381

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.13.5

  • 13.13.7The system shall be able to use high-precision equations of state for CO2 from the FluidProperties module.

    Specification(s): co2

    Design: PorousFlowSingleComponentFluid

    Issue(s): #11716

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.8The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the temperature unit in Kelvin.

    Specification(s): simple_fluid

    Design: PorousFlowSingleComponentFluid

    Issue(s): #13154

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.9The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the pressure unit in MPa.

    Specification(s): simple_fluid_MPa

    Design: PorousFlowSingleComponentFluid

    Issue(s): #13154

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.10The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the time unit in days.

    Specification(s): simple_fluid_dy

    Design: PorousFlowSingleComponentFluid

    Issue(s): #13154

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.11The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the time unit in hours.

    Specification(s): simple_fluid_hr

    Design: PorousFlowSingleComponentFluid

    Issue(s): #13154

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.12The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the time unit in years.

    Specification(s): simple_fluid_yr

    Design: PorousFlowSingleComponentFluid

    Issue(s): #13154

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.13The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the time unit in years, the pressure unit in MPa and the temperature unit in Celsius.

    Specification(s): simple_fluid_yr_MPa_C

    Design: PorousFlowSingleComponentFluid

    Issue(s): #13154

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.13.14The system shall be able to use equations of state from the FluidProperties module for a single-component fluid and specify the time unit in years, the pressure unit in MPa and the temperature unit in Celsius, and this functionality shall be available through the PorousFlowActions.

    Specification(s): simple_fluid_yr_MPa_C_action

    Design: PorousFlowSingleComponentFluidPorousFlowFullySaturated

    Issue(s): #13154#16841

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.13.13

  • 13.13.15The system shall be able to use multicomponent equations of state from the FluidProperties module.

    Specification(s): multicomponent

    Design: PorousFlowMultiComponentFluid

    Issue(s): #11716#23609

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.13.6

  • 13.13.16The system shall be able to use multicomponent equations of state from the FluidProperties module where mass fraction is an elemental AuxVariable.

    Specification(s): multicomponent_monomial

    Design: PorousFlowMultiComponentFluid

    Issue(s): #11716#23609#24381

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.13.15

  • porous_flow: Fluidstate
  • 13.14.1The system shall calculate the properties of the liquid phase in a water and NCG system.

    Specification(s): waterncg_liquid

    Design: PorousFlowWaterNCG

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.14.2The system shall calculate the solubilities and properties of both the gas and liquid phase in a water and NCG system.

    Specification(s): waterncg_twophase

    Design: PorousFlowWaterNCG

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.14.3The system shall calculate the properties of the gas phase in a water and NCG system.

    Specification(s): waterncg_gas

    Design: PorousFlowWaterNCG

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.14.4The system shall evolve a gas phase as a gas component is added in a water and NCG system.

    Specification(s): theis

    Design: PorousFlowWaterNCG

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.5The system shall evolve a gas phase as a gas component is added in a water and NCG system.

    Specification(s): theis_tabulated

    Design: PorousFlowWaterNCG

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.6The system shall evolve a gas phase as a gas component is added in a nonisothermal water and NCG system.

    Specification(s): theis_nonisothermal

    Design: PorousFlowWaterNCG

    Issue(s): #8818#10167

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.7The system shall calculate the solubilities and properties of both the gas and liquid phase in a brine and CO2 system.

    Specification(s): brineco2

    Design: PorousFlowBrineCO2

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.8The system shall calculate the solubilities and properties of both the gas and liquid phase in a brine and CO2 system when Xnacl is an elemental AuxVariable.

    Specification(s): brineco2_monomial

    Design: PorousFlowBrineCO2

    Issue(s): #8818#24381

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.14.7

  • 13.14.9The system shall calculate the solubilities and properties of both the gas and liquid phase in a brine and CO2 system using FV variables.

    Specification(s): brineco2_fv

    Design: PorousFlowBrineCO2

    Issue(s): #8818#21275

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.14.7

  • 13.14.10The system shall evolve a gas phase as CO2 is added to a liquid brine phase.

    Specification(s): brineco2_2

    Design: PorousFlowBrineCO2

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.11The system shall evolve a gas phase as CO2 is added to a liquid brine phase in the high temperature regime.

    Specification(s): brineco2_hightemp

    Design: PorousFlowBrineCO2

    Issue(s): #8818#11359

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.12The system shall evolve a gas phase as CO2 is added to a liquid brine phase.

    Specification(s): theis_brineco2

    Design: PorousFlowBrineCO2

    Issue(s): #8818

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.13The system shall evolve a gas phase as CO2 is added to a liquid brine phase in a nonisothermal model.

    Specification(s): theis_brineco2_nonisothermal

    Design: PorousFlowBrineCO2

    Issue(s): #8818#10167

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.14The system shall calculate the initial value of total mass fraction corresponding to the specified gas saturation in a water and NCG system.

    Specification(s): waterncg_ic

    Design: PorousFlowFluidStateIC

    Issue(s): #9377

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.15The system shall calculate the initial value of total mass fraction corresponding to the specified gas saturation in a brine and CO2 system.

    Specification(s): brineco2_ic

    Design: PorousFlowFluidStateIC

    Issue(s): #9377

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.16The system shall calculate the properties of both the gas and liquid phase in a water-steam system.

    Specification(s): water_vapor_2phase

    Design: PorousFlowWaterVapor

    Issue(s): #13108

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.17The system shall calculate the liquid properties in a saturated liquid system.

    Specification(s): water_vapor_liquid

    Design: PorousFlowWaterVapor

    Issue(s): #13108

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.18The system shall calculate the gas properties in a saturated gas system.

    Specification(s): water_vapor_gas

    Design: PorousFlowWaterVapor

    Issue(s): #13108

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.19The system shall evolve a vapor phase as conditions enter the two phase region.

    Specification(s): water_vapor_phase_change

    Design: PorousFlowWaterVapor

    Issue(s): #13108

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.20The system shall be able to use tabulated fluid properties in conjunction with another fluid properties object to provide non-tabulated properties.

    Specification(s): water_vapor_tabulated

    Design: PorousFlowWaterVapor

    Issue(s): #27457

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.21The system shall calculate the temperature profile in a 1D Avdonin problem.

    Specification(s): geothermal_1d

    Design: PorousFlowWaterVapor

    Issue(s): #13108

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.14.22The system shall calculate the temperature profile in a 1D radial Avdonin problem.

    Specification(s): geothermal_1d_radial

    Design: PorousFlowWaterVapor

    Issue(s): #13108

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Functions
  • 13.17.1

    Specification(s): mpf_except1

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.17.2

    Specification(s): mpf1

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • porous_flow: Heterogeneous Materials
  • 13.22.1The system shall allow the assignment of porosity and permeability from an AuxVariable field.

    Specification(s): constant_poroperm

    Design: PorousFlowPorosity

    Issue(s): #8062

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.22.2The system shall allow the assignment of porosity and permeability from an AuxVariable field using FV variables.

    Specification(s): constant_poroperm_fv

    Design: PorousFlowPorosity

    Issue(s): #8062#21275

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.22.3The system shall allow the assignment of porosity and permeability from an AuxVariable field with binlinear relationships.

    Specification(s): constant_poroperm2

    Design: PorousFlowPorosity

    Issue(s): #8062

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 13.22.4The system shall allow the assignment of porosity and permeability from an AuxVariable read from a mesh.

    Specification(s): constant_poroperm3

    Design: PorousFlowPorosity

    Issue(s): #13478

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 13.22.3

  • 13.22.5The system shall calculate permeability from a changing porosity.

    Specification(s): vol_expansion_poroperm

    Design: PorousFlowPorosity

    Issue(s): #8062

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • porous_flow: Hysteresis
  • 13.23.1If the liquid phase number exceeds the number of phases in the system, PorousFlow shall produce an appropriate error message and exit

    Specification(s): except01

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.2The maximum order for hysteretic relative permeabilities and capillary pressures is 3 and if the user specifies an initial order greater than this amount, an error shall be thrown

    Specification(s): except02

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.3An error shall be thrown if the initial order of hysteresis is incommensurate with previous_turning_points

    Specification(s): except03

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.4An error shall be thrown if the hysteretic turning points do not lie in the range [0, 1]

    Specification(s): except04

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.5An error shall be thrown if the hysteretic turning points do not lie in the range [0, 1]

    Specification(s): except05

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.6An error shall be thrown if the turning points are incorrectly ordered

    Specification(s): except06

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.7An error shall be thrown if the turning points are incorrectly ordered

    Specification(s): except07

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.8An error shall be thrown if the turning points are incorrectly ordered

    Specification(s): except08

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.9An error shall be thrown if the hysteresis turning-point information is requested for the Nth turning point, when N exceeds the maximum number of turning points

    Specification(s): except09

    Design: PorousFlowHysteresisOrderPorousFlowPropertyAux

    Issue(s): #16021

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.10An error shall be thrown if the maximum gas residual saturation is greater than 1 - minimum_liquid_saturation in hysteretic problems

    Specification(s): except10

    Design: Hysteresis in PorousFlow

    Issue(s): #16129

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.11An error shall be thrown if parameters are chosen such that the high and low extension regions of the hysteretic capillary pressure overlap

    Specification(s): except11

    Design: Hysteresis in PorousFlow

    Issue(s): #16129

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.12A warning shall be produced if the residual saturation is not greater than the minimum saturation in hysteretic simulations

    Specification(s): except12

    Design: Hysteresis in PorousFlow

    Issue(s): #16129

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.13An exception shall be thrown if a single-phase hysteretic capillary-pressure Material is used in situations with more than one fluid phase

    Specification(s): except13

    Design: PorousFlow1PhaseHysP

    Issue(s): #16129

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.14An exception shall be thrown if a two-phase PP hysteretic capillary-pressure Material is used in models that do not have exactly 2 phases

    Specification(s): except14

    Design: PorousFlow2PhaseHysPP

    Issue(s): #16260

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.15An exception shall be thrown if a two-phase PS hysteretic capillary-pressure Material is used in models that do not have exactly 2 phases

    Specification(s): except15

    Design: PorousFlow2PhaseHysPS

    Issue(s): #16260

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.16When using hysteretic relative permeabilities, an exception shall be thrown if the gas residual saturation is not less than 1 - liquid_residual_saturation

    Specification(s): except16

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 13.23.17PorousFlow shall be able to calculate the hysteresis order

    Specification(s): hys_order_01

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.18PorousFlow shall be able to calculate the hysteresis order

    Specification(s): hys_order_02

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.19PorousFlow shall be able to calculate the hysteresis order

    Specification(s): hys_order_03

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.20PorousFlow shall be able to calculate the hysteresis order and hysteresis order shall be able to be initialized to a nonzero value

    Specification(s): hys_order_04

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.21PorousFlow shall be able to calculate the hysteresis order and hysteresis order shall be able to be initialized to a nonzero value

    Specification(s): hys_order_05

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.22PorousFlow shall be able to calculate the hysteresis order and hysteresis order shall be able to be initialized to a nonzero value

    Specification(s): hys_order_06

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.23PorousFlow shall be able to calculate the hysteresis order and hysteresis order shall be able to be initialized to a nonzero value

    Specification(s): hys_order_07

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.24PorousFlow shall be able to calculate the hysteresis order and hysteresis order shall be able to be initialized to a nonzero value, and jumps of greater than 2 in hysteresis order shall be allowed within one time-step

    Specification(s): hys_order_08

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.25PorousFlow shall be able to calculate the hysteresis order and hysteresis order shall be able to be initialized to a nonzero value, and jumps of greater than 2 in hysteresis order shall be allowed within one time-step, and turning points shall be correctly identified in such situations

    Specification(s): hys_order_09

    Design: PorousFlowHysteresisOrder

    Issue(s): #16021

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.26PorousFlow shall be able to compute saturation according to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_sat_01

    Design: PorousFlow1PhaseHysP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.27PorousFlow shall be able to compute saturation according to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_sat_02

    Design: PorousFlow1PhaseHysP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.28PorousFlow shall be able to compute saturation according to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_sat_03

    Design: PorousFlow1PhaseHysP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.29PorousFlow shall be able to compute capillary pressure according to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_pc_01

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.30PorousFlow shall be able to compute capillary pressure according to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_pc_02

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.31PorousFlow shall be able to compute capillary pressure according to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_pc_03

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.32PorousFlow shall be able to compute capillary pressure according to the primary wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_pc_1_w_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.33PorousFlow shall be able to compute capillary pressure according to the primary wetting curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_pc_1_w_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.34PorousFlow shall be able to compute capillary pressure according to the primary wetting curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_pc_1_w_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.35PorousFlow shall be able to compute capillary pressure according to the primary wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_pc_1_w_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.36PorousFlow shall be able to compute capillary pressure according to the primary wetting curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_pc_1_w_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.37PorousFlow shall be able to compute capillary pressure according to the primary wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_pc_1_w_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.38PorousFlow shall be able to compute capillary pressure according to the first-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_pc_1_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.39PorousFlow shall be able to compute capillary pressure according to the first-order wetting curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_pc_1_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.40PorousFlow shall be able to compute capillary pressure according to the first-order wetting curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_pc_1_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.41PorousFlow shall be able to compute capillary pressure according to the first-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_pc_1_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.42PorousFlow shall be able to compute capillary pressure according to the first-order wetting curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_pc_1_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.43PorousFlow shall be able to compute capillary pressure according to the first-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_pc_1_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.44PorousFlow shall be able to compute capillary pressure according to the second-order drying curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_pc_2_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.45PorousFlow shall be able to compute capillary pressure according to the second-order drying curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_pc_2_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.46PorousFlow shall be able to compute capillary pressure according to the second-order drying curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_pc_2_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.47PorousFlow shall be able to compute capillary pressure according to the second-order drying curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_pc_2_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.48PorousFlow shall be able to compute capillary pressure according to the second-order drying curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_pc_2_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.49PorousFlow shall be able to compute capillary pressure according to the second-order drying curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_pc_2_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.50PorousFlow shall be able to compute capillary pressure according to the third-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_pc_3_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.51PorousFlow shall be able to compute capillary pressure according to the third-order wetting curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_pc_3_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.52PorousFlow shall be able to compute capillary pressure according to the third-order wetting curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_pc_3_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.53PorousFlow shall be able to compute capillary pressure according to the third-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_pc_3_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.54PorousFlow shall be able to compute capillary pressure according to the third-order wetting curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_pc_3_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.55PorousFlow shall be able to compute capillary pressure according to the third-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_pc_3_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.56PorousFlow shall be able to compute saturation from capillary pressure according to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_sat_prim_01

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.57PorousFlow shall be able to compute saturation from capillary pressure according to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_sat_prim_02

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.58PorousFlow shall be able to compute saturation from capillary pressure according to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_sat_prim_03

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.59PorousFlow shall be able to compute liquid saturation according to the primary wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_sat_1_w_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.60PorousFlow shall be able to compute liquid saturation according to the primary wetting curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_sat_1_w_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.61PorousFlow shall be able to compute liquid saturation according to the primary wetting curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_sat_1_w_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.62PorousFlow shall be able to compute liquid saturation according to the primary wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_sat_1_w_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.63PorousFlow shall be able to compute liquid saturation according to the primary wetting curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_sat_1_w_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.64PorousFlow shall be able to compute liquid saturation according to the primary wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_sat_1_w_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.65PorousFlow shall be able to compute liquid saturation according to the second-order drying curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_sat_2_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.66PorousFlow shall be able to compute liquid saturation according to the second-order drying curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_sat_2_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.67PorousFlow shall be able to compute liquid saturation according to the second-order drying curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_sat_2_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.68PorousFlow shall be able to compute liquid saturation according to the second-order drying curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_sat_2_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.69PorousFlow shall be able to compute liquid saturation according to the second-order drying curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_sat_2_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.70PorousFlow shall be able to compute liquid saturation according to the second-order drying curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_sat_2_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.71PorousFlow shall be able to compute liquid saturation according to the third-order wetting curve in hysteretic problems, using no low extension and power high extension

    Specification(s): hys_sat_3_none_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.72PorousFlow shall be able to compute liquid saturation according to the third-order wetting curve in hysteretic problems, using quadratic low extension and no high extension

    Specification(s): hys_sat_3_quadratic_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.73PorousFlow shall be able to compute liquid saturation according to the third-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_sat_3_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.74PorousFlow shall be able to compute liquid saturation according to the third-order wetting curve in hysteretic problems, using exponential low extension and no high extension

    Specification(s): hys_sat_3_exponential_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.75PorousFlow shall be able to compute liquid saturation according to the third-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_sat_3_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.76PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_dpc_prim_01

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.77PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_dpc_prim_02

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.78PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_dpc_prim_03

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.79PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along the first-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_dpc_1_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.80PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along the first-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_dpc_1_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.81PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along the first-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_dpc_1_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.82PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along the second-order drying curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_dpc_2_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.83PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along the second-order drying curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_dpc_2_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.84PorousFlow shall be able to compute the derivative of capillary pressure with respect to liquid saturation along the second-order drying curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_dpc_2_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.85PorousFlow shall be able to compute the derivative of the capillary pressure with respect to the liquid saturation along the third-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_dpc_3_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.86PorousFlow shall be able to compute the derivative of the capillary pressure with respect to the liquid saturation along the third-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_dpc_3_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.87PorousFlow shall be able to compute the derivative of the capillary pressure with respect to the liquid saturation along the third-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_dpc_3_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.88PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_d2pc_prim_01

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.89PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_d2pc_prim_02

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.90PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_d2pc_prim_03

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.91PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along the first-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_d2pc_1_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.92PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along the first-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_d2pc_1_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.93PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along the first-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_d2pc_1_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.94PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along the second-order drying curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_d2pc_2_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.95PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along the second-order drying curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_d2pc_2_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.96PorousFlow shall be able to compute the second derivative of capillary pressure with respect to liquid saturation along the second-order drying curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_d2pc_2_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.97PorousFlow shall be able to compute the second derivative of the capillary pressure with respect to the liquid saturation along the third-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_d2pc_3_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.98PorousFlow shall be able to compute the second derivative of the capillary pressure with respect to the liquid saturation along the third-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_d2pc_3_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.99PorousFlow shall be able to compute the second derivative of the capillary pressure with respect to the liquid saturation along the third-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_d2pc_3_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.100PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_dsat_prim_01

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.101PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_dsat_prim_02

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.102PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_dsat_prim_03

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.103PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along the first-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_dsat_1_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.104PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along the first-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_dsat_1_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.105PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along the first-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_dsat_1_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.106PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along the second-order drying curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_dsat_2_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.107PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along the second-order drying curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_dsat_2_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.108PorousFlow shall be able to compute the derivative of liquid saturation with respect to capillary pressure along the second-order drying curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_dsat_2_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.109PorousFlow shall be able to compute the derivative of the liquid saturation with respect to capillary pressure along the third-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_dsat_3_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.110PorousFlow shall be able to compute the derivative of the liquid saturation with respect to capillary pressure along the third-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_dsat_3_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.111PorousFlow shall be able to compute the derivative of the liquid saturation with respect to capillary pressure along the third-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_dsat_3_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.112PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along to the primary drying curve in hysteretic problems, using no low extension

    Specification(s): hys_d2sat_prim_01

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.113PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along to the primary drying curve in hysteretic problems, using quadratic low extension

    Specification(s): hys_d2sat_prim_02

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.114PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along to the primary drying curve in hysteretic problems, using exponential low extension

    Specification(s): hys_d2sat_prim_03

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.115PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along the first-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_d2sat_1_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.116PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along the first-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_d2sat_1_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.117PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along the first-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_d2sat_1_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.118PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along the second-order drying curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_d2sat_2_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.119PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along the second-order drying curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_d2sat_2_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.120PorousFlow shall be able to compute the second derivative of liquid saturation with respect to capillary pressure along the second-order drying curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_d2sat_2_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.121PorousFlow shall be able to compute the second derivative of the liquid saturation with respect to capillary pressure along the third-order wetting curve in hysteretic problems, using no low extension and no high extension

    Specification(s): hys_d2sat_3_none_none

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.122PorousFlow shall be able to compute the second derivative of the liquid saturation with respect to capillary pressure along the third-order wetting curve in hysteretic problems, using quadratic low extension and power high extension

    Specification(s): hys_d2sat_3_quadratic_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.123PorousFlow shall be able to compute the second derivative of the liquid saturation with respect to capillary pressure along the third-order wetting curve in hysteretic problems, using exponential low extension and power high extension

    Specification(s): hys_d2sat_3_exponential_power

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.124PorousFlow shall be able to compute capillary pressure as a function of saturation in hysteretic time-dependent problems, along the primary drying curve

    Specification(s): vary_sat_1a

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.125PorousFlow shall be able to compute capillary pressure as a function of saturation in hysteretic time-dependent problems, along the primary drying curve and then the primary wetting curve

    Specification(s): vary_sat_1b

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.126PorousFlow shall be able to compute capillary pressure as a function of saturation in hysteretic time-dependent problems, along the primary drying curve and then the first-order wetting

    Specification(s): vary_sat_1c

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.127PorousFlow shall be able to compute capillary pressure as a function of saturation in hysteretic time-dependent problems, along the primary drying curve, then first-order wetting, and then second-order drying

    Specification(s): vary_sat_1d

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.128PorousFlow shall be able to compute capillary pressure as a function of saturation in hysteretic time-dependent problems, along the primary drying curve, then first-order wetting, and then second-order drying, and then third-order

    Specification(s): vary_sat_1e

    Design: PorousFlowHystereticInfo

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.129PorousFlow shall be able to compute saturation in 1-phase hysteretic systems, as the system evolves in time along the primary drying curve and then along a first-order wetting curve

    Specification(s): 1phase

    Design: PorousFlow1PhaseHysP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.130PorousFlow shall be able to compute saturation in 1-phase hysteretic systems, as the system evolves in time along the primary drying curve and then along a first-order wetting curve, when the input file has a PorousFlow boundary condition

    Specification(s): 1phase_bc

    Design: PorousFlow1PhaseHysP

    Issue(s): #23871

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.131PorousFlow shall be able to compute saturation in 1-phase hysteretic systems, as the system evolves in time along the primary drying curve and then along first, second and third order curves

    Specification(s): 1phase_3rd

    Design: PorousFlow1PhaseHysP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.132PorousFlow shall be able to compute the full Jacobian entries in 2-phase hysteretic systems when using a PP formulation

    Specification(s): 2phasePP_jacobian

    Design: PorousFlow2PhaseHysPP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 13.23.133PorousFlow shall be able to compute saturations and porepressures in 2-phase hysteretic systems when using a PP formulation, as the system evolves in time along the primary drying curve and then along a first-order curve

    Specification(s): 2phasePP_1

    Design: PorousFlow2PhaseHysPP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.134PorousFlow shall be able to compute saturations and porepressures in 2-phase hysteretic systems when using a PP formulation, as the system evolves in time along the primary drying curve and then along a first-order curve and then along a second-order drying curve until it meets the primary drying curve

    Specification(s): 2phasePP_2

    Design: PorousFlow2PhaseHysPP

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.135PorousFlow shall be able to compute the full Jacobian entries in 2-phase hysteretic systems when using a PS formulation

    Specification(s): 2phasePS_jacobian

    Design: PorousFlow2PhaseHysPS

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 13.23.136PorousFlow shall be able to compute saturations and porepressures in 2-phase hysteretic systems when using a PS formulation, as the system evolves in time along the primary drying curve and then along a first-order curve

    Specification(s): 2phasePS_1

    Design: PorousFlow2PhaseHysPS

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.137PorousFlow shall be able to compute saturations and porepressures in 2-phase hysteretic systems when using a PS formulation, as the system evolves in time along the primary drying curve and then along a first-order curve and then along a second-order drying curve until it meets the primary drying curve

    Specification(s): 2phasePS_2

    Design: PorousFlow2PhaseHysPS

    Issue(s): #16129

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.138PorousFlow shall be able to compute hysteretic relative permeability in 1-phase systems as the system evolves in time along the primary drying curve and then along a first-order wetting curve

    Specification(s): 1phase_relperm

    Design: PorousFlowHystereticRelativePermeabilityLiquid

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.139PorousFlow shall be able to compute hysteretic relative permeability in 1-phase systems as the saturation cycles between high and low values, including going below the residual saturation

    Specification(s): 1phase_relperm_2

    Design: PorousFlowHystereticRelativePermeabilityLiquid

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.140PorousFlow shall be able to compute hysteretic liquid and gas relative permeabilities in 2-phase systems as the system evolves in time along the primary drying curve and then along first-order wetting curves

    Specification(s): 2phasePS_relperm

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.141PorousFlow shall be able to compute hysteretic liquid and gas relative permeabilities in 2-phase systems as the system dries and then re-wets, and the gas relative permeability is extended to low saturations using a linear-like extension

    Specification(s): 2phasePS_relperm_2_linear_like

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.142PorousFlow shall be able to compute hysteretic liquid and gas relative permeabilities in 2-phase systems as the system dries and then re-wets, and the gas relative permeability is extended to low saturations using a cubic extension

    Specification(s): 2phasePS_relperm_2_cubic

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.143PorousFlow shall be able to compute hysteretic liquid and gas relative permeabilities in 2-phase systems as the system dries and then re-wets, and the gas relative permeability is extended to low saturations by assuming is is unity

    Specification(s): 2phasePS_relperm_2_none

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.23.144PorousFlow shall be able to compute the full Jacobian entries when using hysteretic relative permeabilities, as the system evolves along a zeroth order curve

    Specification(s): relperm_jac

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 13.23.145PorousFlow shall be able to compute the full Jacobian entries when using hysteretic relative permeabilities, as the system evolves along a first-order curve

    Specification(s): relperm_jac_1

    Design: PorousFlowHystereticRelativePermeabilityLiquidPorousFlowHystereticRelativePermeabilityGas

    Issue(s): #16324

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • porous_flow: Newton Cooling
  • 13.28.1PorousFlow shall be able to model transient newton cooling acting on the fluid mass and agree with the analytic solution

    Specification(s): nc01

    Design: Heat and fluid responses in 1D bars

    Issue(s): #13155#16953

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.28.2PorousFlow shall be able to model steady-state newton cooling acting on the fluid mass and agree with the analytic solution

    Specification(s): nc02

    Design: Heat and fluid responses in 1D bars

    Issue(s): #13155

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.28.3PorousFlow shall be able to model steady-state newton cooling acting on the temperature and agree with the analytic solution

    Specification(s): nc04

    Design: Heat and fluid responses in 1D bars

    Issue(s): #13155

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.28.4PorousFlow shall be able to model newton cooling acting on the porepressure and at the same time extracting heat along with the extracted fluid and agree with the analytic solution

    Specification(s): nc06

    Design: Heat and fluid responses in 1D bars

    Issue(s): #13155

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.28.5PorousFlow shall be able to model newton cooling acting on the porepressure of an ideal gas and at the same time extracting heat along with the extracted gas and agree with the analytic solution

    Specification(s): nc08

    Design: Heat and fluid responses in 1D bars

    Issue(s): #13155

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Numerical Diffusion
  • 13.29.1The system shall be able to solve the advection equation

    Specification(s): framework

    Design: Numerical diffusion

    Issue(s): #12346

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.2PorousFlow shall be able to solve the advection of fluid species, using mass lumping and no upwinding, employing an Action

    Specification(s): fully_saturated_action

    Design: Numerical diffusion

    Issue(s): #11013

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.3PorousFlow shall be able to solve the advection of fluid species, using mass lumping and full upwinding, without employing an action

    Specification(s): no_action

    Design: Numerical diffusion

    Issue(s): #11013

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.4PorousFlow shall be able to solve the advection of fluid species in a fully-saturated single-phase situation, using mass lumping and full upwinding, via employing an action

    Specification(s): fully_saturated_upwinded

    Design: Numerical diffusion

    Issue(s): #16841

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.29.3

  • 13.29.5PorousFlow shall be able to solve the advection of fluid species in a fully-saturated single-phase situation, using mass lumping and KT upwinding, via employing an action

    Specification(s): fully_saturated_KT

    Design: Numerical diffusion

    Issue(s): #16841

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.6PorousFlow shall implement Kuzmin-Turek stabilization, but be able to use no antidiffusion

    Specification(s): fltvd_no_antidiffusion

    Design: Numerical diffusion

    Issue(s): #12370#12118#10426

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.7PorousFlow shall implement Kuzmin-Turek stabilization

    Specification(s): fltvd

    Design: Numerical diffusion

    Issue(s): #12370#12118#10426

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.8PorousFlow shall implement Kuzmin-Turek stabilization for PorousFlow simulations. The advection via the Darcy velocity shall have the correct velocity. With no flux-limiter the results should be the same as full upwinding. The results for simulations involving PorousFlow Kernels and UserObjects when the Darcy velocity is constant shall be the same as the constant-velocity, non-PorousFlow case.

    Specification(s): pffltvd

    Design: Numerical diffusionHow to use Kuzmin-Turek stabilization in PorousFlow simulations

    Issue(s): #10426

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.29.9PorousFlow shall implement Kuzmin-Turek stabilization for PorousFlow simulations and the user shall be able to use the PorousFlow Action system to choose the Kuzmin-Turek stabilization for single-phase, multi-component fluid flow

    Specification(s): pffltvd_action

    Design: Numerical diffusionHow to use Kuzmin-Turek stabilization in PorousFlow simulations

    Issue(s): #10426

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 13.29.8

  • porous_flow: Radioactive Decay
  • 13.34.1

    Specification(s): radioactive_deacy01

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.34.2

    Specification(s): exponential_decay

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Relperm
  • 13.36.1

    Specification(s): unity

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.2

    Specification(s): corey1

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.3

    Specification(s): corey2

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.4

    Specification(s): corey3

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.5

    Specification(s): corey4

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.6

    Specification(s): vangenuchten1

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.7

    Specification(s): vangenuchten2

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.8

    Specification(s): brookscorey1

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.36.9

    Specification(s): brookscorey2

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Thermal Conductivity
  • 13.38.1

    Specification(s): ThermalCondPorosity01

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • porous_flow: Thm Rehbinder
  • 13.39.1

    Specification(s): fixed_outer

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.39.2

    Specification(s): fixed_outer_rz

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 13.39.3

    Specification(s): free_outer

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

Usability Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

Performance Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

System Interface Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

References

No citations exist within this document.