- porepressureThe name of the porepressure variable
C++ Type:VariableName

Description:The name of the porepressure variable

# PorousFlowUnsaturated

Adds Kernels and fluid-property Materials necessary to simulate a single-phase saturated-unsaturated flow problem. The saturation is computed using van Genuchten's expression. No Kernels for diffusion and dispersion of fluid components are added. To run a simulation you will also need to provide various other Materials for each mesh block, depending on your simulation type, viz: permeability, porosity, elasticity tensor, strain calculator, stress calculator, matrix internal energy, thermal conductivity, diffusivity

For discussion and a worked example, see tutorial page 8.

## Input Parameters

- stabilizationFullNumerical stabilization used. 'Full' means full upwinding. 'KT' means FEM-TVD stabilization of Kuzmin-Turek
Default:Full

C++ Type:MooseEnum

Description:Numerical stabilization used. 'Full' means full upwinding. 'KT' means FEM-TVD stabilization of Kuzmin-Turek

- add_saturation_auxTrueAdd an AuxVariable that records saturation
Default:True

C++ Type:bool

Description:Add an AuxVariable that records saturation

- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector

Description:If specified blocks matching these identifiers will be skipped.

- thermal_eigenstrain_namethermal_eigenstrainThe eigenstrain_name used in the ComputeThermalExpansionEigenstrain. Only needed for thermally-coupled simulations with thermal expansion.
Default:thermal_eigenstrain

C++ Type:std::string

Description:The eigenstrain_name used in the ComputeThermalExpansionEigenstrain. Only needed for thermally-coupled simulations with thermal expansion.

- biot_coefficient1The Biot coefficient (relevant only for mechanically-coupled simulations)
Default:1

C++ Type:double

Description:The Biot coefficient (relevant only for mechanically-coupled simulations)

- add_darcy_auxTrueAdd AuxVariables that record Darcy velocity
Default:True

C++ Type:bool

Description:Add AuxVariables that record Darcy velocity

- temperature293.0For isothermal simulations, this is the temperature at which fluid properties (and stress-free strains) are evaluated at. Otherwise, this is the name of the temperature variable. Units = Kelvin
Default:293.0

C++ Type:std::vector

Description:For isothermal simulations, this is the temperature at which fluid properties (and stress-free strains) are evaluated at. Otherwise, this is the name of the temperature variable. Units = Kelvin

- flux_limiter_typeVanLeerType of flux limiter to use if stabilization=KT. 'None' means that no antidiffusion will be added in the Kuzmin-Turek scheme
Default:VanLeer

C++ Type:MooseEnum

Description:Type of flux limiter to use if stabilization=KT. 'None' means that no antidiffusion will be added in the Kuzmin-Turek scheme

- use_displaced_meshFalseUse displaced mesh computations in mechanical kernels
Default:False

C++ Type:bool

Description:Use displaced mesh computations in mechanical kernels

- residual_saturation0Residual saturation to use in the relative permeability expression
Default:0

C++ Type:double

Description:Residual saturation to use in the relative permeability expression

- gravity0 0 -10Gravitational acceleration vector downwards (m/s^2)
Default:0 0 -10

C++ Type:libMesh::VectorValue

Description:Gravitational acceleration vector downwards (m/s^2)

- van_genuchten_alpha1e-06Van Genuchten alpha parameter used to determine saturation from porepressure
Default:1e-06

C++ Type:double

Description:Van Genuchten alpha parameter used to determine saturation from porepressure

- relative_permeability_exponent3Relative permeability exponent
Default:3

C++ Type:double

Description:Relative permeability exponent

- nacl_index0Index of NaCl variable in mass_fraction_vars, for calculating brine properties. Only required if use_brine is true.
Default:0

C++ Type:unsigned int

Description:Index of NaCl variable in mass_fraction_vars, for calculating brine properties. Only required if use_brine is true.

