Heslop
On this page
Summary
The Heslop form estimates Permeability from effective porosity and the movable fraction of the pore space, 1 - Irreducible water saturation, each raised to a power. This page documents the form with the constants that are in use, which I could not trace to a verified publication, so use it only as a calibrated template.
Inputs and outputs
| Item | Units | |
|---|---|---|
| Input | Effective 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
Permeability is a product of effective porosity and the movable fraction of the pore space, each to a power:
with \(P = 10^5\), \(Q = 3.9\) and \(R = 3.9\) in the values I have seen (k in mD). The result is limited to the interval 0 to 10 000 mD in the calculator.
| Symbol | Variable | Units | Typical range |
|---|---|---|---|
| \(\phi_e\) | Effective porosity | v/v | 0 to 0.35 |
| \(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
Compared with the models that divide by Swirr, this one is gentle in its Swirr dependence, because 1 - Swirr changes little. With the values above, at a porosity of 0.20 a Swirr of 0.15, 0.25 and 0.35 gives 100, 61 and 35 mD, while the Timur form gives 321, 115 and 59 mD for the same inputs. At a Swirr of 0.25, permeability is 4.1, 19.9, 61.2 and 146 mD at porosities of 0.10, 0.15, 0.20 and 0.25. 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
Because the Swirr dependence is mild, the porosity term does most of the work and the model behaves like a porosity-permeability transform with a weak Swirr correction. As with the others, fit \(P\) to core and leave the exponents alone unless the data support changing them. Use effective porosity and an effective-basis Swirr from a source that does not use permeability; see the Permeability step page. Where there is plenty of core, a porosity-permeability transform is simpler and equally good.
Worked example
Porosity 0.20 at three values of Swirr:
phie = 0.20
for swirr in (0.15, 0.25, 0.35):
k = 1e5 * phie ** 3.9 * (1 - swirr) ** 3.9
print(f"Swirr {swirr:.2f}: k = {k:.1f} mD")
Output
Swirr 0.15: k = 99.7 mD
Swirr 0.25: k = 61.2 mD
Swirr 0.35: k = 35.0 mD
Assumptions and limitations
- Permeability depends on effective porosity and on the movable fraction of the pore space.
- The constants fit the rock type being evaluated. I do not know the data set from which the values above come.
- Swirr is the irreducible value, from a method that does not use permeability.
- The relation is a clastic one.
QC checks
- Plot against core permeability on a log-log 1:1 plot; scatter of a factor of 2 to 3 is normal.
- Compare with Timur and Coates: if the Heslop result tracks porosity alone, Swirr is not contributing.
- Permeability rises with porosity and falls as Swirr rises.
- Check that porosity is effective, not total.
Going Deeper
The model is of the family that treats permeability as the product of a porosity term and a movable-fluid term. Its Swirr dependence is much weaker than that of the Timur and Tixier forms, which makes it more robust to Swirr errors and less able to separate rocks of the same porosity. I have not been able to confirm the original source or the published constants of the Heslop relation; the page is kept so that the form can be compared and calibrated, and it should be replaced with a sourced description or removed if no source can be found.
References
References will be added once verified.
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.