Permeability Parameterizations

Methods

A number of permeability parameterisations are implemented, which can be set with:

GeoParams.MaterialParameters.Permeability.ConstantPermeabilityType
ConstantPermeability(k = 1e-12m^2)

Defines a constant permeability value for a given material.

Arguments

  • k: The permeability value in square meters (m^2). Default is 1e-12 m^2.

Example

rheology = SetMaterialParams(;
                      Phase=1,
                      CreepLaws=(PowerlawViscous(), LinearViscous(; η=1e21Pa * s)),
                      Gravity=ConstantGravity(; g=9.81.0m / s^2),
                      Density= MeltDependent_Density(),
                      Permeability = ConstantPermeability(; k=1e-12m^2),
                      )
source
GeoParams.MaterialParameters.Permeability.HazenPermeabilityType
HazenPermeability(C = 1.0 * NoUnits, D10 = 1e-4m)

Defines the Hazen permeability equation for a given material.

\[ k = C \cdot D_{10}^2\]

Arguments

  • C: The Hazen constant. Default is 1.0.
  • D10: The effective grain size. Default is 1e-4 m.

Example

rheology = SetMaterialParams(;
                      Phase=1,
                      CreepLaws=(PowerlawViscous(), LinearViscous(; η=1e21Pa * s)),
                      Gravity=ConstantGravity(; g=9.81.0m / s^2),
                      Density= MeltDependent_Density(),
                      Permeability = HazenPermeability(; C=1.0, D10=1e-4m),
                      )
source
GeoParams.MaterialParameters.Permeability.PowerLawPermeabilityType
PowerLawPermeability(c = 1.0, k0 = 1e-12m^2, ϕ = 1e-2, n = 3)

Defines the power-law permeability equation for a given material.

\[ c * k_0 * \phi^{n}\]

Arguments

  • c: The power-law constant. Default is 1.0.
  • k0: The reference permeability. Default is 1e-12 m^2.
  • ϕ: The reference porosity. Default is 1e-2.
  • n: The exponent. Default is 3.

Example

rheology = SetMaterialParams(;
                      Phase=1,
                      CreepLaws=(PowerlawViscous(), LinearViscous(; η=1e21Pa * s)),
                      Gravity=ConstantGravity(; g=9.81.0m / s^2),
                      Density= MeltDependent_Density(),
                      Permeability = PowerLawPermeability(; c=1.0, k0=1e-12m^2, ϕ=1e-2, n=3),
                      )
source
GeoParams.MaterialParameters.Permeability.CarmanKozenyPermeabilityType
CarmanKozenyPermeability(c = 1.0m^2, ϕ0 = 0.01, n = 3)

Defines the Carman-Kozeny permeability equation for a given material.

\[ k = c \left(\frac{\phi}{\phi_0}\right)^n\]

Arguments

  • c: The Carman-Kozeny constant. Default is 1.0 m^2.
  • ϕ0: The reference porosity. Default is 0.01.
  • n: The exponent. Default is 3.

Example

rheology = SetMaterialParams(;
                      Phase=1,
                      CreepLaws=(PowerlawViscous(), LinearViscous(; η=1e21Pa * s)),
                      Gravity=ConstantGravity(; g=9.81.0m / s^2),
                      Density= MeltDependent_Density(),
                      Permeability = CarmanKozenyPermeability(; c=1.0m^2, ϕ0=0.01, n=3),
                      )
source

Computational routines

To compute the permeability, use:

GeoParams.MaterialParameters.Permeability.compute_permeability!Function
compute_permeability!(k::AbstractArray{_T, N}, MatParam::NTuple{K,AbstractMaterialParamsStruct}, PhaseRatios::AbstractArray{_T, M}, P=nothing, T=nothing)

In-place computation of permeability k for the whole domain and all phases, in case a vector with phase properties MatParam is provided, along with P and T arrays. This assumes that the PhaseRatio of every point is specified as an Integer in the PhaseRatios array, which has one dimension more than the data arrays (and has a phase fraction between 0-1)

source