CamPetro

Near-Wellbore Stress State

On this page

Summary

Drilling a hole removes rock that carried stress, and the stress around the hole is redistributed. For a vertical well in an elastic rock the redistribution is given by the Kirsch solution, which at the wall gives the Hoop stress at the wall around the circumference in terms of the horizontal stresses and the wellbore pressure. The largest and smallest hoop stresses decide where the wall fails in compression and in tension. This page covers the vertical well only.

Inputs and outputs

Item Units
Input Maximum horizontal stress psi
Input Minimum horizontal stress psi
Input Vertical stress psi
Input Pore pressure (stress analysis) psi
Input Wellbore (mud) pressure psi
Input Poisson's ratio (static) dimensionless
Input Azimuth around the wellbore deg
Output Hoop stress at the wall psi
Output Effective hoop stress at the wall psi
Output Maximum hoop stress psi
Output Minimum hoop stress psi
Output Axial stress at the wall psi

Equations

For a vertical well in an elastic, isotropic rock with horizontal principal stresses \(\gmSHm\) and \(\gmSh\), the stresses at the wall are, with \(\theta\) measured from the direction of \(\gmSHm\):

\[ \sigma_r = \gmPw \]
\[ \gmSigTh(\gmTheta) = \gmSHm + \gmSh - 2\left(\gmSHm - \gmSh\right)\cos 2\gmTheta - \gmPw \]
\[ \gmSigZ(\gmTheta) = \gmSv - 2\,\gmNu\left(\gmSHm - \gmSh\right)\cos 2\gmTheta \]

There is no shear stress on the wall for this geometry, so \(\sigma_r\), \(\sigma_\theta\) and \(\sigma_z\) are principal stresses. The effective hoop stress, for an impermeable wall, subtracts the pore pressure \(\gmPp\):

\[ \gmSigThEff = \gmSigTh - \gmPp \]

The extremes are at the two principal horizontal directions. The hoop stress is largest at \(\theta = 90^\circ\), at the azimuth of the minimum horizontal stress, and smallest at \(\theta = 0^\circ\), at the azimuth of the maximum horizontal stress:

\[ \gmSigThMax = 3\,\gmSHm - \gmSh - \gmPw \qquad \gmSigThMin = 3\,\gmSh - \gmSHm - \gmPw \]

If the horizontal stresses are equal, both extremes become \(2\gmSh - \gmPw\) and the hoop stress is the same at every azimuth.

For a well that is not vertical, the far-field stresses must first be transformed into the wellbore axes, which gives a normal stress along the hole, shear stresses in the wellbore planes and an angle-dependent hoop and axial stress. That transformation is not covered here; this page and the following ones cover the vertical well, which is the limiting case of the general solution.

