Chapter 10

Engineering Geology

Rock mechanics and properties, slope stability analysis, foundation engineering considerations, tunneling and underground construction, landslide risk assessment.

Engineering Geology

Engineering geology is the application of geological principles to engineering projects to ensure that structures are built safely and economically. Engineering geologists evaluate the stability of rock and soil materials, assess geologic hazards, and provide recommendations for construction and maintenance of engineering works.

Rock and Soil Properties

Index Properties

Physical Properties

  • Unit weight: γ=ρg\gamma = \rho g
  • Porosity: n=VvVtn = \frac{V_v}{V_t}
  • Void ratio: e=VvVse = \frac{V_v}{V_s}
  • Degree of saturation: S=VwVvS = \frac{V_w}{V_v}

Classification Systems

  • Soil Classification: USCS (Unified Soil Classification System)
  • Rock Classification: RQD (Rock Quality Designation), RMR (Rock Mass Rating)

Strength Properties

Shear Strength Parameters

The Mohr-Coulomb failure criterion:

τ=c+σtanϕ\tau = c + \sigma \tan\phi

Where τ\tau is shear strength, cc is cohesion, σ\sigma is normal stress, and ϕ\phi is angle of internal friction.

Rock Strength

  • Unconfined Compressive Strength (UCS): σc=PmaxA\sigma_c = \frac{P_{max}}{A}
  • Point Load Index: Is=PD2I_s = \frac{P}{D^2} (for rock samples)

Soil Strength

  • Effective stress principle: σ=σu\sigma' = \sigma - u
  • Consolidated Drained (CD) and Consolidated Undrained (CU) tests

Rock Mass Classification Systems

Rock Mass Rating (RMR)

RMR=R1+R2+R3+R4+R5RMR = R_1 + R_2 + R_3 + R_4 + R_5

Where:

  • R1R_1: Uniaxial compressive strength
  • R2R_2: RQD (Rock Quality Designation)
  • R3R_3: Spacing of discontinuities
  • R4R_4: Condition of discontinuities
  • R5R_5: Groundwater conditions

Q-System

Q=RQDJn×JrJa×JwSRFQ = \frac{RQD}{J_n} \times \frac{J_r}{J_a} \times \frac{J_w}{SRF}

Where:

  • RQDRQD: Rock Quality Designation
  • JnJ_n: Joint set number
  • JrJ_r: Joint roughness number
  • JaJ_a: Joint alteration number
  • JwJ_w: Water reduction factor
  • SRFSRF: Stress reduction factor

Geological Strength Index (GSI)

GSI=GSIbasicΔGSInonGSI = GSI_{basic} - \Delta GSI_{non}

Accounts for the structure and surface conditions of discontinuities.

Slope Stability Analysis

Factor of Safety

FS=Resisting forcesDriving forcesFS = \frac{\text{Resisting forces}}{\text{Driving forces}}

For slope stability: FS>1.31.5FS > 1.3-1.5 is typically required for safety.

Limit Equilibrium Methods

Infinite Slope Analysis

For cohesionless soils:

FS=tanϕtanβFS = \frac{\tan\phi}{\tan\beta}

Where β\beta is the slope angle.

For cohesive soils (planar failure):

FS=c+(γhcos2βu)tanϕγhsinβcosβFS = \frac{c' + (\gamma h \cos^2\beta - u)\tan\phi'}{\gamma h \sin\beta \cos\beta}

Where cc' is effective cohesion, ϕ\phi' is effective friction angle, hh is depth, and uu is pore water pressure.

Circular Arc Analysis (Swedish Circle Method)

FS=(cl+(Wcosαul)tanϕ)rWsinαrFS = \frac{\sum (c'l + (W\cos\alpha - u_l)\tan\phi')r}{\sum W\sin\alpha \cdot r}

Where cc' is cohesion, ll is arc length, WW is weight of slice, α\alpha is angle, and rr is radius.

Rock Slope Analysis

Planar Failure

FS=cA+(WcosψpUVsinψp)tanϕWsinψp+VcosψpFS = \frac{cA + (W\cos\psi_p - U - V\sin\psi_p)\tan\phi}{W\sin\psi_p + V\cos\psi_p}

