CamPetro

Cementation and Saturation Exponents

On this page

Summary

The cementation exponent Cementation exponent describes how fast formation factor rises as porosity falls, and the saturation exponent Saturation exponent describes how fast the resistivity index rises as water saturation falls. Both are measured on core, from the slope of a log-log plot, or estimated from a Pickett plot. They have a much larger effect on computed saturation than most users expect.

Inputs and outputs

Item Units
Input Effective porosity v/v
Input Formation factor dimensionless
Input Tortuosity factor dimensionless
Input Resistivity index dimensionless
Input Water saturation (core, at that index) v/v
Output Cementation exponent, the cementation exponent dimensionless
Output Saturation exponent, the saturation exponent dimensionless
Output Variable \(m\) from porosity (Shell form) dimensionless

Equations

The cementation exponent comes from the formation factor of a water-saturated core plug at its porosity:

\[ \Fform = \frac{\aTort}{\phie^{\,m}} \qquad\Rightarrow\qquad m = \frac{\ln\left(\Fform / \aTort\right)}{\ln\left(1/\phie\right)} \]

and the saturation exponent from the resistivity index at a known water saturation:

\[ \Ires = \Sw^{-n} \qquad\Rightarrow\qquad n = \frac{\ln \Ires}{\ln\left(1/\Sw\right)} \]

With a set of plugs, \(m\) is minus the slope of \(\log \Fform\) against \(\log \phie\), and \(n\) is minus the slope of \(\log \Ires\) against \(\log \Sw\) (with the line forced through \(\Ires = 1\) at \(\Sw = 1\)). A porosity-dependent cementation exponent is sometimes used in place of a constant; one published form for sandstones is:

\[ \mShell = 1.87 + \frac{0.019}{\phie} \]

(porosity as a fraction). The calculator evaluates the first two relations for a single core measurement.

Symbol Variable Units Typical range
\(\phi_e\) Effective porosity v/v 0 to 0.35
\(F\) Formation factor dimensionless 5 to 200
\(a\) Tortuosity factor dimensionless 0.6 to 1.0
\(I_R\) Resistivity index dimensionless 1 to 30
\(S_w\) Water saturation v/v 0 to 1
\(m\) Cementation exponent dimensionless 1.6 to 2.5
\(n\) Saturation exponent dimensionless 1.6 to 2.5
\(m_{v}\) Variable cementation exponent dimensionless 1.9 to 2.3

Single-value calculator

Behavior

An exponent is only meaningful together with the porosity at which the formation factor was measured. A formation factor of 25 at a porosity of 0.10 implies \(m\) = 1.40, at 0.20 implies 2.00 and at 0.30 implies 2.67, because the same F over a larger porosity means a much more tortuous rock. That is why the exponent is fitted from a set of plugs over a porosity range, not read from one. The dashed curve is the Shell variable form, which gives 2.25, 2.06, 1.97 and 1.93 at porosities of 0.05, 0.10, 0.20 and 0.30: it rises in tight rock and flattens at about 1.9 in clean porous sand. The exponents act strongly on Sw: for a clean sand at 20% porosity, 20 ohm·m and Rw of 0.05 ohm·m, changing m from 1.8 to 2.2 changes Sw from 0.213 to 0.294 (see the Archie page).

Parameter guidance

Typical values. Clean consolidated sandstones: \(m\) about 1.8 to 2.0 and \(n\) about 2. Unconsolidated sands: \(m\) about 1.3 to 1.6. Carbonates: \(m\) from about 2 in intercrystalline and grainstone rock to 2.5 or more in vuggy rock, and lower where fractures dominate. Oil-wet or mixed-wet rock: \(n\) above 2, sometimes 3 or more. Where to get them. (1) Special core analysis: formation factor on saturated plugs, resistivity index in a drainage experiment at reservoir stress. This is the preferred source. (2) A Pickett plot in a wet interval gives \(m\) from the slope of the water line, if \(a\) is fixed, and Rw together. (3) Regional practice for the formation, as a starting point. Pick \(a\) first. Either use \(a = 1\) and fit \(m\), or use a published pair such as \(a = 0.62\), \(m = 2.15\). Variable m. Where \(m\) clearly changes with porosity, use a porosity-dependent form fitted to core, and check its range. Shaly sands: use the exponents of the model in question, which may differ (\(m^*\) for Waxman-Smits). Rw: Rw Determination. Water Saturation covers the shared picks.

Worked example

A set of illustrative plugs (made-up numbers, not field data), fitted for \(m\) and \(n\) by a least-squares line on log-log axes, followed by the effect of the fitted exponents on a log reading:

import math

