Reservoir Rock & Fluid Properties
What the reservoir is made of. Learn porosity (total and effective), permeability and Darcy's law, fluid saturations, Archie's equation and well logs, capillary pressure and wettability, relative permeability, compressibility, reservoir fluids (black oil, volatile oil, gas condensate, wet and dry gas), phase diagrams, bubble point, PVT properties (B_o, R_s, B_g, viscosity) and gas Z-factor — with Python for Archie saturation, core Darcy flow and formation volume factor.
How much oil is in place and how fast it flows depend on rock properties (porosity, permeability, saturation) and fluid properties (density, viscosity, how volume changes with pressure). These are measured on cores, from well logs and from PVT lab tests.
Every reserves estimate, well rate and simulation model starts with these numbers — errors here propagate everywhere.
An analogy
Porosity is how much space a sponge has for water; permeability is how easily water can be squeezed through it. A pumice stone is very porous but poorly connected; a coarse sand is both porous and permeable.
Porosity and permeability
Porosity (5–35%) depends on sorting, grain packing, cementation and fractures. Only effective (connected) porosity matters for flow. Permeability varies enormously — from nanodarcies in shale to darcies in unconsolidated sand — and controls well rates. Measured on cores (helium porosimeter, gas/liquid permeameter) and estimated from logs and well tests.
Saturation, logs and capillarity
Key petrophysics:
- Resistivity logs + Archie's law → water saturation (hydrocarbons are insulators)
- Density, neutron and sonic logs → porosity; gamma ray → shale volume
- Capillary pressure creates a transition zone above the oil–water contact
- Wettability (water-wet vs oil-wet) controls residual oil and relative permeability
- Relative permeability k_ro, k_rw describe multiphase flow
Reservoir fluids and phase behaviour
The pressure–temperature phase diagram classifies fluids: black oil and volatile oil (reservoir T below critical point — bubble-point fluids), gas condensate (retrograde dew point), wet gas and dry gas. Above the bubble point, oil is undersaturated; below it, gas comes out of solution. PVT tests (constant composition expansion, differential liberation, separator tests) give B_o, R_s, µ_o versus pressure.
Gas properties and compressibility
Natural gas deviates from ideal behaviour; the Z-factor (Standing–Katz chart, Hall–Yarborough, equations of state like Peng–Robinson) corrects pV = nRT. Rock and fluid compressibilities (c_f, c_o, c_w) drive pressure-support and well-test analysis. Equations of state tuned to lab data feed compositional simulators.
Formulas
- Porosity:
φ = V_pore/V_bulk - Darcy's law (linear):
q = k·A·ΔP/(µ·L) - Archie's equation:
S_w = (a·R_w/(φ^m·R_t))^(1/n) - Formation volume factor:
B_o = V_reservoir/V_stock-tank - Real gas:
pV = ZnRT; B_g = 0.02827·Z·T/p (ft³/scf, T °R, p psia) - Capillary pressure:
P_c = 2σ cos θ/r
Worked example: Porosity from core
Given: Bulk 50 cm³, grain volume 39 cm³
Find: φ.
- (50 − 39)/50
Answer: 0.22
Worked example: Archie
Given: φ 0.22, R_w 0.05, R_t 12
Find: S_w.
- √(0.05/(0.0484 × 12))
Answer: 0.293
Worked example: Gas FVF
Given: Z 0.88, T 660 °R, p 3000 psia
Find: B_g.
- 0.02827 × 0.88 × 660/3000
Answer: 0.00547 ft³/scf (1 ft³ reservoir holds ~183 scf)
Archie saturation, core permeability and B_o
# Reservoir rock & fluid properties: porosity, saturation (Archie), permeability (Darcy)
phi = 0.22
a, m, n = 1.0, 2.0, 2.0
Rw, Rt = 0.05, 12.0 # ohm-m formation water, true resistivity
Sw = (a * Rw / (phi**m * Rt)) ** (1 / n)
print(f"Archie water saturation Sw = {Sw:.3f}, hydrocarbon saturation {1-Sw:.3f}")
# Linear Darcy flow through a core plug
k_md = 150.0
k = k_md * 9.869e-16 # m2
A = 3.14159 / 4 * 0.0381**2 # 1.5-inch core
L, mu, dP = 0.05, 1e-3, 2.0e5 # m, Pa.s, Pa
q = k * A * dP / (mu * L)
print(f"core flow rate {q*1e6*60:.2f} cm3/min for k = {k_md:.0f} mD")
# Oil formation volume factor effect
Bo = 1.25
print(f"1 stock-tank barrel occupies {Bo} reservoir bbl -> shrinkage {(1-1/Bo)*100:.0f}%")
# Archie water saturation Sw = 0.293, hydrocarbon saturation 0.707
# core flow rate 40.51 cm3/min for k = 150 mD
# 1 stock-tank barrel occupies 1.25 reservoir bbl -> shrinkage 20%High resistivity (12 Ω·m) relative to the brine (0.05 Ω·m) signals hydrocarbons: 71% of the pore space holds oil. A 150 mD sandstone is a good reservoir. Oil shrinks 20% from reservoir to surface as dissolved gas comes out.
Common mistakes
- Wrong: Using total porosity in shaly sands. — Right: Use effective porosity and shaly-sand models.
- Wrong: Using default Archie constants everywhere. — Right: Calibrate a, m, n with core data.
- Wrong: Ignoring gas coming out of solution. — Right: Below P_b, B_o and viscosity change significantly.
Applications
- Log interpretation: Pay identification and net-to-gross.
- Core analysis: Routine and special core analysis (SCAL).
- PVT studies: Fluid models for simulation and facilities.
- CO₂ storage: Capillary trapping and seal capacity.
Key takeaways
- φ stores, k flows (Darcy).
- Archie: S_w from resistivity logs.
- Fluid type from phase diagram and GOR.
- PVT: B_o, R_s, B_g, µ vs pressure.
Going further
- Digital rock physics: Micro-CT and pore-network modelling.
- NMR logging: Pore-size distribution and free fluid.
- EOS tuning: Peng–Robinson characterisation of C7+.