Where AA is area of sliding surface, UU and VV are water forces, and ψp\psi_p is plane dip.

Wedge Failure

FS=R1tanϕ+R2tanϕTFS = \frac{R_1\tan\phi + R_2\tan\phi}{T}

Where R1R_1, R2R_2 are normal reactions, and TT is driving force.

Foundation Engineering

Bearing Capacity

Terzaghi's Bearing Capacity Equation

qu=cNc+γDfNq+0.5γBNγq_u = cN_c + \gamma D_f N_q + 0.5\gamma B N_\gamma

Where quq_u is ultimate bearing capacity, cc is cohesion, NcN_c, NqN_q, NγN_\gamma are bearing capacity factors, γ\gamma is unit weight, DfD_f is foundation depth, and BB is foundation width.

Foundation Types

  • Shallow foundations: Spread footings, mat foundations
  • Deep foundations: Piles, drilled shafts, caissons

Settlement Analysis

S=ΔσiHiEs,iS = \sum \frac{\Delta\sigma_i H_i}{E_{s,i}}

Where Δσi\Delta\sigma_i is stress change, HiH_i is layer thickness, and Es,iE_{s,i} is modulus of the layer.

Underground Excavations

Stress Analysis

In-situ Stress Measurement

  • Hydraulic fracturing: SH=3σhσH+TS_H = 3\sigma_h - \sigma_H + T
  • Overcoring methods: Borehole deformation

Stress Distribution Around Excavations

For circular tunnel in isotropic stress field:

σr=σ1+σ32σ1σ32cos2θ\sigma_r = \frac{\sigma_1 + \sigma_3}{2} - \frac{\sigma_1 - \sigma_3}{2}\cos 2\theta σθ=σ1+σ32+σ1σ32cos2θ\sigma_\theta = \frac{\sigma_1 + \sigma_3}{2} + \frac{\sigma_1 - \sigma_3}{2}\cos 2\theta

Where σ1\sigma_1, σ3\sigma_3 are principal stresses and θ\theta is angle from major principal stress.

Support Systems

Rock Support

  • Bolting: Mechanical, grouted, or friction bolts
  • Shotcrete: Sprayed concrete for surface support
  • Steel sets: Frame support systems

Support Design Parameters

Support pressure=KγH\text{Support pressure} = K \cdot \gamma \cdot H

Where KK is pressure coefficient, γ\gamma is unit weight, and HH is height of excavation.

Groundwater and Seepage

Darcy's Law

q=kAdhdlq = -kA\frac{dh}{dl}

Where qq is flow rate, kk is hydraulic conductivity, AA is area, and dh/dldh/dl is hydraulic gradient.

Seepage Effects

  • Piping: Internal erosion due to seepage
  • Heave: Upward pressure on structures
  • Liquefaction: Loss of shear strength in saturated sands

Geotechnical Investigation Program

Site Characterization

  • Subsurface exploration: Boring logs, geophysical surveys
  • Laboratory testing: Index properties, strength, permeability
  • In-situ testing: SPT, CPT, pressuremeter, dilatometer

Investigation Phases

  1. Preliminary: Desk study, existing data evaluation
  2. Detailed: Field exploration and testing
  3. Construction: Monitoring and quality control

Geohazards Assessment

Landslide Risk Assessment

Landslide Susceptibility

S=f(Geology,Morphology,Hydrology,Landuse)S = f(Geology, Morphology, Hydrology, Land_use)

Triggering Factors

  • Rainfall: IDI \cdot D (intensity × duration) relationships
  • Earthquake: Pseudo-static analysis with seismic coefficients
  • Human activities: Excavation, loading, vegetation removal

Other Geohazards

  • Earthquake hazards: Ground motion prediction
  • Volcanic hazards: Lahar flow modeling
  • Karst hazards: Sinkhole formation
  • Erosion hazards: Riverbank stability

Construction Considerations

Excavation Methods

  • Open cut: Suitable for shallow excavations
  • Caissons: Large diameter, deep excavations
  • Cut-and-cover: Tunneling method
  • Bored tunnels: TBM or conventional methods

Ground Improvement

  • Compaction: Dynamic, vibratory, or static
  • Grouting: Chemical, cement, or permeation
  • Reinforcement: Soil nails, micropiles, stone columns

