CamPetro

Irreducible and Residual Saturations

On this page

Summary

Relative permeability is non-zero only between two saturation end points: Irreducible water saturation, below which water cannot flow, and the Residual oil saturation, above which oil cannot flow. Swirr comes from the Swirr topic or from a saturation-height model, and a log-based estimate of the residual saturation is one minus the Flushed-zone water saturation, the water saturation of the flushed zone. Together they define the normalized saturation, and the mobile hydrocarbon saturation that tells whether hydrocarbon can move.

Inputs and outputs

Item Units
Input Water saturation v/v
Input Irreducible water saturation v/v
Input Flushed-zone water saturation v/v
Output Residual oil saturation v/v
Output Normalized mobile water saturation v/v
Output Mobile hydrocarbon saturation v/v

Equations

Irreducible water. \(\Swirr\) is the water saturation below which water cannot flow. Use one of the estimates of the Swirr topic, or the lower end of a saturation-height model. It has to be on the same porosity basis as \(\Sw\).

Residual oil. Mud filtrate has flushed the zone next to the borehole, so the hydrocarbon left in it is taken as residual:

\[ \Sor = 1 - \Sxo \]

with \(\Sxo\) from the Rxo and Sxo page.

Normalized saturation and the mobile window.

\[ \SeNorm = \frac{\Sw - \Swirr}{1 - \Swirr - \Sor} \qquad \text{limited to } 0 \text{ to } 1 \]

The window \(1 - \Swirr - \Sor\) is the saturation range over which both phases can flow. It must be positive, and if \(\Swirr + \Sor \ge 1\) the normalized saturation is undefined.

Mobile hydrocarbon.

\[ \ShcMob = \max\left(0,\ 1 - \Sw - \Sor\right) \]

Regimes. If \(\Sw \le \Swirr\) the water is immobile, \(\krWat = 0\) and the zone produces water-free hydrocarbon. If \(\ShcMob = 0\), that is, \(\Sw \ge 1 - \Sor\), the hydrocarbon is immobile, \(\krOil = 0\) and the zone produces water. Between the two both phases flow, in proportion given by the relative permeability curves.

Symbol Variable Units Typical range
\(S_w\) Water saturation v/v 0 to 1
\(S_{wirr}\) Irreducible water saturation v/v 0.05 to 0.5
\(S_{xo}\) Flushed-zone water saturation v/v 0.2 to 1
\(S_{or}\) Residual oil saturation v/v 0.1 to 0.4
\(S_e\) Normalized mobile water saturation v/v 0 to 1
\(S_{hc,m}\) Mobile hydrocarbon saturation v/v 0 to 0.8
\(k_{rw}\) Water relative permeability dimensionless 0 to 1
\(k_{ro}\) Oil relative permeability dimensionless 0 to 1

Single-value calculator

Behavior

The residual oil saturation sets the width of the mobile window, and so the scale of the normalized saturation. With Swirr = 0.20, the window is 0.70, 0.55 and 0.40 for Sxo of 0.90, 0.75 and 0.60, so for the same water saturation of 0.50 the normalized saturation is 0.429, 0.545 and 0.750, and the mobile hydrocarbon saturation is 0.40, 0.25 and 0.10. All three curves are straight lines in Sw: zero at Swirr, 1 at 1 - Sor, and steeper when the window is narrower. At Sxo of 0.90 the line reaches 1 at a water saturation of 0.90, and at Sxo of 0.60 it reaches 1 at 0.60.

Parameter guidance

Swirr source. Use one value per rock type from the Swirr topic, from an NMR bound-fluid volume, or from the lower end of the capillary pressure fit. It should be consistent with the end point used in the saturation-height model, otherwise the curves and the saturation do not line up. A constant is a legitimate choice if nothing else is available; 0.15 is a placeholder.

Residual oil. Choose between (1) a measured value from core, a waterflood or centrifuge test (the reference), (2) \(1 - S_{xo}\) from the log, and (3) a constant for the formation, for example 0.25 as a placeholder. The log-based value needs a good Rxo reading in an invaded zone. It can only be trusted where the invasion has displaced the hydrocarbon fully, in clean rock that is not shaly and with no mud cake or tool effects on Rxo.

Gas. The trapped gas saturation is the residual saturation of a gas zone. It is not equal to the residual oil saturation, because gas trapping is different from oil trapping, so a constant for gas should come from core or from the same \(1 - S_{xo}\) with a warning. In a gas zone the flushed zone is often not fully flushed, and \(1 - S_{xo}\) can overestimate the residual gas.

