Fronts.PorousModels module: unsaturated flow models

The PorousModels submodule defines models of unsaturated flow in porous media for use in problems solvable with Fronts.

Fronts.PorousModels.BrooksAndCoreyType
BrooksAndCorey(; n, Ks=1, l=1, α=1, θr=0, θs=1) <: UnsaturatedFlowModel
BrooksAndCorey(; n, k, l=1, α=1, θr=0, θs=1, ρ=1e3, μ=1e-3, g=9.81) <: UnsaturatedFlowModel

Create a Brooks and Corey porous model.

Keyword arguments

  • n: n parameter.
  • Ks=1: saturated hydraulic conductivity.
  • k: intrinsic permeability.
  • l=1: l parameter.
  • α=1 (\alpha<tab>): α parameter.
  • θr=0 (\theta<tab>r): residual moisture content.
  • θs=1 (\theta<tab>s): moisture content when saturated.
  • ρ=1e3 (\rho<tab>): density of the fluid.
  • μ=1e-3 (\mu<tab>): dynamic viscosity of the fluid.
  • g=9.81: magnitude of the gravitational acceleration.

References

BROOKS, R.; COREY, T. Hydraulic properties of porous media. Hydrology Papers, Colorado State University, 1964, vol. 24, p. 37.

source
Fronts.PorousModels.VanGenuchtenType
VanGenuchten(; n, Ks=1, l=0.5, α=1, θr=0, θs=1) <: UnsaturatedFlowModel
VanGenuchten(; m, Ks=1, l=0.5, α=1, θr=0, θs=1) <: UnsaturatedFlowModel
VanGenuchten(; n, k, l=0.5, α=1, θr=0, θs=1, ρ=1e3, μ=1e-3, g=9.81) <: UnsaturatedFlowModel
VanGenuchten(; m, k, l=0.5, α=1, θr=0, θs=1, ρ=1e3, μ=1e-3, g=9.81) <: UnsaturatedFlowModel

Create a Van Genuchten porous model.

Keyword arguments

  • n, m: n or m parameter (the parameters are related by m = 1-1/n).
  • Ks=1: saturated hydraulic conductivity.
  • k: intrinsic permeability.
  • l=0.5: l parameter.
  • α=1 (\alpha<tab>): α parameter.
  • θr=0 (\theta<tab>r): residual moisture content.
  • θs=1 (\theta<tab>s): moisture content when saturated.
  • ρ=1e3 (\rho<tab>): density of the fluid.
  • μ=1e-3 (\mu<tab>): viscosity of the fluid.
  • g=9.81: magnitude of the gravitational acceleration.

References

VAN GENUCHTEN, M. Th. A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Science Society of America Journal, 1980, vol. 44, no 5, p. 892-898.

source
Fronts.PorousModels.LETxsType
LETxs(; Lw, Ew, Tw, Ls, Es, Ts, Ks=1, α=1, θr=0, θs=1) <: UnsaturatedFlowModel
LETxs(; Lw, Ew, Tw, Ls, Es, Ts, k, α=1, θr=0, θs=1, ρ=1e3, μ=1e-3, g=9.81) <: UnsaturatedFlowModel

Create a LETxs porous model.

Keyword arguments

  • Lw, Ew, Tw: shape parameters for the LETx permeability correlation.
  • Ls, Es, Ts: shape parameters for the LETs capillary pressure correlation.
  • Ks=1: saturated hydraulic conductivity.
  • k: intrinsic permeability.
  • α=1 (\alpha<tab>): α parameter.
  • θr=0 (\theta<tab>r): residual moisture content.
  • θs=1 (\theta<tab>s): moisture content when saturated.
  • ρ=1e3 (\rho<tab>): density of the fluid.
  • μ=1e-3 (\mu<tab>): viscosity of the fluid.
  • g=9.81: magnitude of the gravitational acceleration.

References

LOMELAND, F. Overview of the LET family of versatile correlations for flow functions. In: Proceedings of the International Symposium of the Society of Core Analysts, 2018, p. SCA2018-056.

