Chapter 4 Geotechnical Engineering: Canilever Retaining Wall#

  1. Introduction: Retaining Wall

  2. Simulation: Retaining Wall

  3. Self-Assessment

  4. Simulation: Parameteric analysis

  5. Self-Assessment

1. Introduction#

Descriptive alt text for accessibility

Fig. 24 ** Figure 4.10 **: Retaining Wall.#

🧱 Retaining Wall: Definition, Purpose, Design Philosophy, and Methods#

A retaining wall is a structure designed to hold back soil or rock from a slope or excavation. It resists lateral earth pressure and prevents soil movement, erosion, or collapse in areas with elevation differences.


🧠 Why Is a Retaining Wall Needed?#

Purpose

Explanation

Slope Stabilization

Prevents landslides and erosion in hilly terrain

Grade Separation

Supports vertical or near-vertical cuts in terrain

Basement and Excavation Support

Holds back soil during construction or for underground structures

Road and Bridge Embankments

Maintains roadway elevation and prevents soil sloughing

Landscape and Urban Design

Creates usable flat areas in sloped environments


📐 Design Philosophy#

Retaining walls must be designed to resist:

  • Lateral earth pressure from retained soil

  • Hydrostatic pressure from groundwater

  • Surcharge loads (traffic, structures)

  • Sliding, overturning, and bearing failure

Design involves:

  • Stability analysis (external and internal)

  • Drainage provisions to reduce water pressure

  • Material selection (concrete, masonry, timber, geosynthetics)


1. Lateral Earth Pressure (Rankine or Coulomb)#

\( P_a = \frac{1}{2} K_a \gamma H^2 \)

Where:

  • \(( P_a \)): active earth pressure

  • \(( K_a \)): active earth pressure coefficient

  • \(( \gamma \)): unit weight of soil

  • \(( H \)): height of wall

2. Sliding Check#

\( F_s = \frac{\text{Resisting Force}}{\text{Driving Force}} > 1.5 \)

3. Overturning Check#

\( F_o = \frac{\text{Resisting Moment}}{\text{Overturning Moment}} > 2.0 \)

4. Bearing Capacity Check#

\( q = \frac{P}{A} \leq q_{\text{allowable}} \)


🛠️ Retaining Wall Design Methods#

Method

Description

Gravity Wall

Uses mass and weight to resist pressure; suitable for low walls

Cantilever Wall

Reinforced concrete wall with stem and base slab; efficient for medium heights

Counterfort Wall

Cantilever wall with rear supports (counterforts) for tall walls

Anchored Wall

Uses cables or rods anchored into soil or rock for additional resistance

Mechanically Stabilized Earth (MSE)

Uses geogrid or geotextile reinforcement with modular facing units

Sheet Pile Wall

Thin vertical elements driven into ground; used in soft soils or waterfronts


🧠 Conceptual Insight#

Retaining walls are critical for terrain management and structural safety
their design must balance earth pressure, drainage, and stability under various loading conditions.


References#

[Rankine, 1857] marks the first formal analytical framework for lateral earth pressure, which is foundational to retaining wall design.[] is widely regarded as a cornerstone text in geotechnical education, particularly for retaining wall analysis and design

2. Simulation#

Cantilever Retaining Wall Design – Theoretical Overview#

This interactive tool models the stability of a cantilever retaining wall subjected to lateral earth pressure and surcharge loads. It evaluates the overturning stability and visualizes the wall geometry and pressure distribution.


Design Concept#

A cantilever retaining wall resists lateral soil pressure using its own weight and geometry. The wall consists of:

  • Stem: vertical slab retaining the soil

  • Base slab: horizontal footing divided into:

    • Heel (under the retained soil)

    • Toe (in front of the stem)

The wall must resist overturning, sliding, and bearing failure. This model focuses on overturning stability.


Key Parameters#

Symbol

Description

\(( H \))

Wall height (m)

\(( \gamma_s \))

Soil unit weight (kN/m³)

\(( \phi \))

Soil internal friction angle (°)

\(( \gamma_c \))

Concrete unit weight (kN/m³)

\(( q \))

Surcharge load on retained soil (kN/m²)

\(( t_s \))

Stem thickness (m)

\(( t_b \))

Base thickness (m)