Symbol Variable Units Typical range
\(S_{H}\) Maximum horizontal stress psi 3000 to 25000
\(S_{h}\) Minimum horizontal stress psi 3000 to 20000
\(S_{v}\) Vertical stress psi 1000 to 25000
\(P_{p}\) Pore pressure (stress analysis) psi 1000 to 20000
\(P_{w}\) Wellbore (mud) pressure psi 2000 to 20000
\(\nu\) Poisson's ratio (static) dimensionless 0.10 to 0.40
\(\theta\) Azimuth around the wellbore deg 0 to 180
\(\sigma_{\theta}\) Hoop stress at the wall psi 0 to 30000
\(\sigma_{\theta}'\) Effective hoop stress at the wall psi -2000 to 25000
\(\sigma_{\theta,\max}\) Maximum hoop stress psi 0 to 30000
\(\sigma_{\theta,\min}\) Minimum hoop stress psi -5000 to 25000
\(\sigma_{z}\) Axial stress at the wall psi 1000 to 30000

Single-value calculator

Behavior

The hoop stress varies with azimuth as a cosine of twice the angle, so it has two maxima and two minima around the hole. With SHmax at 6700 psi, Shmin at 6000 psi and a wellbore pressure of 5000 psi, the hoop stress is 6300 psi at 0° (the azimuth of SHmax) and 9100 psi at 90°, and passes through 7700 psi at 45°, where the cosine term vanishes and the stress is SHmax + Shmin - Pw. The stress contrast between the two extremes is 4 (SHmax - Shmin) = 2800 psi, so it is the horizontal stress anisotropy that drives the variation. Raising the wellbore pressure lowers the whole curve by the same amount, one psi for each psi, as the three curves show: the peak (90°) hoop stress is 9600, 9100 and 7600 psi for 4500, 5000 and 6500 psi. With the horizontal stresses equal at 6000 psi the hoop stress is 7000 psi at 0°, 7000 psi at 45° and 7000 psi at 90°: the same everywhere, 2 x 6000 - 5000 = 7000 psi, as the limiting case requires. The axial stress, which does not depend on the wellbore pressure, is 9450 psi at 0° and 10150 psi at 90° for these inputs.

Parameter guidance

Horizontal stresses and azimuth. The two horizontal stresses come from Horizontal Stress Methods, and the azimuth of SHmax from breakouts, tensile fractures or regional data. Breakouts form at the azimuth of Shmin, so the azimuth convention above, with 0° along SHmax, puts the maximum hoop stress there.

Wellbore pressure. The mud pressure at the depth: mud weight in ppg times 0.052 times true vertical depth in feet. In practice the equivalent circulating density, which includes the annular friction while pumping, is higher than the static value.

Pore pressure. The formation pressure at the wall. Use the effective hoop stress only if the wall is impermeable. In a permeable rock, fluid flow between the hole and the formation adds a poroelastic stress, which is not included here.

Poisson's ratio. Static value. It enters the axial stress only.

Temperature. Cooling the wall with a cold mud reduces the hoop stress, and heating it raises it. The thermal stress is not included here. It is usually a few hundred psi in deep wells.

Worked example

Hoop stress around a vertical well with SHmax 6700 psi, Shmin 6000 psi, mud pressure 5000 psi and pore pressure 4700 psi, and the isotropic check:

import math
SH, Sh, Pw, Pp = 6700.0, 6000.0, 5000.0, 4700.0
def hoop(theta_deg, SH, Sh, Pw):
    return SH + Sh - 2 * (SH - Sh) * math.cos(math.radians(2 * theta_deg)) - Pw
for th in (0, 30, 45, 60, 90):
    print(f"theta = {th:3d} deg: hoop = {hoop(th, SH, Sh, Pw):6.0f} psi, effective = {hoop(th, SH, Sh, Pw) - Pp:6.0f} psi")
print(f"max (90 deg) 3 SH - Sh - Pw = {3 * SH - Sh - Pw:.0f},  min (0 deg) 3 Sh - SH - Pw = {3 * Sh - SH - Pw:.0f}")
print(f"radial stress at the wall = {Pw:.0f} psi (effective {Pw - Pp:.0f})")
iso = [hoop(th, 6000.0, 6000.0, Pw) for th in (0, 45, 90, 135)]
print('isotropic horizontal stress 6000 psi:', iso, ' expected 2 x 6000 - 5000 =', 2 * 6000 - 5000)

Output

theta =   0 deg: hoop =   6300 psi, effective =   1600 psi
theta =  30 deg: hoop =   7000 psi, effective =   2300 psi
theta =  45 deg: hoop =   7700 psi, effective =   3000 psi
theta =  60 deg: hoop =   8400 psi, effective =   3700 psi
theta =  90 deg: hoop =   9100 psi, effective =   4400 psi
max (90 deg) 3 SH - Sh - Pw = 9100,  min (0 deg) 3 Sh - SH - Pw = 6300
radial stress at the wall = 5000 psi (effective 300)
isotropic horizontal stress 6000 psi: [7000.0, 7000.0, 7000.0, 7000.0]  expected 2 x 6000 - 5000 = 7000

Assumptions and limitations

  • The well is vertical and is a principal-axis problem: the vertical stress is a principal stress and the horizontal stresses are the other two.
  • The rock is linear, elastic, homogeneous and isotropic. Real shale is anisotropic, and the stress concentration is different in a transversely isotropic rock, especially in a deviated hole.
  • The wall is impermeable to the mud (the filter cake seals it) and the pore pressure at the wall is the far-field value. Otherwise a poroelastic term from fluid flow must be added.
  • Thermal stresses and chemical effects are not included.
  • The solution is the stress at the wall, immediately after drilling. Stress relaxation, creep and time-dependent shale swelling change it later.
  • The hole is circular and in gauge. After breakout the shape changes and the solution no longer applies.

QC checks

  • Isotropic limit: with SHmax equal to Shmin, the hoop stress is 2 S - Pw at all azimuths, and the maximum and minimum are equal.
  • The mean of the hoop stress around the circle equals SHmax + Shmin - Pw, and the maximum minus the minimum equals 4 (SHmax - Shmin).
  • The hoop stress at the wall falls by exactly the increase in wellbore pressure. A plot that does not do this is wrongly coded.
  • The maximum is at 90° from SHmax. If the breakouts in image logs are not 90° from the tensile fractures, the stress is not a simple vertical-well case.
  • The hoop stress at 0° can turn tensile (negative effective) when the mud pressure is high and the stress anisotropy large. That is where tensile fractures begin, see Breakout and Breakdown Pressures.

Going Deeper

The Kirsch solution dates from 1898 and was derived for a circular hole in a plate. Its use in wellbore stability is to supply the stress at the wall, where the stress is highest, and so where failure starts. Two features are worth remembering. First, the stress concentration is not a feature of the rock: it depends only on geometry, so the same factor of three applies to any elastic rock, and the hoop stress at the wall can be three times the far-field stress contrast. Second, the radial stress at the wall is fixed by the mud, which is the reason mud weight is the main control engineers have: raising it decreases the hoop stress, which stabilizes against compressive failure, and pushes the minimum hoop stress toward tension, which can open fractures. For deviated and horizontal wells the stress state is three-dimensional, the hoop stress depends on the inclination and the azimuth with respect to the stresses, and the shear stress between the hoop and the axial direction matters. The usual presentation in the literature, for example in Fjaer et al. and Zoback, derives the transformation and the general solution, and software evaluates it around the well to find the most vulnerable azimuth. That generalization is outside the scope of this page.

References

  1. Kirsch, G., 1898. Die Theorie der Elastizität und die Bedürfnisse der Festigkeitslehre. Zeitschrift des Vereines Deutscher Ingenieure, 42, 797–807.
  2. Fjær, E., Holt, R.M., Horsrud, P., Raaen, A.M. and Risnes, R., 2008. Petroleum Related Rock Mechanics, 2nd edition. Elsevier.
  3. Zoback, M.D., 2007. Reservoir Geomechanics. Cambridge University Press.
  4. Bradley, W.B., 1979. Failure of inclined boreholes. Journal of Energy Resources Technology, 101(4), 232–239.

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.