- mass_fraction_varsList of variables that represent the mass fractions. With only one fluid component, this may be left empty. With N fluid components, the format is 'f_0 f_1 f_2 ... f_(N-1)'. That is, the N^th component need not be specified because f_N = 1 - (f_0 + f_1 + ... + f_(N-1)). It is best numerically to choose the N-1 mass fraction variables so that they represent the fluid components with small concentrations. This Action will associated the i^th mass fraction variable to the equation for the i^th fluid component, and the pressure variable to the N^th fluid component.
C++ Type:std::vector

Description:List of variables that represent the mass fractions. With only one fluid component, this may be left empty. With N fluid components, the format is 'f_0 f_1 f_2 ... f_(N-1)'. That is, the N^th component need not be specified because f_N = 1 - (f_0 + f_1 + ... + f_(N-1)). It is best numerically to choose the N-1 mass fraction variables so that they represent the fluid components with small concentrations. This Action will associated the i^th mass fraction variable to the equation for the i^th fluid component, and the pressure variable to the N^th fluid component.

- displacementsThe name of the displacement variables (relevant only for mechanically-coupled simulations)
C++ Type:std::vector

Description:The name of the displacement variables (relevant only for mechanically-coupled simulations)

- fpuse_brine_materialThe name of the user object for fluid properties. Not required if use_brine is true.
Default:use_brine_material

C++ Type:UserObjectName

Description:The name of the user object for fluid properties. Not required if use_brine is true.

- van_genuchten_m0.6Van Genuchten m parameter used to determine saturation from porepressure
Default:0.6

C++ Type:double

Description:Van Genuchten m parameter used to determine saturation from porepressure

- dictator_namedictatorThe name of the dictator user object that is created by this Action
Default:dictator

C++ Type:std::string

Description:The name of the dictator user object that is created by this Action

- active__all__ If specified only the blocks named will be visited and made active
Default:__all__

C++ Type:std::vector

Description:If specified only the blocks named will be visited and made active

- number_aqueous_equilibrium0The number of secondary species in the aqueous-equilibrium reaction system. (Leave as zero if the simulation does not involve chemistry)
Default:0

C++ Type:unsigned int

Description:The number of secondary species in the aqueous-equilibrium reaction system. (Leave as zero if the simulation does not involve chemistry)

- relative_permeability_typeFLACType of relative-permeability function. FLAC relperm = (1+m)S^m - mS^(1+m). Corey relperm = S^m. m is the exponent. Here S = (saturation - residual)/(1 - residual)
Default:FLAC

C++ Type:MooseEnum

Description:Type of relative-permeability function. FLAC relperm = (1+m)S^m - mS^(1+m). Corey relperm = S^m. m is the exponent. Here S = (saturation - residual)/(1 - residual)

- use_brineFalseUse PorousFlowBrine material for the fluid phase
Default:False

C++ Type:bool

Description:Use PorousFlowBrine material for the fluid phase

- add_stress_auxTrueAdd AuxVariables that record effective stress
Default:True

C++ Type:bool

Description:Add AuxVariables that record effective stress

- coupling_typeHydroThe type of simulation. For simulations involving Mechanical deformations, you will need to supply the correct Biot coefficient. For simulations involving Thermal flows, you will need an associated ConstantThermalExpansionCoefficient Material
Default:Hydro

C++ Type:MooseEnum

Description:The type of simulation. For simulations involving Mechanical deformations, you will need to supply the correct Biot coefficient. For simulations involving Thermal flows, you will need an associated ConstantThermalExpansionCoefficient Material

- number_aqueous_kinetic0The number of secondary species in the aqueous-kinetic reaction system involved in precipitation and dissolution. (Leave as zero if the simulation does not involve chemistry)
Default:0

C++ Type:unsigned int

Description:The number of secondary species in the aqueous-kinetic reaction system involved in precipitation and dissolution. (Leave as zero if the simulation does not involve chemistry)