CamPetro

Fractional Flow

On this page

Summary

The Fractional flow of water of water is the share of the flowing volume that is water at a given saturation. It follows from the two relative permeabilities and the Water viscosity and Oil viscosity, and it is the quantity that tells whether a zone produces water, oil, or both. Use it to turn a saturation and the relative permeability curves into an expected water cut.

Inputs and outputs

Item Units
Input Water saturation v/v
Input Irreducible water saturation v/v
Input Residual oil saturation v/v
Input Corey exponent for water dimensionless
Input Corey exponent for oil dimensionless
Input Water relative permeability endpoint dimensionless
Input Oil relative permeability endpoint dimensionless
Input Water viscosity cP
Input Oil viscosity cP
Output Normalized mobile water saturation v/v
Output Water relative permeability dimensionless
Output Oil relative permeability dimensionless
Output Fractional flow of water v/v
Output End-point mobility ratio dimensionless

Equations

For linear flow of two incompressible phases, neglecting gravity and capillary pressure, the fraction of the flow that is water is

\[ \fWat = \frac{1}{1 + \dfrac{\krOil\,\muWat}{\krWat\,\muOil}} = \frac{\krWat\,\muOil}{\krWat\,\muOil + \krOil\,\muWat} \]

with the relative permeabilities from the Brooks-Corey or power-law pages. The calculator uses power-law curves,

\[ \krWat = \krWatEnd\,\SeNorm^{\,\nCw} \qquad \krOil = \krOilEnd\,\left(1 - \SeNorm\right)^{\nCo} \qquad \SeNorm = \frac{\Sw - \Swirr}{1 - \Swirr - \Sor} \]

Limits. At \(\Sw \le \Swirr\), \(\krWat = 0\) and \(\fWat = 0\): only oil flows. At \(\Sw \ge 1 - \Sor\), \(\krOil = 0\) and \(\fWat = 1\): only water flows. In between \(\fWat\) rises monotonically, and equals 0.5 where \(\krWat/\muWat = \krOil/\muOil\).

Mobility ratio. The ratio of the mobility of water at its end point to that of oil at its end point,

\[ \MobRatio = \frac{\krWatEnd/\muWat}{\krOilEnd/\muOil} \]

is greater than 1 when the displacing water moves more easily than the oil it pushes, and then the displacement is unfavourable.

Shock front (Buckley-Leverett). When water displaces oil at an initial water saturation \(S_{wc}\) = \(\Swirr\), the front saturation \(S_{wf}\) is where the tangent from \((S_{wc},\,0)\) to the fractional-flow curve touches it:

\[ \frac{\fWat(S_{wf})}{S_{wf} - S_{wc}} = \left.\frac{d\fWat}{d\Sw}\right|_{S_{wf}} \]

The mean saturation behind the front at water breakthrough is \(\bar S_w = S_{wc} + (S_{wf} - S_{wc})/\fWat(S_{wf})\), and the oil recovered at breakthrough is \(\bar S_w - S_{wc}\) pore volumes.

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_{or}\) Residual oil saturation v/v 0.1 to 0.4
\(S_e\) Normalized mobile water saturation v/v 0 to 1
\(n_w\) Corey exponent for water dimensionless 1 to 6
\(n_o\) Corey exponent for oil dimensionless 1 to 6
\(k_{rw}^0\) Water relative permeability endpoint dimensionless 0.05 to 1
\(k_{ro}^0\) Oil relative permeability endpoint dimensionless 0.3 to 1
\(k_{rw}\) Water relative permeability dimensionless 0 to 1
\(k_{ro}\) Oil relative permeability dimensionless 0 to 1
\(\mu_w\) Water viscosity cP 0.3 to 1.0
\(\mu_o\) Oil viscosity cP 0.2 to 1000
\(f_w\) Fractional flow of water v/v 0 to 1
\(M\) End-point mobility ratio dimensionless 0.1 to 50

Single-value calculator

Behavior

Fractional flow is zero at Swirr, one at 1 - Sor, and rises in an S shape between. A more viscous oil moves the curve up and to the left: at a water saturation of 0.50, \(f_w\) is 0.509, 0.838 and 0.954 for oil viscosities of 1, 5 and 20 cP at a water viscosity of 0.5 cP, so a zone that is at half the mobile range yields mostly water if the oil is viscous. The mobility ratios are 0.6, 3 and 12. The Buckley-Leverett front saturations are 0.594, 0.505 and 0.426, and the oil recovered at breakthrough is 0.435, 0.358 and 0.282 pore volumes, which is 79%, 65% and 51% of the mobile oil: the higher the viscosity ratio, the earlier water arrives and the less oil is produced before it does.

Parameter guidance

Viscosities. Use the reservoir values at reservoir temperature and pressure, and a water viscosity near 0.3 to 1 cP. The ratio \(\mu_w/\mu_o\) is the one that matters: it is 0.01 to 1 in most oil reservoirs, and a heavy oil can be far below that. The default of 5 cP for oil is illustrative. For gas, use the gas viscosity in place of the oil viscosity: it is very low, so the gas is mobile and the fractional flow of water stays small until the water saturation is high.