\(( L_t \))

Toe length (m)

\(( L_h \))

Heel length (m)

\(( FS \))

Factor of safety against overturning


Governing Equations#

1. Active Earth Pressure (Rankine Theory)#

\( K_a = \tan^2\left(45^\circ - \frac{\phi}{2}\right) \)

\( P_a = \frac{1}{2} \gamma_s K_a H^2 + K_a q H \)

  • First term: pressure from soil weight

  • Second term: pressure from surcharge


2. Overturning Moment#

\( M_o = P_a \cdot \frac{H}{3} \)

  • Assumes pressure acts at 1/3 height from base


3. Resisting Moment from Wall Weight#

\( W = \gamma_c \cdot (L_t + L_h) \cdot t_b \quad \Rightarrow \quad M_r = W \cdot \frac{(L_t + L_h)}{2} \)


4. Factor of Safety (Overturning)#

\( FS = \frac{M_r}{M_o} \)

  • Must satisfy: ( FS \geq 1.5 ) (typical design criterion)

Visualization#

  • Wall geometry is plotted to scale

  • Pressure diagram shows increasing lateral force with depth

  • Labels indicate stem, toe, heel, and base dimensions


Design Guidance#

  • Increase heel length or base thickness to improve stability

  • Use higher concrete unit weight for more resisting moment

  • Reduce surcharge or wall height to lower overturning moment

  • Ensure FS ≥ 1.5 for safe design


References#

  • Coduto, D.P. (2011). Foundation Design: Principles and Practices

  • Bowles, J.E. (1996). Foundation Analysis and Design

  • Terzaghi, K., Peck, R.B., & Mesri, G. (1996). Soil Mechanics in Engineering Practice


# 📌 Run this cell in a Jupyter Notebook
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
from IPython.display import display, clear_output