Real-World Application: Dam Foundation Analysis

Engineering geology plays a crucial role in dam design and safety assessment.

Dam Foundation Assessment

# Dam foundation analysis
dam_data = {
    'height': 150,        # meters
    'width_at_base': 80,  # meters
    'reservoir_depth': 140,  # meters (max depth)
    'foundation_rock_type': 'granite',
    'fracture_frequency': 0.5,  # fractures per meter
    'water_pressure_ratio': 0.3  # u/γh (ratio of uplift pressure to weight)
}

# Calculate foundation bearing pressure
water_unit_weight = 9.81  # kN/m³
rock_unit_weight = 27  # kN/m³ (granite)

foundation_pressure = dam_data['height'] * rock_unit_weight  # kPa
reservoir_force = dam_data['reservoir_depth'] * water_unit_weight  # kPa

# Calculate uplift pressure (reduces effective bearing capacity)
uplift_pressure = dam_data['water_pressure_ratio'] * reservoir_force  # kPa
effective_pressure = foundation_pressure - uplift_pressure  # kPa

print(f"Dam height: {dam_data['height']} m")
print(f"Foundation pressure: {foundation_pressure:.0f} kPa")
print(f"Uplift pressure: {uplift_pressure:.0f} kPa")
print(f"Effective bearing pressure: {effective_pressure:.0f} kPa")

# Estimate rock quality using RQD (Rock Quality Designation)
# Assuming 1 meter core recovery with 0.5 fractures per meter
fracture_spacing = 1 / dam_data['fracture_frequency']  # meters
if fracture_spacing > 3:
    RQD_estimate = 90  # Excellent rock quality
elif fracture_spacing > 1:
    RQD_estimate = 70  # Good rock quality
elif fracture_spacing > 0.5:
    RQD_estimate = 50  # Fair rock quality
else:
    RQD_estimate = 30  # Poor rock quality

print(f"Estimated RQD: {RQD_estimate}%")

# Calculate safety factor against sliding
# Sliding resistance = Normal force × tan(friction angle) + Cohesion × Area
# Driving force = Horizontal water force
friction_angle = 40  # degrees (typical for granite)
cohesion = 1000  # kPa (typical for granite)

normal_force = effective_pressure * dam_data['width_at_base']  # kN per meter width
sliding_resistance = normal_force * math.tan(math.radians(friction_angle)) + cohesion * dam_data['width_at_base']
driving_force = 0.5 * water_unit_weight * dam_data['reservoir_depth']**2  # kN per meter width (triangular pressure)

safety_factor_sliding = sliding_resistance / driving_force

print(f"Factor of safety against sliding: {safety_factor_sliding:.2f}")
print(f"Required safety factor: 1.5 or greater")

# Assessment
if safety_factor_sliding > 1.5:
    stability_assessment = "Stable against sliding"
else:
    stability_assessment = "Unstable - additional anchoring required"

print(f"Stability assessment: {stability_assessment}")

Foundation Treatment Options

Based on the geotechnical assessment, determine if foundation treatment is needed.


Your Challenge: Slope Stability Analysis

Analyze the stability of a natural slope and design appropriate stabilization measures.

Goal: Calculate the factor of safety for a slope and evaluate stabilization options.

Slope Data

import math

# Natural slope data
slope_data = {
    'height': 30,           # meters (slope height)
    'angle': 35,            # degrees (slope angle)
    'soil_type': 'clay',    # clay, sand, or rock
    'cohesion': 25,         # kPa (undrained shear strength)
    'friction_angle': 28,   # degrees (angle of internal friction)
    'unit_weight': 18,      # kN/m³ (unit weight of soil)
    'water_table_depth': 5, # meters (depth to water table)
    'slope_length': 50      # meters (horizontal projection)
}

# For circular arc analysis using simplified method
# Assume homogeneous soil and circular failure surface
slope_height = slope_data['height']
slope_angle_deg = slope_data['angle']
cohesion = slope_data['cohesion']
friction_angle_deg = slope_data['friction_angle']
unit_weight = slope_data['unit_weight']

# Calculate slope angle in radians
slope_angle_rad = math.radians(slope_angle_deg)
friction_angle_rad = math.radians(friction_angle_deg)