Relative permeability. The curves come from the Brooks-Corey or power-law pages, with endpoints from core where available. Saturation. Use the log or saturation-height Sw, on the same basis as the Swirr and Sor on the Irreducible and Residual Saturation page.

Use as a flag. The water fraction at the logged saturation, in each zone, is a screening estimate of water cut. The thresholds that mark a zone as water-free or water-prone are a project choice.

Worked example

Fractional flow with power-law curves (Swirr = 0.20, Sor = 0.25, exponents 3, endpoints 0.3 and 1, water viscosity 0.5 cP) for three oil viscosities, and the Buckley-Leverett shock front found by scanning the tangent condition:

swirr, sor, nw, no, krw0, kro0, muw = 0.20, 0.25, 3.0, 3.0, 0.30, 1.0, 0.5
d = 1 - swirr - sor
def fw(sw, muo):
    se = min(1.0, max(0.0, (sw - swirr) / d))
    krw = krw0 * se ** nw
    kro = kro0 * (1 - se) ** no
    return krw * muo / (krw * muo + kro * muw)
print(f"{'mu_o':>5} {'M':>6} {'fw(0.5)':>8} {'Swf':>6} {'fw(Swf)':>8} {'Sw avg':>7} {'RF (PV)':>8} {'of mobile':>10}")
for muo in (1.0, 5.0, 20.0):
    m = (krw0 / muw) / (kro0 / muo)
    best = max(((fw(swirr + d * i / 5000, muo) / (d * i / 5000), swirr + d * i / 5000) for i in range(1, 5000)))
    slope, swf = best
    savg = swirr + 1 / slope
    print(f'{muo:5.0f} {m:6.2f} {fw(0.5, muo):8.3f} {swf:6.3f} {fw(swf, muo):8.3f} {savg:7.3f} {savg - swirr:8.3f} {(savg - swirr) / d:10.2f}')
print(f'limits: fw at Swirr = {fw(swirr, 5.0):g}, fw at 1 - Sor = {fw(1 - sor, 5.0):g}')

Output

 mu_o      M  fw(0.5)    Swf  fw(Swf)  Sw avg  RF (PV)  of mobile
    1   0.60    0.509  0.594    0.905   0.635    0.435       0.79
    5   3.00    0.838  0.504    0.851   0.558    0.358       0.65
   20  12.00    0.954  0.426    0.804   0.481    0.281       0.51
limits: fw at Swirr = 0, fw at 1 - Sor = 1

Assumptions and limitations

  • Flow is linear and incompressible, with no gravity and no capillary pressure. In a thick, dipping column or at low rate, gravity changes the flow, and capillary pressure matters in the transition zone.
  • The water saturation is the mobile one in the zone, and the relative permeabilities apply to it. Zones in capillary-gravity equilibrium above the transition zone have a fractional flow close to zero because the water is at Swirr.
  • Viscosities are constant. Dissolved gas, temperature and pressure changes that alter them over time are ignored.
  • The Buckley-Leverett shock construction assumes a displacement from a uniform initial saturation equal to Swirr, a constant injection rate, and a fractional-flow curve with a single inflection.
  • The relative permeability curves are representative of the rock and wettability. They are the largest source of uncertainty in the water cut.

QC checks

  • fw is 0 at Swirr and 1 at 1 - Sor, and rises monotonically between them.
  • fw is 0.5 where the ratio of the water mobility and the oil mobility is 1, which is a check of the viscosity and the curves together.
  • Zones expected to produce water-free have a small fw at the logged saturation. Compare with production tests: a model that predicts fw of 0.5 in a clean oil zone that tests dry is wrong in Sw or in the curves.
  • The mobility ratio agrees with the displacement efficiency expected for the field. A ratio above 1 with high recovery at breakthrough is inconsistent.
  • Use the same viscosity ratio for the curve and for any water cut check, and the same Swirr and Sor as the relative permeability.

Going Deeper

Buckley and Leverett showed in 1942 that if the fraction of the flow that is water depends only on saturation, then a saturation change moves through the rock at a speed given by the slope of the fractional flow curve. Since the curve is S-shaped, higher saturations would move faster than lower ones, and the front steepens into a shock: a sharp advance of water saturation from the initial value to the front value. Welge's tangent construction finds the saturation of the shock, and the mean saturation behind it gives recovery at breakthrough. The unfavourable mobility ratio (heavy oil, viscous fingering) lowers the front and the recovery. In the log-analysis setting the same curve is used more simply, as a screen: at a log saturation, it says what fraction of the flow would be water. It does not model the field displacement, which depends on rate, gravity, heterogeneity and capillary pressure, but it tells which intervals are likely to produce water and gives the relative size of the mobile ranges.

References

  1. Buckley, S.E. and Leverett, M.C., 1942. Mechanism of fluid displacement in sands. Transactions of the AIME, 146(1), 107–116.
  2. Welge, H.J., 1952. A simplified method for computing oil recovery by gas or water drive. Transactions of the AIME, 195(1), 91–98.
  3. Corey, A.T., 1954. The interrelation between gas and oil relative permeabilities. Producers Monthly, 19(1), 38–41.

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.