Posted in Geotechnical Engineering, Soil Mechanics

p-q Diagrams and Mohr-Coulomb Failure

Students and practicioners of soil mechanics alike are used to seeing triaxial test results that look like this (from DM 7.01):

DM7 Triaxial Test Mohr-Coulomb Diagrams

Ideally, the Mohr-Coulomb failure line should be straight, but with real soils it doesn’t have to be that way.  With the advent of finite element analysis we also have the failure function to consider, thus (from Warrington (2016)):

Dissertation Presentation_Page_28

All of these involve constructing (or using) a line which is tangent to a circle at failure.  This can be confusing to understand completely.  The biggest problem from a “newbie” standpoint is that the maximum shear defined by the circle of stress (its radius) and the failure shear stress defined by the intersection of the circle with the Mohr-Coulomb failure envelope are not the same.

nhi16072-1Is there a better graphical way to represent the interaction of stresses with the Mohr-Coulomb failure criterion?  The answer is “yes” and it involves the use of p-q diagrams.  These have been around for a long time and are used in such things as critical state soil mechanics and stress paths.  A broad explanation of these is found in our new publication, Geotechnical Site Characterization.  The purpose of this article is to present these as a purely mathematical transformation of the classic Mohr-Coulomb diagram.  This is especially important since their explanation is frequently lacking in textbooks.

The Basics

Consider the failure function, which is valid throughout the Mohr-Coulomb plot.  It can be stated as follows:

f=\sigma_{{1}}-\sigma_{{3}}-2\,c\cos(\phi)-\left (\sigma_{{1}}+\sigma_ {{3}}\right )\sin(\phi)

(The main difference between the two formulations is multiplication by 2; the failure function can either be diametral or radial relative to Mohr’s Circle.  With a purely elasto-plastic model, the results are the same.)

Now let us define the following terms:



We should also define the following:


The physical significance of the last one is discussed in this post.  In any case we can start with \phi and solve for \delta or vice versa.  Solving for \phi and substituting this and the equations for p and q into the failure functions yields

f=2\,q-2\,c\sqrt {1-\left (\tan(\delta)\right )^{2}}-2\,p\tan(\delta)

For the failure line, f = 0 .  Let us set the p axis as the abscissa (x-axis) and the q axis as the ordinate (y-axis.)  For the failure line, if we substitute for f and solve for q, we have

q = p\tan(\delta) + c\sqrt {1-\left (\tan(\delta)\right )^{2}}

This is a classic “slope-intercept” form like y = mx + b , where in this case q = mp + b , m = \tan(\delta) and b = c\sqrt {1-\left (\tan(\delta)\right )^{2}} .  A sample plot of this kind is shown below.


Some Observations

  1. For the case of a purely cohesive soil, where \phi = \delta = 0 , the failure envelope is horizontal, just like with a conventional Mohr-Coulomb diagram.
  2. For the case of a purely cohesionless soil, where c = 0 , the y-intercept is in both cases through the origin.
  3. The two diagrams are thus very similar visually, it’s just that the p-q diagram eliminates the circles and tangents, reducing each case to a single point.

Examples of Use

Drained Triaxial Test in Clay

Consider the example of a drained triaxial test in clay with the following two data points:

  1. Confining Pressure = 70 kPa; Failure Pressure = 200 kPa.
  2. Confining Pressure = 160 kPa; Failure Pressure = 383.5 kPa.

Determine the friction angle and cohesion using the p-q diagram.

We first start by computing p and q for each case as follows:

p_1 = 200/2+70/2 = 135\,kPa

p_2 = 383.5/2 + 160/2 = 271.75\,kPa

q_1 = 200/2-70/2 = 65\,kPa

q_2 = 383.5/2 - 160/2 = 111.75\,kPa

The slope is simply

m = \frac {q_2 - q_1}{p_2 - p_1} = \frac {111.75 - 65}{271.5 - 135} = 0.342 = \tan(\delta)

from which

\delta = 18.9^o

\phi = sin^{-1}(tan(\delta)) = sin^{-1}(0.342) = 20.03^o

b = q - mp = 65 - 0.342 \times 135 = 18.83 (using values from the first point, just as easy to use the second one.)

b = c\sqrt {1-\left (\tan(\delta)\right )^{2}} = c \sqrt {1-0.342^{2}} = 0.94 c

b = 18.83 = 0.94 c

c = 20.03\,kPa