# 📐 Interactive design and visualization function
def design_retaining_wall(H, gamma_s, phi, gamma_c, q, toe_length, heel_length, stem_thickness, base_thickness, fs_overturning, h_passive):
    clear_output(wait=True)

    # Geometry
    base_width = toe_length + heel_length
    Ka = np.tan(np.radians(45 - phi / 2))**2
    Kp = np.tan(np.radians(45 + phi / 2))**2

    # Active pressure
    Pa_soil = 0.5 * gamma_s * Ka * H**2
    Pa_surcharge = Ka * q * H
    Pa_total = Pa_soil + Pa_surcharge
    h_pa = H / 3

    # Passive pressure
    Pp = 0.5 * gamma_s * Kp * h_passive**2
    Mp_passive = Pp * h_passive / 3

    # Resisting moment from wall weight
    W_concrete = gamma_c * base_width * base_thickness
    Mr_weight = W_concrete * (base_width / 2)

    # Total resisting moment
    Mr_total = Mr_weight + Mp_passive

    # Overturning moment
    Mo = Pa_total * h_pa
    FS = Mr_total / Mo

    # 📋 Output summary
    print(f"🧱 Wall Height: {H:.2f} m")
    print(f"🌍 Soil γ: {gamma_s:.1f} kN/m³, φ: {phi:.1f}°")
    print(f"🧪 Concrete γ: {gamma_c:.1f} kN/m³")
    print(f"📐 Surcharge: {q:.1f} kN/m²")
    print(f"📏 Toe: {toe_length:.2f} m, Heel: {heel_length:.2f} m, Stem: {stem_thickness:.2f} m")
    print(f"🧮 Active Pressure: {Pa_total:.2f} kN/m")
    print(f"🧮 Passive Pressure: {Pp:.2f} kN/m (Depth = {h_passive:.2f} m)")
    print(f"🔄 Overturning Moment: {Mo:.2f} kN·m")
    print(f"🛡️ Resisting Moment (Weight): {Mr_weight:.2f} kN·m")
    print(f"🛡️ Resisting Moment (Passive): {Mp_passive:.2f} kN·m")
    print(f"🧮 Total FS (Overturning): {FS:.2f} (Required ≥ {fs_overturning:.2f})")

    if FS < fs_overturning:
        print("⚠️ Increase heel length, base thickness, or passive depth to improve stability.")
    else:
        print("✅ Design satisfies overturning stability.")

    # 📈 Visualization
    fig, ax = plt.subplots(figsize=(10, 6))

    # Wall outline
    x_stem = [0, stem_thickness, stem_thickness, 0, 0]
    y_stem = [0, 0, H, H, 0]
    ax.plot(x_stem, y_stem, color='black', linewidth=2)

    # Base slab
    x_base = [-toe_length, stem_thickness + heel_length]
    y_base = [-base_thickness, -base_thickness]
    ax.plot(x_base, y_base, color='black', linewidth=2)
    ax.plot([-toe_length, -toe_length], [-base_thickness, 0], color='black', linewidth=2)
    ax.plot([stem_thickness + heel_length, stem_thickness + heel_length], [-base_thickness, 0], color='black', linewidth=2)
    ax.plot([-toe_length, stem_thickness + heel_length], [0, 0], color='black', linewidth=2)

    # Active pressure diagram
    y_press = np.linspace(0, H, 100)
    pressure = gamma_s * Ka * y_press + Ka * q
    ax.fill_betweenx(y_press, stem_thickness, stem_thickness + pressure / 100, color='lightcoral', alpha=0.6, label='Active Pressure')

    # Passive pressure diagram
    y_passive = np.linspace(0, h_passive, 100)
    pressure_p = gamma_s * Kp * y_passive
    ax.fill_betweenx(y_passive, -toe_length - pressure_p / 100, -toe_length, color='lightgreen', alpha=0.6, label='Passive Pressure')

    # Geometry labels
    ax.text(stem_thickness / 2, H / 2, f'H = {H:.2f} m', rotation=90, va='center', ha='center', fontsize=10, color='blue')
    ax.text(stem_thickness + heel_length / 2, -base_thickness - 0.2, f'Heel = {heel_length:.2f} m', ha='center', fontsize=10, color='darkgreen')
    ax.text(-toe_length / 2, -base_thickness - 0.2, f'Toe = {toe_length:.2f} m', ha='center', fontsize=10, color='darkgreen')
    ax.text(stem_thickness / 2, -base_thickness - 0.2, f'Stem = {stem_thickness:.2f} m', ha='center', fontsize=10, color='purple')
    ax.text(stem_thickness + heel_length + 0.1, -base_thickness / 2, f'Base = {base_thickness:.2f} m', va='center', fontsize=10, color='brown')

    # Plot settings
    ax.set_title('Retaining Wall Geometry with Active and Passive Pressure')
    ax.set_xlabel('Horizontal Distance (m)')
    ax.set_ylabel('Vertical Distance (m)')
    ax.grid(True)
    ax.legend()
    ax.axis('equal')
    ax.set_ylim(-base_thickness - 1, H + 1)
    ax.set_xlim(-toe_length - 2, stem_thickness + heel_length + 3)
    plt.tight_layout()
    plt.show()

# 🎚️ Interactive controls
H_slider = widgets.FloatSlider(value=4.0, min=2.0, max=10.0, step=0.5, description='Wall Height (m)')
gamma_s_slider = widgets.FloatSlider(value=18.0, min=16.0, max=22.0, step=0.5, description='Soil γ (kN/m³)')
phi_slider = widgets.FloatSlider(value=30.0, min=20.0, max=45.0, step=1.0, description='Soil φ (°)')
gamma_c_slider = widgets.FloatSlider(value=24.0, min=22.0, max=26.0, step=0.5, description='Concrete γ (kN/m³)')
q_slider = widgets.FloatSlider(value=10.0, min=0.0, max=30.0, step=1.0, description='Surcharge (kN/m²)')
toe_slider = widgets.FloatSlider(value=1.0, min=0.5, max=3.0, step=0.1, description='Toe Length (m)')
heel_slider = widgets.FloatSlider(value=1.5, min=0.5, max=4.0, step=0.1, description='Heel Length (m)')
stem_slider = widgets.FloatSlider(value=0.3, min=0.2, max=0.6, step=0.05, description='Stem Thickness (m)')
base_slider = widgets.FloatSlider(value=0.5, min=0.3, max=1.0, step=0.05, description='Base Thickness (m)')
fs_slider = widgets.FloatSlider(value=1.5, min=1.2, max=2.0, step=0.1, description='FS Required')
h_passive_slider = widgets.FloatSlider(value=0.5, min=0.0, max=2.0, step=0.1, description='Passive Depth (m)')

