Waterflooding & Enhanced Oil Recovery
Recovering the oil that primary production leaves behind. Learn secondary recovery by waterflooding and gas injection, relative permeability and fractional flow, Buckley–Leverett displacement and the Welge tangent, mobility ratio and sweep efficiency, flood patterns, and EOR methods — thermal (steam, SAGD), gas (CO₂ miscible, hydrocarbon), chemical (polymer, surfactant, ASP) — plus CO₂-EOR with storage — with Python for fractional flow, mobility ratio and breakthrough saturation.
Primary recovery typically produces only 10–25% of oil in place. Waterflooding (secondary recovery) maintains pressure and sweeps oil to producers, raising recovery to 30–50%. Enhanced oil recovery (tertiary) changes fluid or rock properties to mobilise more.
Global average recovery is only about 35%, so every percentage point of improved recovery is worth billions of barrels.
An analogy
Waterflooding is like pushing honey out of a sponge with water: water tends to finger through and leave honey behind. Thickening the water (polymer) or making the honey thinner (heat, CO₂) gives a much more even push.
Recovery stages
Primary: natural drive. Secondary: water or gas injection for pressure maintenance and displacement. Tertiary (EOR): methods that change fluid properties or interfacial forces — thermal, miscible gas, chemical. Improved oil recovery (IOR) also includes infill drilling and smart well management.
Buckley–Leverett and sweep
Fractional-flow theory predicts a shock front of water saturation advancing through the reservoir, found with the Welge tangent. After breakthrough, water cut rises rapidly. Overall recovery = microscopic displacement efficiency (E_D, limited by residual oil trapped by capillary forces) × areal sweep (E_A, pattern and mobility ratio) × vertical sweep (E_V, layering and gravity).
EOR methods
Main categories:
- Thermal — steam flooding, cyclic steam, SAGD for heavy oil and bitumen (viscosity reduction)
- Miscible gas — CO₂, rich hydrocarbon gas, WAG (water-alternating-gas); above minimum miscibility pressure oil and gas mix
- Chemical — polymer (mobility control), surfactant (lower interfacial tension), alkaline-surfactant-polymer (ASP)
- Low-salinity waterflooding — wettability alteration
- Microbial EOR and nanoparticles — emerging
Screening and CO₂-EOR with storage
EOR screening criteria match method to depth, API, viscosity, permeability and temperature (e.g. SAGD for < 10°API bitumen; CO₂ for light oils at depth > 2500 ft). CO₂-EOR recovers 5–15% extra OOIP and stores a large fraction of injected CO₂ permanently — a pathway to lower-carbon barrels and a bridge to CCS. Pilot projects, laboratory corefloods and simulation de-risk EOR before full-field implementation.
Formulas
- Fractional flow (horizontal):
f_w = 1/(1 + (k_ro·µ_w)/(k_rw·µ_o)) - Mobility ratio:
M = (k_rw/µ_w)/(k_ro/µ_o) - Welge tangent:
df_w/dS_w at front = f_w,f/(S_w,f − S_wc) - Recovery efficiency:
E_R = E_D × E_A × E_V - Displacement efficiency:
E_D = (S̄_w − S_wc)/(1 − S_wc)
Worked example: Mobility ratio
Given: k_rw 0.3, µ_w 0.5; k_ro 0.8, µ_o 5
Find: M.
- (0.3/0.5)/(0.8/5) = 0.6/0.16
Answer: 3.75 (unfavourable)
Worked example: Displacement efficiency
Given: S̄_w 0.546 at breakthrough, S_wc 0.2
Find: E_D.
- (0.546 − 0.2)/0.8
Answer: 43%
Worked example: Overall recovery
Given: E_D 0.60, E_A 0.75, E_V 0.70
Find: E_R.
- 0.60 × 0.75 × 0.70
Answer: 31.5%
Fractional flow, mobility ratio and breakthrough
# Waterflood: fractional flow (Corey rel-perm) and mobility ratio
muo, muw = 5.0, 0.5
Swc, Sor = 0.2, 0.25
def krw(S): return 0.3 * ((S - Swc) / (1 - Swc - Sor)) ** 2
def kro(S): return 0.8 * ((1 - S - Sor) / (1 - Swc - Sor)) ** 2
def fw(S): return 1 / (1 + kro(S) * muw / (krw(S) * muo))
for S in (0.3, 0.4, 0.5, 0.6):
print(f"Sw {S:.1f}: fw = {fw(S):.3f}")
M = (krw(1 - Sor) / muw) / (kro(Swc) / muo)
print(f"end-point mobility ratio M = {M:.2f} (M > 1: unfavourable, fingering)")
# Polymer raises water viscosity to 5 cP
print(f"with polymer (muw 5 cP): M = {(krw(1-Sor)/5.0)/(kro(Swc)/muo):.2f}")
# Welge tangent: breakthrough saturation
best, Sbt = 0, 0
for i in range(1, 550):
S = Swc + i * 0.001
slope = fw(S) / (S - Swc)
if slope > best: best, Sbt = slope, S
print(f"shock front Sw = {Sbt:.3f}, fw = {fw(Sbt):.3f}, avg Sw at breakthrough {Swc + 1/best:.3f}")
# Sw 0.3: fw = 0.156
# Sw 0.4: fw = 0.550
# Sw 0.5: fw = 0.844
# Sw 0.6: fw = 0.964
# end-point mobility ratio M = 3.75 (M > 1: unfavourable, fingering)
# with polymer (muw 5 cP): M = 0.38
# shock front Sw = 0.452, fw = 0.728, avg Sw at breakthrough 0.546With 5 cP oil and plain water, M = 3.75 — water fingers through, and at breakthrough 73% of the produced stream is already water. Polymer thickening the water to 5 cP gives M = 0.38 (favourable): a piston-like front and better sweep. The average saturation at breakthrough (0.546) means E_D = (0.546 − 0.2)/0.8 = 43% of oil displaced in the swept zone.
Common mistakes
- Wrong: Injecting water into a high-viscosity oil without mobility control. — Right: Consider polymer or thermal methods.
- Wrong: Ignoring injection water quality. — Right: Filter and treat to avoid injectivity loss and souring.
- Wrong: Skipping pilots. — Right: Pilot EOR before field-wide rollout.
Applications
- Mature waterfloods: Pattern optimisation and infill drilling.
- Heavy oil: SAGD in Canada, steamflood in Rajasthan (Mangala polymer).
- CO₂-EOR: Permian Basin, with storage.
- Chemical EOR: Polymer floods in India, China, Oman.
Key takeaways
- f_w and Welge tangent describe waterflood fronts.
- M ≤ 1 gives stable displacement.
- E_R = E_D × E_A × E_V.
- Thermal, gas and chemical EOR recover more oil.
Going further
- Minimum miscibility pressure: Slim-tube tests and EOS.
- Capillary number: Mobilising residual oil with surfactants.
- CO₂-EOR storage accounting: Net-negative barrels debate.