Note
Go to the end to download the full example code
Differential Effective Medium (DEM)¶
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.size']=14
plt.rcParams['font.family']='arial'
import rockphypy # import the module
from rockphypy import EM
from rockphypy import Fluid
Berryman’s Differential effective medium (DEM) model¶
The DEM theory models two-phase composites by incrementally adding inclusions of one phase (phase 2) to the matrix phase. The matrix begins as phase 1 (when the concentration of phase 2 is zero) and is changed at each step as a new increment of phase 2 material is added. The process is continued until the desired proportion of the constituents is reached. The process of incrementally adding inclusions to the matrix is really a thought experiment and should not be taken to provide an accurate description of the true evolution of rock porosity in nature.
The coupled system of ordinary differential equations for the effective bulk and shear moduli, \(K^{DEM}_{eff}\) and \(\mu^{DEM}_{eff}\), respectively, are (Berryman, 1992b)
with initial conditions \(K^{DEM}_{eff} (0)=K_1\) and \(\mu^{DEM}_{eff}(0)=\mu_1\), where \(K_1\) and \(\mu_1\) are the bulk and shear moduli of the initial host material (phase 1), \(K_2\) and \(\mu_2\) are the bulk and shear moduli of the incrementally added inclusions (phase 2), and y is the concentration of phase 2. For fluid inclusions and voids, y equals the porosity.
Expressions for the volumetric and deviatoric strain concentration factors are:
where
with A, B, and R given by
The functions \(\theta\) and \(f\) are given by
for prolate and oblate spheroids, respectively, and
Note that \(\alpha <1\) for oblate spheroids and \(\alpha >1\) for prolate spheroids
For spherical pores:
Fluid Effect:¶
Dry cavities can be modeled by setting the inclusion moduli to zero. Fluid-saturated cavities are simulated by setting the inclusion shear modulus to zero. %%
# DEM modelling the crack
Gi =0
Ki =0 # dry pore
alpha = 1
# Initial values
K_eff0 = 37 # host mineral bulk modulus
G_eff0 = 45 # host mineral shear modulus
# Make time array for solution, desired fraction of inclusion
tStop = 1
K_dry_dem, G_dry_dem,t= EM.Berryman_DEM(K_eff0,G_eff0, Ki, Gi, alpha,tStop)
# plot
plt.figure(figsize=(6,6))
plt.xlabel('Porosity')
plt.ylabel('Bulk modulus [GPa]')
plt.title('DEM dry-pore modelling')
plt.plot(t, K_dry_dem)
plt.grid(ls='--')

Reference: Mavko, G., Mukerji, T. and Dvorkin, J., 2020. The rock physics handbook. Cambridge university press.
Total running time of the script: ( 0 minutes 0.087 seconds)