# illustrative core: porosity and formation factor of six water-saturated plugs
phi = [0.08, 0.12, 0.16, 0.20, 0.24, 0.28]
ff = [96.0, 44.0, 28.0, 18.5, 12.6, 10.2]
x = [math.log(1.0 / p) for p in phi]          # ln(1/phi)
y = [math.log(f) for f in ff]                 # ln(F)

# m with a = 1: slope through the origin, y = m x
m_fit = sum(xi * yi for xi, yi in zip(x, y)) / sum(xi * xi for xi in x)
print(f"m (a = 1) = {m_fit:.3f}")

# m and a together: ordinary least squares y = ln(a) + m x
n_pts = len(x)
xb, yb = sum(x) / n_pts, sum(y) / n_pts
m_free = sum((xi - xb) * (yi - yb) for xi, yi in zip(x, y)) / sum((xi - xb) ** 2 for xi in x)
a_free = math.exp(yb - m_free * xb)
print(f"m and a free: m = {m_free:.3f}, a = {a_free:.3f}")

# n from a drainage test: water saturation and resistivity index (illustrative)
sw = [1.0, 0.8, 0.6, 0.45, 0.3, 0.2]
ri = [1.0, 1.7, 3.2, 6.4, 15.5, 41.0]
xs = [math.log(1.0 / s) for s in sw]
ys = [math.log(r) for r in ri]
n_fit = sum(a * b for a, b in zip(xs, ys)) / sum(a * a for a in xs)
print(f"n (through origin) = {n_fit:.3f}")

# effect on a log reading: phi = 0.20, Rw = 0.05, Rt = 20
rt, rw, p = 20.0, 0.05, 0.20
for label, mm, nn in (("m = 2.0, n = 2.0", 2.0, 2.0), (f"fitted m = {m_fit:.2f}, n = {n_fit:.2f}", m_fit, n_fit)):
    print(f"{label:28s} Sw = {(rw / (p ** mm * rt)) ** (1.0 / nn):.3f}")

Output

m (a = 1) = 1.803
m and a free: m = 1.797, a = 1.012
n (through origin) = 2.300
m = 2.0, n = 2.0             Sw = 0.250
fitted m = 1.80, n = 2.30    Sw = 0.261

Assumptions and limitations

  • Archie's relations hold, so that log F against log porosity and log I against log Sw are straight lines. In rocks with dual-porosity systems they are not, and the exponents vary with porosity.
  • Core measurements are made at reservoir stress and at saturations that reflect the reservoir. A plug measured at low confining stress gives too low an \(m\).
  • The rock is water-wet for the standard \(n\). In oil-wet rock \(n\) rises and is not constant with saturation.
  • The plugs are representative of the zone. Plugs are small and biased toward better rock, so the exponents can differ at the scale of the log.
  • In shaly rock, the exponents from clean core do not describe the shaly-sand conductivity, which is why the shaly models carry clay terms.

QC checks

  • The fit lines on log-log axes are straight, with a good correlation. A curved line means a variable exponent or two rock types.
  • The fitted \(m\) and \(n\) are inside the physically plausible range (1.3 to 3 for \(m\) and 1.5 to 3 for \(n\) in most reservoirs). A value outside needs an explanation.
  • Saturation computed with the fitted exponents in the water leg is 1, and in the hydrocarbon zone is consistent with core and capillary pressure data.
  • Core-based and Pickett-plot exponents agree to within about 0.2.
  • Sensitivity: re-run with \(m \pm 0.2\) and \(n \pm 0.2\) and check whether net pay and hydrocarbon volume changes remain acceptable.

Going Deeper

Archie's 1942 data supported exponents near 2 for consolidated sandstones and lower values for unconsolidated ones, and the rest of the 20th century was spent explaining departures. Winsauer and co-workers (1952) proposed the \(a = 0.62\), \(m = 2.15\) form for sandstones, which has the practical effect of lowering the formation factor at low porosity. In carbonates, Focke and Munn (1987) showed large variations in \(m\) with pore type. Both \(m\) and \(n\) are lumped parameters that absorb everything that the model leaves out: pore-throat shape, microporosity, clay, wettability and the distribution of the fluids. That is why they should be calibrated, and why a calibrated exponent from one field is a starting point rather than an answer in the next.

References

  1. Winsauer, W.O., Shearin, H.M., Masson, P.H. and Williams, M., 1952. Resistivity of brine-saturated sands in relation to pore geometry. AAPG Bulletin, 36(2), 253–277.
  2. Focke, J.W. and Munn, D., 1987. Cementation exponents in Middle Eastern carbonate reservoirs. SPE Formation Evaluation, 2(2), 155–167.

Python reference implementation

Python reference implementation

The Python reference implementation is available to registered users with a verified email address. Register or sign in to view it.