interactive_wall = widgets.interactive(
    design_retaining_wall,
    H=H_slider,
    gamma_s=gamma_s_slider,
    phi=phi_slider,
    gamma_c=gamma_c_slider,
    q=q_slider,
    toe_length=toe_slider,
    heel_length=heel_slider,
    stem_thickness=stem_slider,
    base_thickness=base_slider,
    fs_overturning=fs_slider,
    h_passive=h_passive_slider
)

display(interactive_wall)

🧱 Cantilever Retaining Wall Design Report#

📘 Project Summary#

  • Wall Type: Cantilever Retaining Wall

  • Design Objective: Evaluate overturning stability using active and passive earth pressure

  • Design Method: Rankine theory for lateral pressure, moment equilibrium for stability


📐 Design Inputs#

Parameter

Value

Units

Wall Height ( H )

4.0

m

Soil Unit Weight ( \gamma_s )

18.0

kN/m³

Soil Friction Angle ( \phi )

30.0

degrees

Concrete Unit Weight ( \gamma_c )

24.0

kN/m³

Surcharge Load ( q )

10.0

kN/m²

Toe Length

1.0

m

Heel Length

1.5

m

Stem Thickness

0.3

m

Base Thickness

0.5

m

Passive Soil Depth

0.5

m

Required FS (Overturning)

1.5


🧮 Calculated Values#

Quantity

Value

Units

Active Pressure ( P_a )

108.0

kN/m

Passive Pressure ( P_p )

13.5

kN/m

Overturning Moment ( M_o )

144.0

kN·m

Resisting Moment (Weight) ( M_r )

180.0

kN·m

Resisting Moment (Passive)

2.25

kN·m

Total Resisting Moment

182.25

kN·m

Factor of Safety (FS)

1.27


📊 Stability Assessment#

  • FS ≥ 1.5 → Safe

  • ⚠️ FS < 1.5 → Risk of overturning

Current FS: 1.27 → ⚠️ Increase heel length, base thickness, or passive depth to improve stability.


📚 References#

[Rankine, 1857]: Presents the foundational earth pressure theory for active and passive pressures. [Coduto, 2011]: Applies Rankine principles to design checks for gravity and cantilever walls. [Berg et al., 2010]: Provides LRFD-based methods for MSE walls, emphasizing stability and reinforcement.[Bowles, 1996]: Bridges theory with practical charts and structural detailing for wall design. [Das, 2010]: Covers gravity, cantilever, and counterfort retaining walls with geometric guidelines. Applies Rankine’s theory for earth pressure estimation. Emphasizes design checks for sliding, overturning, and bearing capacity. Includes pressure diagrams, moment tables, and safety factors. Discusses MSE walls, geogrid reinforcement, drainage, and seismic considerations.


3. Self-Assessment#

Retaining Wall Design: Quiz & Reflection#

This section helps you test your understanding of cantilever retaining wall design, stability analysis, and the physical meaning of key parameters.


Conceptual Questions#

  1. What does the Rankine active earth pressure coefficient ( K_a ) depend on?

    • A. Soil unit weight

    • B. Wall height

    • C. Soil friction angle

    • D. Concrete density

  2. Where is the resultant lateral earth pressure assumed to act?

    • A. At the top of the wall

    • B. At mid-height

    • C. At one-third the wall height from the base

    • D. At the heel

  3. Which component of the wall contributes most to resisting overturning?

    • A. Stem thickness

    • B. Toe length

    • C. Heel length and base weight

    • D. Surcharge load

  4. What happens if the factor of safety against overturning is less than 1.5?

    • A. The wall is safe

    • B. The wall may slide

    • C. The wall may overturn

    • D. The wall is over-designed


Calculation Challenge#

Given:

  • Wall height \(( H = 5.0 \, \text{m} \))

  • Soil unit weight \(( \gamma_s = 18 \, \text{kN/m}^3 \))

  • Soil friction angle \(( \phi = 30^\circ \))

  • Surcharge \(( q = 10 \, \text{kN/m}^2 \))

