Poromechanics
Before this page
Homogenization schemes, which produces the drained stiffness every formula below starts from, and Cracks for the crack family of the second example.
Once a scheme has produced a drained stiffness
the Biot tensor and Biot modulus (Coussy, 2004) —
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
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.10810810810810823, B₃₃ = 0.32432432432432445)Several solid phases
The formula for
rve_g = RVE()
add_phase!(rve_g, :M, Ellipsoid(1.0), Dict(:C => C_s); fraction = :rest)
add_phase!(rve_g, :G, Ellipsoid(1.0), Dict(:C => TensISO{3}(3 * 60.0, 2 * 40.0));
fraction = 0.3)
add_phase!(rve_g, :P, Ellipsoid(1.0), Dict(:C => TensISO{3}(1.0e-9, 1.0e-9));
fraction = φ)
ct = concentration_tensors(rve_g, MoriTanaka(:M), :C)
𝟏 = TensISO{3}(1.0)
B_g = -levin_preflux(ct, Dict(:P => -𝟏))
(B₁₁ = B_g[1, 1], one_solid_formula = biot_tensor(ct.effective, C_s)[1, 1])(B₁₁ = 0.41204819276603716, one_solid_formula = 0.1518072289015141)The second number applies the single-solid formula as if the matrix were the only solid; it is not the Biot coefficient of this material.
The fluid is assumed incompressible
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
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
Where to go next
Sensitivities differentiates the effective properties of the preceding pages with respect to any input of their RVE. The Biot coefficients of this page are the material side of The coupled poroelastic problem, where a finite-element code consumes them, and Multiscale elasticity of a hydrating cement paste uses them to pass from drained to undrained moduli.