# Calculate driving force (weight component parallel to slope)
weight = unit_weight * slope_height * slope_data['slope_length']  # kN per unit width
driving_force = weight * math.sin(slope_angle_rad)

# Calculate resisting force (shear strength along failure surface)
failure_surface_length = slope_height / math.sin(slope_angle_rad)  # length of failure surface
normal_force = weight * math.cos(slope_angle_rad)

# Calculate effective stress at water table depth
if slope_data['water_table_depth'] < slope_height:
    # Saturated unit weight calculation
    submerged_unit_weight = unit_weight - 9.81  # kN/m³
    average_unit_weight = (slope_data['water_table_depth'] * unit_weight + 
                          (slope_height - slope_data['water_table_depth']) * submerged_unit_weight) / slope_height
else:
    average_unit_weight = unit_weight

# Calculate effective normal stress
effective_normal_stress = normal_force - 9.81 * slope_data['water_table_depth'] * failure_surface_length / slope_data['slope_length']

# Calculate shear strength
shear_strength = cohesion + effective_normal_stress * math.tan(friction_angle_rad)
resisting_force = shear_strength * failure_surface_length

# Calculate factor of safety
factor_of_safety = resisting_force / driving_force

Analyze the slope stability and recommend appropriate stabilization measures.

Hint:

  • Use the method of slices or simplified approach for circular failure
  • Consider the effect of groundwater on slope stability
  • Evaluate different stabilization options based on factor of safety
  • Consider both internal and external stability
# TODO: Calculate slope stability parameters
factor_of_safety = 0  # Factor of safety against slope failure
critical_slip_surface_radius = 0  # meters (radius of critical circular failure surface)
driving_force = 0     # kN/m (force causing slope movement)
resisting_force = 0   # kN/m (force resisting slope movement)
pore_pressure_ratio = 0  # ru (ratio of pore pressure to total stress)

# Assess slope stability based on factor of safety
if factor_of_safety > 1.5:
    stability_status = "Stable"
elif factor_of_safety > 1.3:
    stability_status = "Marginally stable"
else:
    stability_status = "Unstable"

# Evaluate stabilization options
stabilization_options = []
if factor_of_safety < 1.3:
    if slope_data['soil_type'] == 'clay':
        stabilization_options.append("Install drainage system")
        stabilization_options.append("Use soil nails or anchors")
    else:  # for sand or granular soils
        stabilization_options.append("Install drainage system")
        stabilization_options.append("Modify slope geometry")
        stabilization_options.append("Install retaining structure")

# Calculate required improvement
if factor_of_safety < 1.3:
    required_improvement = 1.3 / factor_of_safety  # factor needed to reach acceptable safety
else:
    required_improvement = 1.0

# Print results
print(f"Factor of safety: {factor_of_safety:.2f}")
print(f"Stability status: {stability_status}")
print(f"Required improvement: {required_improvement:.2f}x")
print(f"Suggested stabilization options: {stabilization_options}")
print(f"Critical slip surface radius: {critical_slip_surface_radius:.1f} m")

# Additional considerations
if slope_data['water_table_depth'] < 10:
    groundwater_issue = "Groundwater significantly affecting stability"
else:
    groundwater_issue = "Groundwater not critical for stability"
    
print(f"Groundwater considerations: {groundwater_issue}")

What additional geotechnical investigations would you recommend before finalizing the slope stabilization design?

ELI10 Explanation

Simple analogy for better understanding

Think of engineering geology like being a geologist who works with builders and architects to make sure structures like buildings, bridges, tunnels, and dams are built safely on or in the ground. It's like having a geologist as a safety consultant who examines the ground before construction starts to make sure the foundation won't sink, the slopes won't collapse, and tunnels won't cave in. Engineering geologists study how rocks and soil will behave under the weight and stress of buildings, and they help engineers design structures that work with the natural properties of the ground rather than fight against them. They're the bridge between understanding Earth materials and building safely on them.

Self-Examination

Q1.

What are the key rock and soil properties that affect engineering projects?

Q2.

How is slope stability analyzed and what factors influence failure?

Q3.

What geotechnical investigations are needed for major construction projects?