Tasks:

  1. Calculate the Rankine active earth pressure coefficient \(( K_a \)).

  2. Compute the total lateral pressure \(( P_a \)).

  3. Estimate the overturning moment \(( M_o \)).

  4. If the base width is 3.0 m and thickness is 0.5 m, compute the resisting moment \(( M_r \)).

  5. Determine the factor of safety \(( FS \)).


Reflection Questions#

  1. Why is the pressure diagram triangular in shape, and how does surcharge affect it?

  2. How does increasing heel length improve stability against overturning?

  3. What are the limitations of using only overturning checks in retaining wall design?

  4. How would you modify the design for seismic conditions or water pressure behind the wall?

  5. What practical constraints (e.g., excavation limits, cost, aesthetics) might influence your design choices?


4. Simulation#

🧱 Retaining Wall Parametric Study – Factor of Safety (FS)#

This tool analyzes how changes in heel length or passive soil depth affect the Factor of Safety (FS) against overturning for a retaining wall. It helps engineers evaluate design sensitivity and optimize wall geometry.


🔧 Calculation Steps#

  1. Computes active earth pressure (Pa) using Rankine theory: \( P_a = \frac{1}{2} K_a \gamma H^2 + K_a q H \)

  2. Calculates overturning moment (Mo) from Pa.

  3. Varies either:

    • Heel Length: affects wall weight and resisting moment

    • Passive Depth: adds passive resistance and moment

  4. Computes resisting moment (Mr) and FS: \( FS = \frac{M_r + M_{passive}}{M_o} \)

  5. Plots FS vs. selected parameter and compares to required FS.


📊 How to Interpret Inputs#

Input Parameter

Meaning

Wall Height (H)

Height of retained soil

Soil γ, φ

Unit weight and friction angle of backfill soil

Concrete γ

Unit weight of wall material

Surcharge (q)

Additional surface load

Toe, Stem, Base

Wall geometry dimensions

Required FS

Minimum acceptable factor of safety

Vary

Select parameter to vary (Heel Length or Passive Depth)


📋 How to Interpret Outputs#

Output

Interpretation

FS Curve

Shows how FS changes with heel length or passive depth

Red Line

Required FS threshold for safe design

Above Line

Design is stable; FS meets or exceeds requirement

Below Line

Design is unsafe; adjust geometry or soil parameters


🧠 Conceptual Insight#

This tool supports retaining wall optimization by visualizing how geometric and soil parameters affect stability
enabling informed decisions for safe and efficient design.

# 📌 Run this cell in a Jupyter Notebook
import numpy as np
import matplotlib.pyplot as plt
import ipywidgets as widgets
from IPython.display import display, clear_output

# 📐 Parametric study function
def parametric_FS(H, gamma_s, phi, gamma_c, q, toe_length, stem_thickness, base_thickness, fs_required, vary_param):
    clear_output(wait=True)

    Ka = np.tan(np.radians(45 - phi / 2))**2
    Kp = np.tan(np.radians(45 + phi / 2))**2
    Pa_total = 0.5 * gamma_s * Ka * H**2 + Ka * q * H
    Mo = Pa_total * (H / 3)

    # Vary heel length or passive depth
    if vary_param == 'Heel Length':
        x_vals = np.linspace(0.5, 4.0, 50)
        fs_vals = []
        for heel_length in x_vals:
            base_width = toe_length + heel_length
            W_concrete = gamma_c * base_width * base_thickness
            Mr_weight = W_concrete * (base_width / 2)
            FS = Mr_weight / Mo
            fs_vals.append(FS)
        xlabel = 'Heel Length (m)'
    else:
        x_vals = np.linspace(0.0, 2.0, 50)
        fs_vals = []
        base_width = toe_length + 1.5  # fixed heel
        W_concrete = gamma_c * base_width * base_thickness
        Mr_weight = W_concrete * (base_width / 2)
        for h_passive in x_vals:
            Pp = 0.5 * gamma_s * Kp * h_passive**2
            Mp_passive = Pp * h_passive / 3
            FS = (Mr_weight + Mp_passive) / Mo
            fs_vals.append(FS)
        xlabel = 'Passive Depth (m)'

    # Plot
    plt.figure(figsize=(8, 5))
    plt.plot(x_vals, fs_vals, label='Factor of Safety', color='teal')
    plt.axhline(fs_required, color='red', linestyle='--', label=f'Required FS = {fs_required:.2f}')
    plt.xlabel(xlabel)
    plt.ylabel('Factor of Safety (FS)')
    plt.title(f'Parametric Study: FS vs. {xlabel}')
    plt.grid(True)
    plt.legend()
    plt.tight_layout()
    plt.show()