Sw above 1 - Sor. In a zone with water saturation above \(1 - S_{or}\), the curves clamp at their endpoints. In a water zone with no hydrocarbon the water relative permeability is 1 by convention, while the curves end at the endpoint \(k_{rw}^0\), so treat a water zone separately.

Worked example

A zone with an Sxo of 0.75 (residual oil 0.25), a Swirr of 0.20 and logged water saturations of 0.25, 0.45, 0.60 and 0.80:

swirr, sxo = 0.20, 0.75
sor = 1 - sxo
window = 1 - swirr - sor
print(f'Sor = 1 - {sxo:g} = {sor:.2f}; mobile window = 1 - {swirr:g} - {sor:.2f} = {window:.2f}')
print(f"{'Sw':>5} {'Se':>6} {'mobile HC':>10}  regime")
for sw in (0.15, 0.25, 0.45, 0.60, 0.80):
    se = min(1.0, max(0.0, (sw - swirr) / window))
    shc = max(0.0, 1 - sw - sor)
    regime = 'water immobile' if sw <= swirr else ('hydrocarbon immobile' if shc == 0 else 'both phases mobile')
    print(f'{sw:5.2f} {se:6.3f} {shc:10.3f}  {regime}')

Output

Sor = 1 - 0.75 = 0.25; mobile window = 1 - 0.2 - 0.25 = 0.55
   Sw     Se  mobile HC  regime
 0.15  0.000      0.600  water immobile
 0.25  0.091      0.500  both phases mobile
 0.45  0.455      0.300  both phases mobile
 0.60  0.727      0.150  both phases mobile
 0.80  1.000      0.000  hydrocarbon immobile

Assumptions and limitations

  • The flushed zone has been fully flushed by filtrate, so all movable hydrocarbon is displaced and what is left is residual. Where invasion is shallow or incomplete, \(1 - S_{xo}\) overestimates the residual saturation by including movable hydrocarbon.
  • Sxo is accurate. In shaly rock, with salty filtrate or a poor Rxo measurement, its error enters the residual saturation directly, and a 5% error in Sxo is a 5% error in Sor.
  • The residual saturation from a filtrate flush corresponds to the residual in the process being modelled (a waterflood, or aquifer influx). Residual saturation depends on the initial saturation and on the displacement, as in the relation of Land.
  • Swirr and Sor refer to the same rock type and porosity basis as the saturation they are used with.
  • Swirr + Sor is less than 1, so a mobile window exists.

QC checks

  • Sor is between 0 and about 0.4 in most clastic reservoirs. A value above 0.5 or below 0.05 needs a reason.
  • Sor from the log is compared with core waterflood or centrifuge values on the same rocks, and with the saturation at the base of a thick, good, clean oil zone that has been swept.
  • The normalized saturation is 0 only at or below Swirr and 1 only at or above \(1 - S_{or}\). A zone at Se = 1 that tests oil is an inconsistency to resolve.
  • Water-free production is expected where Sw is at or close to Swirr, and water production where mobile hydrocarbon is zero. Check against tests.
  • The mobile window is positive everywhere. A negative window flags an inconsistent Swirr or Sxo.

Going Deeper

The residual oil saturation is not a rock property in the sense that Swirr is nearly one: it depends on the saturation history. The more oil there is initially, the more is trapped, which Land expressed by a relation between the initial and residual saturations, so a log-based estimate in a particular zone is the residual for that zone's initial saturation and for the filtrate displacement. Taking Sor from the flushed zone is therefore a practical shortcut in log analysis (as in the textbooks on open-hole interpretation), with a logic that is easy to state and easy to break: the invasion is a displacement of oil by a water-based filtrate, so what it leaves is analogous to what a waterflood would leave, but a very short displacement at the borehole is not the same as a field-scale sweep, and it tends to give residual saturation that is too high. Where core displacement data exist they take precedence. The window between the two saturations is what the later calculations (relative permeability and fractional flow) are built on, which is why the end points matter more than the curve shape.

References

  1. Dewan, J.T., 1983. Essentials of Modern Open-Hole Log Interpretation. PennWell Publishing Company, Tulsa.
  2. Land, C.S., 1968. Calculation of imbibition relative permeability for two- and three-phase flow from rock properties. Society of Petroleum Engineers Journal, 8(2), 149–156.

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.