Brittleness Indices
On this page
Summary
A brittleness index ranks rock by how readily it fractures rather than deforms, and is used to pick intervals for hydraulic fracturing and to place frac barriers. The best-known log form averages the normalised Static Young's modulus and the normalised Poisson's ratio (static); the other common family uses mineral volumes. Brittleness has no single definition, so an index is a ranking tool, not a measurement.
Inputs and outputs
| Item | Units | |
|---|---|---|
| Input | Static Young's modulus | GPa |
| Input | Poisson's ratio (static) | dimensionless |
| Input | Young's modulus lower bound | GPa |
| Input | Young's modulus upper bound | GPa |
| Input | Poisson's ratio lower bound | dimensionless |
| Input | Poisson's ratio upper bound | dimensionless |
| Output | Normalised Young's modulus | v/v |
| Output | Normalised Poisson's ratio | v/v |
| Output | Brittleness index (modulus-based) | v/v |
Equations
The modulus-based index normalises Young's modulus and Poisson's ratio linearly onto 0 to 1. High modulus and low Poisson's ratio both mean brittle:
Each term is limited to the interval 0 to 1, and the index is their mean:
The published bounds are \(E\) from 1 to 8 million psi (6.9 to 55.2 GPa) and \(\nu\) from 0.15 (most brittle) to 0.40 (most ductile). The mineralogy-based indices use volumes from a mineral inversion, with quartz \(\gmVqz\), calcite \(\gmVcal\), dolomite \(\gmVdol\), clay \(\Vcl\) and kerogen \(\Vk\):
| Symbol | Variable | Units | Typical range |
|---|---|---|---|
| \(E_{s}\) | Static Young's modulus | GPa | 5 to 80 |
| \(\nu\) | Poisson's ratio (static) | dimensionless | 0.10 to 0.40 |
| \(E_{\min}\) | Young's modulus lower bound | GPa | about 6.9 |
| \(E_{\max}\) | Young's modulus upper bound | GPa | about 55.2 |
| \(\nu_{\min}\) | Poisson's ratio lower bound | dimensionless | about 0.15 |
| \(\nu_{\max}\) | Poisson's ratio upper bound | dimensionless | about 0.40 |
| \(B_{E}\) | Normalised Young's modulus | v/v | 0 to 1 |
| \(B_{\nu}\) | Normalised Poisson's ratio | v/v | 0 to 1 |
| \(BI_{R}\) | Brittleness index (modulus-based) | v/v | 0 to 1 |
| \(BI_{J}\) | Brittleness index (quartz fraction) | v/v | 0 to 1 |
| \(BI_{W}\) | Brittleness index (brittle minerals) | v/v | 0 to 1 |
| \(V_{qz}\) | Quartz volume | v/v | 0 to 0.8 |
| \(V_{cal}\) | Calcite volume | v/v | 0 to 1 |
| \(V_{dol}\) | Dolomite volume | v/v | 0 to 1 |
| \(V_{cl}\) | Clay volume | v/v | 0 to 1 |
| \(V_k\) | Kerogen volume | v/v | 0 to 0.4 |
Single-value calculator
Behavior
The index rises with Young's modulus and falls with Poisson's ratio. At a Poisson's ratio of 0.25 the normalised Poisson term is fixed at 0.60, and the index goes from 0.30 at 6.9 GPa, where the modulus term is zero, to 0.80 at 55.2 GPa, where it is one. At a modulus of 30 GPa, Poisson's ratio of 0.15, 0.25 and 0.35 give 0.74, 0.54 and 0.34. The three curves therefore are parallel: Poisson's ratio shifts the index up or down and does not change its slope in modulus. Both terms saturate: above 55.2 GPa the modulus term stays at 1 and the index only changes with Poisson's ratio.
Parameter guidance
Bounds. The bounds Young's modulus lower bound, Young's modulus upper bound, Poisson's ratio lower bound and Poisson's ratio upper bound are not physical constants. They set the zero and the one of the scale. The published values were chosen for a particular set of shale plays, and a different range of rock needs different bounds if the index is to span 0 to 1. The sensible practice is to set them from the 5th and 95th percentile of the well or field, and then to say so, because an index that is normalised to the data it is applied to cannot be compared between fields.
Static or dynamic. The published index was built on moduli of the kind that govern rock failure. If you compute it from dynamic moduli directly, Young's modulus is high and the index is biased toward brittle; convert first (see Static vs Dynamic Moduli) or choose bounds from the dynamic distribution. Do whichever you do consistently across wells.
Mineral indices. The quartz-only form counts calcite and clay as ductile, which is wrong for a clean limestone. The second form counts dolomite as brittle and calcite as not, which is also a choice. Neither is a rock property; they are screening ratios.
Worked example
A rock with a Young's modulus of 30 GPa and a Poisson's ratio of 0.25, then a mineralogy of 40 percent quartz, 15 percent calcite, 5 percent dolomite, 30 percent clay and 5 percent kerogen:
E, nu = 30.0, 0.25
e_min, e_max, nu_min, nu_max = 6.9, 55.2, 0.15, 0.40 # 1 to 8 Mpsi in GPa
clip = lambda x: min(1.0, max(0.0, x))
b_e = clip((E - e_min) / (e_max - e_min))
b_nu = clip((nu - nu_max) / (nu_min - nu_max))
print(f"E term = {b_e:.3f}, nu term = {b_nu:.3f}, BI = {0.5 * (b_e + b_nu):.3f}")
qz, cal, dol, cl, ker = 0.40, 0.15, 0.05, 0.30, 0.05
print(f"quartz/(quartz+calcite+clay) = {qz / (qz + cal + cl):.3f}")
print(f"(qz+dol)/(qz+dol+cal+clay+ker) = {(qz + dol) / (qz + dol + cal + cl + ker):.3f}")
print(f"1 - clay - kerogen = {1 - cl - ker:.3f}")
Output
E term = 0.478, nu term = 0.600, BI = 0.539
quartz/(quartz+calcite+clay) = 0.471
(qz+dol)/(qz+dol+cal+clay+ker) = 0.474
1 - clay - kerogen = 0.650
Assumptions and limitations
- A single scalar can describe how a rock breaks. It cannot: fracture height, complexity and conductivity depend on stress contrast, natural fractures, bedding and fluid, not only on the elastic moduli or the minerals.
- Linear normalisation between fixed bounds is appropriate. It is a convention. The result is relative to the bounds and is not comparable between fields or authors.
- The moduli are the right type (static, or dynamic with bounds to match). Mixing types is the commonest error.
- In the mineral forms, the mineral volumes are reliable, and the rock is brittle because of its minerals. Cement, carbonate fabric and organic content all matter and are not in the formula.
QC checks
- The index lies between 0 and 1 by construction. A curve that sits at 0 or 1 for long intervals means the bounds are wrong for this data.
- The modulus-based and the mineral-based indices usually correlate in a clean shale and disagree in carbonate-rich or ductile-carbonate rock. Where they disagree, find out which input is responsible.
- The index should be higher in the clean, tight, silica-rich or carbonate-rich intervals and lower in the clay-rich ones. If not, check the moduli and the clay volume.
- Compare with any available core evidence: scratch tests, triaxial post-failure behaviour, or the observed fracture heights in image logs and microseismic.
Going Deeper
More than a dozen definitions of brittleness exist in the rock mechanics literature: ratios of strengths, ratios of strains at failure, energy-based measures of post-peak behaviour, and hardness-based tests. They do not agree with each other, and no one has shown that any of them predicts the fracturing outcome across basins. The modulus-based index became popular because it needs only the sonic and density logs; the mineral indices because they need only a mineral inversion. A fair summary is that they identify siliceous or carbonate-rich, low-clay, low-organic rock, which is a useful thing to do. Where a barrier or a frac target is picked on a brittleness cutoff, the cutoff should be calibrated to something observed. The index is also often confused with stress: a brittle layer with high minimum horizontal stress is a barrier, and the same layer with low stress is not, which is the reason this step is followed by stress modelling.
References
- Rickman, R., Mullen, M.J., Petre, J.E., Grieser, W.V. and Kundert, D.P., 2008. A practical use of shale petrophysics for stimulation design optimization: all shale plays are not clones of the Barnett Shale. SPE 115258, SPE Annual Technical Conference and Exhibition.
- Jarvie, D.M., Hill, R.J., Ruble, T.E. and Pollastro, R.M., 2007. Unconventional shale-gas systems: the Mississippian Barnett Shale of north-central Texas as one model for thermogenic shale-gas assessment. AAPG Bulletin, 91(4), 475–499.
- Wang, F.P. and Gale, J.F.W., 2009. Screening criteria for shale-gas systems. Gulf Coast Association of Geological Societies Transactions, 59, 779–793.
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.