Skip to content

Poromechanics

Once a scheme has produced a drained stiffness , the poroelastic law of a saturated medium is closed without any further homogenization: for a solid phase with uniform elastic properties (compliance  ),

the Biot tensor and Biot modulus ([70]) — here, and nowhere else in this documentation, denotes the Biot tensor rather than a crack opening displacement. They enter the constitutive law as

is generally anisotropic even for an isotropic solid, because the pore space need not be isotropic.

julia
using MeanFieldHomogenization, TensND

k_s, μ_s, φ = 20.0, 12.0, 0.2
C_s = TensISO{3}(3k_s, 2μ_s)

rve = RVE()
add_phase!(rve, :M, Ellipsoid(1.0), Dict(:C => C_s); fraction = :rest)
add_phase!(rve, :P, Ellipsoid(1.0), Dict(:C => TensISO{3}(1.0e-9, 1.0e-9));
           fraction = φ)

par = poroelastic_parameters(homogenize(rve, MoriTanaka()), C_s, φ)
(b = par.B[1, 1], invM = par.inverse_modulus, M = par.modulus)
(b = 0.35999999998920007, invM = 0.007999999999460003, M = 125.00000000843745)

Spherical pores give    with the familiar   . Aligned cracks do not:

julia
rve_c = RVE()
add_phase!(rve_c, :M, Ellipsoid(1.0), Dict(:C => C_s); fraction = :rest)
add_phase!(rve_c, :CR, PennyCrack(1.0), Dict(:C => C_s); density = 0.08)

B = biot_tensor(homogenize(rve_c, MoriTanaka()), C_s)
(B₁₁ = B[1, 1], B₃₃ = B[3, 3])       # normal to the cracks is e₃
(B₁₁ = 0.108108108108108, B₃₃ = 0.32432432432432445)

The fluid is assumed incompressible

above holds for  . A compressible fluid adds a storage term . The distinction is not cosmetic: with an incompressible fluid and compressible grains the Skempton coefficient exceeds one, because the pore volume is held fixed while the grains themselves compress.

Effective stresses

Two different measures, easy to confuse:

drives
terzaghi_stress  the microstructure — crack opening and closure
biot_effective_stress  the macroscopic law, which it reduces to the drained one

They coincide only when  . That the Terzaghi measure is the one governing the pore space is the argument of [71] § 1.1: the loading splits into a dry problem under   , plus a uniform field that carries no strain singularity and so cannot open or close a flat crack.

Drained ↔ undrained

via undrained_stiffness and drained_stiffness, with skempton_tensor giving the pore pressure built up by an undrained stress increment,    .

Homogeneous solid phase only

These relations need a solid phase with uniform elastic properties — a rock matrix with pores or fractures. A medium built from two distinct solid constituents needs the general Levin/eigenstrain route, and is then not defined.