Skip to content

Permeability Parameterizations ​

Methods ​

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

GeoParams.MaterialParameters.Permeability.ConstantPermeability Type
julia
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

julia
julia> rheology = SetMaterialParams(;
           Phase = 1,
           CreepLaws = (PowerlawViscous(), LinearViscous(; η = 1e21Pa * s)),
           Gravity = ConstantGravity(; g = 9.81m / s^2),
           Density = MeltDependent_Density(),
           Permeability = ConstantPermeability(; k = 1e-12m^2),
       );

julia> rheology.Permeability[1]
Constant permeability: k=1.0e-12 m²·⁰
source
GeoParams.MaterialParameters.Permeability.HazenPermeability Type
julia
HazenPermeability(C = 1.0 * NoUnits, D10 = 1e-4m)

Defines the Hazen permeability equation for a given material.

k=C⋅D102

Arguments

  • C: The Hazen constant. Default is 1.0.

  • D10: The effective grain size. Default is 1e-4 m.

Example

julia
julia> rheology = SetMaterialParams(;
           Phase = 1,
           CreepLaws = (PowerlawViscous(), LinearViscous(; η = 1e21Pa * s)),
           Gravity = ConstantGravity(; g = 9.81m / s^2),
           Density = MeltDependent_Density(),
           Permeability = HazenPermeability(; C = 1.0, D10 = 1e-4m),
       );

julia> rheology.Permeability[1]
Hazen permeability: k = C * D10^2; C=1.0; D10=0.0001
source
GeoParams.MaterialParameters.Permeability.PowerLawPermeability Type
julia
PowerLawPermeability(c = 1.0, k0 = 1e-12m^2, ϕ = 1e-2, n = 3)

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

c∗k0∗ϕ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

julia
julia> rheology = SetMaterialParams(;
           Phase = 1,
           CreepLaws = (PowerlawViscous(), LinearViscous(; η = 1e21Pa * s)),
           Gravity = ConstantGravity(; g = 9.81m / s^2),
           Density = MeltDependent_Density(),
           Permeability = PowerLawPermeability(; c = 1.0, k0 = 1e-12m^2, ϕ = 1e-2, n = 3),
       );

julia> rheology.Permeability[1]
Power-law permeability: k = c* k0 * ϕ^n; c = 1.0, k0=1.0e-12; n=3.0
source
GeoParams.MaterialParameters.Permeability.CarmanKozenyPermeability Type
julia
CarmanKozenyPermeability(c = 1.0m^2, ϕ0 = 0.01, n = 3)

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

k=c(ϕϕ0)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

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

julia> rheology.Permeability[1]
Carman-Kozeny permeability: k = c * (ϕ / ϕ0)^n; c=1.0; ϕ0=0.01; n=3.0
source

Computational routines ​

To compute the permeability, use:

GeoParams.MaterialParameters.Permeability.compute_permeability! Function
julia
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
GeoParams.MaterialParameters.Permeability.compute_permeability Function
julia
compute_permeability(k::AbstractPermeability, args)

Computation of permeability k for the whole domain and all phases, in case a vector with phase properties MatParam is provided.

source