PorousFlowUnsaturated

under construction:Undocumented Class

The PorousFlowUnsaturated has not been documented, if you would like to contribute to MOOSE by writing documentation, please see Documenting MOOSE. The content contained on this page explains the typical documentation associated with an action; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.

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

Input Parameters

  • porepressureThe name of the porepressure variable

    C++ Type:NonlinearVariableName

    Options:

    Description:The name of the porepressure variable

Required Parameters

  • add_saturation_auxTrueAdd an AuxVariable that records saturation

    Default:True

    C++ Type:bool

    Options:

    Description:Add an AuxVariable that records saturation

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector

    Options:

    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

    Options:

    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

    Options:

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

  • add_darcy_auxTrueAdd AuxVariables that record Darcy velocity

    Default:True

    C++ Type:bool

    Options:

    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

    Options:

    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

  • use_displaced_meshFalseUse displaced mesh computations in mechanical kernels

    Default:False

    C++ Type:bool

    Options:

    Description:Use displaced mesh computations in mechanical kernels

  • residual_saturation0Residual saturation to use in the relative permeability expression

    Default:0

    C++ Type:double

    Options:

    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

    Options:

    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

    Options:

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

  • relative_permeability_exponent3Relative permeability exponent

    Default:3

    C++ Type:double

    Options:

    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

    Options:

    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

    Options:

    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

    Options:

    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

    Options:

    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

    Options:

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

  • simulation_typetransientWhether a transient or steady-state simulation is being performed

    Default:transient

    C++ Type:MooseEnum

    Options:steady transient

    Description:Whether a transient or steady-state simulation is being performed

  • dictator_namedictatorThe name of the dictator user object that is created by this Action

    Default:dictator

    C++ Type:std::string

    Options:

    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

    Options:

    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

    Options:

    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

    Options:FLAC Corey

    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

    Options:

    Description:Use PorousFlowBrine material for the fluid phase

  • add_stress_auxTrueAdd AuxVariables that record effective stress

    Default:True

    C++ Type:bool

    Options:

    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

    Options:Hydro ThermoHydro HydroMechanical ThermoHydroMechanical

    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

    Options:

    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)

Optional Parameters

References