Wyllie-Rose
On this page
Summary
The Wyllie-Rose relation estimates Permeability from porosity and Irreducible water saturation with a product of power laws: permeability rises steeply with porosity and falls with irreducible water saturation. The form is an empirical template, and its constants have to be calibrated to core. Use it when porosity and a credible Swirr exist and core allows a fit.
Inputs and outputs
| Item | Units | |
|---|---|---|
| Input | Total porosity | v/v |
| Input | Irreducible water saturation | v/v |
| Input | Permeability model multiplier P | mD (equation dependent) |
| Input | Permeability model porosity exponent Q | dimensionless |
| Input | Permeability model saturation exponent R | dimensionless |
| Output | Permeability | mD |
| Output | Log permeability | log10(mD) |
Equations
The general form is a product of power laws in porosity and irreducible water saturation:
A commonly quoted parameterisation is \(P = 10^4\), \(Q = 4.5\), \(R = 2\) (with \(k\) in mD), equivalent to
The result is limited to the interval 0 to 10 000 mD in the calculator. In practice the constants are fitted: take the logarithm of both sides and regress \(\log k\) on \(\log\phit\) and \(\log\Swirr\) for core samples.
| Symbol | Variable | Units | Typical range |
|---|---|---|---|
| \(\phi_t\) | Total porosity | v/v | 0 to 0.40 |
| \(S_{wirr}\) | Irreducible water saturation | v/v | 0.05 to 0.5 |
| \(P\) | Permeability model multiplier P | mD (equation dependent) | |
| \(Q\) | Permeability model porosity exponent Q | dimensionless | 2 to 6 |
| \(R\) | Permeability model saturation exponent R | dimensionless | 1 to 4 |
| \(k\) | Permeability | mD | 0.0001 to 10000 |
| \(\log_{10}k\) | Log permeability | log10(mD) | -4 to 4 |
Single-value calculator
Behavior
Permeability is a strong function of both inputs. At the quoted constants and a Swirr of 0.25, permeability is 5.1, 31.4, 114.5 and 312.5 mD at porosities of 0.10, 0.15, 0.20 and 0.25, so halving the porosity divides permeability by 2^4.5 = 22.6. At a porosity of 0.20, Swirr values of 0.15, 0.25 and 0.35 give 318, 114 and 58 mD, because with R = 2 halving Swirr multiplies permeability by 4. The only reliable use of these equations is as a functional form to be calibrated to core: the constants below are starting values.
Parameter guidance
The three constants control different things. \(P\) sets the level and is the usual calibration knob. \(Q\) sets how steeply permeability follows porosity, and \(R\) how strongly it follows Swirr. Other published and in-use parameter sets exist and differ greatly: for example \(P = 25\), \(Q = 2.5\), \(R = 2.5\) gives 14 mD at the same porosity of 0.20 and Swirr of 0.25 where the set above gives 114 mD. Fit them to core for one rock type at a time, and keep the Swirr source the same as the one the fit was made with. Irreducible water saturation must be computed first, from a method that does not use permeability; see the Permeability step page and Swirr.
Worked example
Porosity 0.20 and Swirr 0.25 with the commonly quoted constants, then with a second parameter set to show how far parameter choice moves the answer:
phit, swirr = 0.20, 0.25
for name, (p, q, r) in {'P=1e4, Q=4.5, R=2': (1e4, 4.5, 2.0), 'P=25, Q=2.5, R=2.5': (25.0, 2.5, 2.5)}.items():
k = p * phit ** q / swirr ** r
print(f"{name:20s} k = {k:7.1f} mD")
print()
k1 = 1e4 * phit ** 4.5 / swirr ** 2
print(f"sqrt(k) check: 100 x {phit:g}^2.25 / {swirr:g} = {100 * phit ** 2.25 / swirr:.2f}; sqrt({k1:.1f}) = {k1 ** 0.5:.2f}")
Output
P=1e4, Q=4.5, R=2 k = 114.5 mD
P=25, Q=2.5, R=2.5 k = 14.3 mD
sqrt(k) check: 100 x 0.2^2.25 / 0.25 = 10.70; sqrt(114.5) = 10.70
Assumptions and limitations
- Permeability depends on porosity and Swirr only. Grain size, sorting, clay type and cementation change the constants, so each rock type needs its own.
- Swirr is a measure of the pore throat size in the rock. It is only valid if it really is the irreducible value, and not the water saturation of the zone.
- The porosity is on the basis for which the constants were fitted.
- The relation is for clastics. Carbonates with vugs and fractures do not follow it.
QC checks
- Plot log permeability from the equation against core permeability on a 1:1 plot: the scatter should be about a factor of 2 to 3, with no trend.
- Permeability rises with porosity and falls with Swirr in every zone; a reversal is a data error.
- Check for results above about 10 000 mD or below 0.001 mD: they point to a wrong Swirr or wrong porosity basis.
- Compare with the other models on the same Swirr; a consistent offset between them is a calibration, not a physics, problem.
Going Deeper
Wyllie and Rose set out the physical argument in 1950: permeability follows from the capillary pressure behaviour of a bundle of pores, so a rock with more porosity and larger pores has the higher permeability, and the irreducible water saturation is a measure of the pore size. The later relations of Tixier, Timur and Coates have the same structure, and differ in which power laws are used and in the constants. What they have in common is that Swirr is doing the work of a pore-size measure, which is the reason Swirr has to be the irreducible value and not the log Sw.
References
- Wyllie, M.R.J. and Rose, W.D., 1950. Some theoretical considerations related to the quantitative evaluation of the physical characteristics of reservoir rock from electrical log data. Journal of Petroleum Technology, 2(4), 105–118.
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.