Use of this method eliminates the need to solve two equations in two unknowns, and the repetition of the quantity tan(\delta) makes the calculations a little simpler.  When c = 0 , the calculations are even simpler, as p_1 = q_1 = 0 .

Stress Paths

As mentioned earlier, p-q diagrams are commonly used with stress paths.  An example of this from DM 7.01 is shown below.

DM7 Triaxial Test Stress Path Diagram

We note that p and q are defined here exactly as we have them above.  (That isn’t always the case; examples of other formulations of the p-q diagram are here.  We should note, however, that for this diagram \phi" = \delta )  With this we can track the stress state of a sample from the start (where the deviator stress is zero, at the start of the triaxial test) around to its various points of stress.

As an example, consider the stress path example from Verruijt, A., and van Bars, S. (2007). Soil Mechanics. VSSD, Delft, the Netherlands.  The basic data from Test 1 are below:

\sigma_3 Deviator Stress Pore Water Pressure
40 0 0
40 10 4
40 20 9
40 30 13
40 40 17
40 50 21
40 60 25

Using the p-q diagram and performing some calculations (which are shown in the spreadsheet Stress Paths Verruijt Example)  the stress paths can be plotted as follows:

It’s worth noting that the q axis is unaffected by the drainage condition because the pore water pressures cancel each other out.  Only the p-axis changes.


The p-q diagram is a method of simplifying the analysis of triaxial and other stress data which are commonly used in soil mechanics.  It can be used in a variety of applications and solve a range of problems.


Posted in Soil Mechanics

Computing Pore Water Pressure and Effective Stress in Upward (and Downward) Flow in Soil

Water flow through soil–and the whole subject of permeability–is one of those topics that tends to mystify students in undergraduate soil mechanics courses.  This article will deal with one type of flow–flow that is purely vertical, downward or upward–and show how it is possible to compute the pore water pressure and effective stress in soils with vertical water flow.

Hydrostatic Case

We’ll start with the hydrostatic case, classic in the determination of effective stresses in many soil strata.  The pore water pressure is computed by the equation usually written in this way:

u=\gamma_w z

where u is the pore water pressure, \gamma_w is the unit weight of the water, and z is the distance from the phreatic surface/water table, where by definition z = 0 .

Let us write this equation more generally, thus

\Delta u=\gamma_w \Delta z

where \Delta u is the change in the pore water pressure from some elevation 1 in the soil to some other elevation 2 in the soil, and \Delta z is the change in elevation from point 1 to point 2.  As a condition, since z is positive in the downward direction, \Delta z is likewise positive in the downward direction.

With soil layers and total stress, we routinely “pile on” the stresses from layer to layer, because the unit weight of the soil changes.  For hydrostatic water, we usually don’t because the unit weight of the water is considered a constant.

Vertically Flowing Water

With flowing water, although the unit weight of the water is a constant, the effect it has on effective stress changes.  For this case we can expand the previous equation to read as follows (from Verruijt, A., and van Bars, S. (2007). Soil Mechanics. VSSD, Delft, the Netherlands.):

\Delta u=\gamma_w \Delta z\left( i + 1 \right)


Note that we have added the hydraulic gradient into the mix, defined in the figure to the right.

This drawing shows a classic case of vertical, downward flow.  The coefficient of permeability k can be computed using methods described in Department of the Army (1986) — Laboratory Soils Testing for granular soils.  However, we can also use this test–or problems based on this test–to consider the effect of the flowing water on the effective stress, which in turn leads us to consider the topic of soil boiling when the flow is upward.  The best way to see how this works is to consider an example.

Upward Flow Example

Consider the permeameter setup below.  We will concentrate on the constant head permeameter on the left.  The soil sample is in grey, with a length L and an area A.


There is a distance H1 from the top of the soil sample to the surface of the water above it.  There is an additional distance H2 from that water surface to the water surface of the constant head tank.

Now consider an example with the following parameters:

  • H1 = 0.5 m
  • H2 = 2.5 m
  • L = 2 m
  • \gamma_{sat} = 19 \frac{kN}{m^3}

Compute the effective stress at a point halfway between the upper and lower surfaces of the soil sample.

First, we compute the total stress at the top of the soil, thus

\sigma_t\mid_{z=0.5} = 0.5 m \times 9.8 \frac{kN}{m^3} = 4.9 kPa

Because the total stress at this point is due to free water, the pore water pressure u\mid_{z=0.5} = 4.9 kPa , and thus \sigma'_{vo} = 0 .

On the lower surface of the soil sample, the total stress is

\sigma_t\mid_{z=3} = 0.5 m \times 9.8 \frac{kN}{m^3} + 2.5\times 19\frac{kN}{m^3} = 52.4 kPa

The pore water pressure, however, is due to the free water that begins in the constant head tank and ends at the bottom surface of the soil, thus

u\mid_{z=3} = \left( 2.5 + 0.5 + 2 \right)\times 9.8 \frac{kN}{m^3} = 49 kPa

The effective stress at this point is 52.4 – 49 = 3.4 kPa.

So how do we compute the effective stress at the midpoint in the soil sample?  Let us revisit the equation

\Delta u=\gamma_w \Delta z\left( i + 1 \right)

And determine the pore water pressure at the midpoint.  We first want to compute the hydraulic gradient of the entire specimen, substituting yields

\Delta u\mid_{z=3} = 49 - 4.9 = 44.1 kPa = 9.8 \times 2.5 \left( 1+i \right)

Solving for the hydraulic gradient yields i = 0.8 .

Now we substitute this result back into the equation, changing the distance \Delta z = 1.25 m .  Keeping in mind that positive z is downwards, we start from the top of the soil sample.  The change in pore water pressure from the surface is

\Delta u\mid_{z=1.75} = 9.8 \times 1.25 \left( 1 + 0.8 \right) = 22.25 kPa

Adding the pore water pressure at the soil’s upper surface yields u = 4.9 + 22.25 = 26.95 kPa.  The total stress at this point is

\sigma_t\mid_{z=1.75} = 0.5 m \times 9.8 \frac{kN}{m^3} + 1.25\times 19\frac{kN}{m^3} = 28.65 kPa

The effective stress is simply 28.65 – 26.95 = 1.7 kPa.  Since this is the middle of the layer, we would expect this stress to be the average of the effective stress at the top of the soil and the bottom, which in fact is the case.  But we can use this technique to compute the pore water pressure at any point in the soil.


  • The hydraulic gradient is very high; in fact, the critical hydraulic gradient for this soil is 0.94, leaving us with a factor of safety of 1.17.  This is reflected in the very low effective stresses that result.  Had the critical hydraulic gradient been exceeded, the effective stresses would have been negative.  Many “textbook” problems of this nature actually exceed any sensible range of hydraulic gradients because they don’t compute it as a part of the solution.  The soil in this case is about to “boil” (or at least put significant upward pressure on the filter material.)
  • Many students wonder why the formula for the hydraulic gradient i=\frac{\Delta h}{\Delta l} cannot be applied directly.  The reason is simple: even with moving water, the direct hydrostatic effect due to gravity does not go away, and has to be considered.  Thus we have the term \left( i + 1 \right) rather than just i .
  • Had the flow been downward, the hydraulic gradient would have been negative, and the effective stresses would have increased relative to hydrostatic stresses rather than decreased.
  • As long as the flow is vertical, this equation can be used with flow net type problems as well.
  • The critical hydraulic gradient equation can be derived using this equation.  As mentioned above, the critical hydraulic gradient is reached when the effective stresses in the soil are zero.  Assuming that we’re starting at the upper surface where the effective stress is zero, at the lower surface of the soil sample (or soil element in a flow net) the effective stress is zero when the total stress and pore water pressure is zero, or

\gamma_{sat} \Delta z = \gamma_w \Delta z\left( i + 1 \right)

Solving for i_{crit} yields

i_{crit} = \frac{\gamma_{sat}}{\gamma_w} - 1

which is in fact the case.

  • We can also solve the problem to determine the hydraulic head at a point in the soil.  We start by modifying our equation as follows:

\Delta h=\Delta z\left( i + 1 \right)

For this problem, at the centre of the layer, we would start by solving for the hydraulic gradient, or

5 - 0.5=2.5\left( i + 1 \right)

where the left hand side represents the total change in hydraulic head from the upper to the lower surface of the soil.  As before i = 0.8 .

Now we use the equation directly to solve for the hydraulic head at the centre of the layer, thus

\Delta h=1.25\left( 0.8 + 1 \right) = 2.25 m

This must be added to the hydraulic head already at the surface, or 2.25 + 0.5 = 2.75 m.  By changing the value of \Delta z we can compute this change at any point and add it to the head at the upper surface.