GERLERO, G. S.; VALDEZ, A.; URTEAGA, R; KLER, P. A. Validity of capillary imbibition models in paper-based microfluidic applications. Transport in Porous Media, 2022, vol. 141, no. 7, p. 1-20.

source
Fronts.PorousModels.LETdType
LETd(; L, E, T, Dwt=1, θr=0, θs=1) <: UnsaturatedFlowModel

Create a LETd porous model.

Keyword arguments

  • L, E, T: shape parameters for the LETd moisture diffusivity correlation.
  • Dwt=1: constant diffusivity factor.
  • θr=0 (\theta<tab>r): residual moisture content.
  • θs=1 (\theta<tab>s): moisture content when saturated.

References

GERLERO, G. S.; VALDEZ, A.; URTEAGA, R; KLER, P. A. Validity of capillary imbibition models in paper-based microfluidic applications. Transport in Porous Media, 2022, vol. 141, no. 7, p. 1-20.

source
Fronts.DiffusionEquationMethod
Fronts.DiffusionEquation(pm::UnsaturatedFlowModel)
Fronts.DiffusionEquation{m}(pm::UnsaturatedFlowModel)

Moisture diffusivity equation (with unknown θ) defined with the given unsaturated flow model.

Arguments

  • pm: unsaturated flow model.

Type parameters

  • m=1: number of spatial dimensions:
    • 1 for non-radial one-dimensional diffusion (default);
    • 2 for radial diffusion in polar or cylindrical coordinates;
    • 3 for radial diffusion in spherical coordinates.
source
Fronts.PorousModels.RichardsEquationType
RichardsEquation(pm::UnsaturatedFlowModel)
RichardsEquation{m}(pm::UnsaturatedFlowModel)

Richards equation (with unknown h) defined with the given unsaturated flow model.

Arguments

  • pm: unsaturated flow model.

Type parameters

  • m=1: number of spatial dimensions:
    • 1 for non-radial one-dimensional diffusion (default);
    • 2 for radial diffusion in polar or cylindrical coordinates;
    • 3 for radial diffusion in spherical coordinates.
source
Fronts.PorousModels.θhFunction
θh(::UnsaturatedFlowModel, h)

Using the given model, evaluate the moisture content θ for the pressure head h.

Implementation

For this function to work with a custom model, the model needs to define a method.

source
Fronts.PorousModels.hθFunction
hθ(::UnsaturatedFlowModel, θ)¡

Using the given model, evaluate the pressure head h for the moisture content θ.

Implementation

For this function to work with a custom model, the model needs to define a method.

source
Fronts.PorousModels.ChFunction
Ch(::UnsaturatedFlowModel, h)

Using the given model, evaluate the capillary capacity C for the pressure head h.

Implementation

For this function to work with a custom model, the model needs to define a method, or alternatively a method of θh.

See also: θh

source
Fronts.PorousModels.CθFunction
Cθ(::UnsaturatedFlowModel, θ)

Using the given model, evaluate the capillary capacity C for the moisture content θ.

Implementation

For this function to work with a custom model, the model needs to define a method of it or methods of and Ch (or θh).

See also: , Ch, θh

source
Fronts.PorousModels.KhFunction
Kh(::UnsaturatedFlowModel, h)

Using the given model, evaluate the hydraulic conductivity K for the pressure head h.

Implementation

For this function to work with a custom model, the model needs to define a method of it or methods of and θh.

See also: , θh

source
Fronts.PorousModels.KθFunction
Kθ(::UnsaturatedFlowModel, θ)

Using the given model, evaluate the hydraulic conductivity K for the moisture content θ.

Implementation

For this function to work with a custom model, the model needs to define a method of it or methods of Kh and .

See also: Kh,

source
Fronts.PorousModels.DθFunction
Dθ(::UnsaturatedFlowModel, θ)

Obtain the moisture diffusivity D that corresponds to the volumetric water content θ with a given model.

Implementation

A default definition of this function exists for any custom UnsaturatedFlowModels that define methods of (or Kh and ) and (or one of Ch/θh).

See also: , Kh, , , Ch, θh

source