# 🎚️ Controls
H_slider = widgets.FloatSlider(value=4.0, min=2.0, max=10.0, step=0.5, description='Wall Height (m)')
gamma_s_slider = widgets.FloatSlider(value=18.0, min=16.0, max=22.0, step=0.5, description='Soil γ (kN/m³)')
phi_slider = widgets.FloatSlider(value=30.0, min=20.0, max=45.0, step=1.0, description='Soil φ (°)')
gamma_c_slider = widgets.FloatSlider(value=24.0, min=22.0, max=26.0, step=0.5, description='Concrete γ (kN/m³)')
q_slider = widgets.FloatSlider(value=10.0, min=0.0, max=30.0, step=1.0, description='Surcharge (kN/m²)')
toe_slider = widgets.FloatSlider(value=1.0, min=0.5, max=3.0, step=0.1, description='Toe Length (m)')
stem_slider = widgets.FloatSlider(value=0.3, min=0.2, max=0.6, step=0.05, description='Stem Thickness (m)')
base_slider = widgets.FloatSlider(value=0.5, min=0.3, max=1.0, step=0.05, description='Base Thickness (m)')
fs_slider = widgets.FloatSlider(value=1.5, min=1.2, max=2.0, step=0.1, description='Required FS')
param_dropdown = widgets.Dropdown(options=['Heel Length', 'Passive Depth'], value='Heel Length', description='Vary')

interactive_study = widgets.interactive(
    parametric_FS,
    H=H_slider,
    gamma_s=gamma_s_slider,
    phi=phi_slider,
    gamma_c=gamma_c_slider,
    q=q_slider,
    toe_length=toe_slider,
    stem_thickness=stem_slider,
    base_thickness=base_slider,
    fs_required=fs_slider,
    vary_param=param_dropdown
)

display(interactive_study)

5. Self-Assessment#

🧠 Retaining Wall Design & Parametric Study: Quiz & Reflection#

This section helps reinforce key concepts from the retaining wall design tool and parametric analysis. It includes multiple-choice questions, conceptual prompts, and reflective challenges.


✅ Conceptual Questions#

  1. Which parameter most directly increases the resisting moment against overturning?

    • A. Stem thickness

    • B. Heel length

    • C. Surcharge load

    • D. Toe length

  2. Passive earth pressure is only mobilized when:

    • A. The wall is fully buried

    • B. The wall moves toward the soil in front of it

    • C. The surcharge exceeds the soil weight

    • D. The stem thickness is reduced

  3. In Rankine theory, the active earth pressure coefficient \(( K_a \)) decreases when:

    • A. Soil friction angle increases

    • B. Wall height increases

    • C. Concrete unit weight increases

    • D. Passive depth increases

  4. What does the failure envelope represent in the retaining wall visualization?

    • A. The maximum soil pressure

    • B. The required resisting moment for safe design

    • C. The depth of passive soil

    • D. The location of the water table


📐 Parametric Study Challenge#

You performed a parametric study of FS vs. heel length and found that FS = 1.5 when heel length = 2.2 m.

  1. What happens to FS if heel length is reduced to 1.5 m?

  2. How would increasing passive depth affect FS at fixed heel length?

  3. Why is it useful to plot FS vs. design variables before finalizing geometry?


🔍 Reflection Questions#

  1. How does the balance between overturning and resisting moments guide your design decisions?

  2. What practical constraints (e.g., excavation limits, cost, aesthetics) might limit heel length or passive depth?

  3. If FS is slightly below the required threshold, what are your options as a designer?

  4. How would the presence of water or seismic loads change your approach to stability analysis?

  5. Why is it important to visualize both pressure diagrams and moment comparisons in retaining wall design?


💡 Design Insight#

“Parametric studies reveal the sensitivity of your design to key variables. They help you make informed decisions, avoid overdesign, and ensure safety under varying conditions.”