Retaining walls & sheet piles¶
Three independent stability checks for gravity / cantilever walls, plus a sheet-pile embedment helper (Blum's simplified method).
Stability checks¶
Overturning¶
ge.wall_overturning(resisting_moments=[300, 150],
driving_moments=[100])
# {'M_resisting': 450, 'M_driving': 100, 'FS': 4.5}
Typical design target: \(FS \geq 2\).
Sliding¶
ge.wall_sliding(
horizontal_forces=[80],
vertical_forces=[200],
mu=0.6, # or delta=30 in degrees
c_base=10, B=3.0, # base cohesion contribution
Pp=15, # passive resistance at toe (optional)
)
# {'sum_V': 200, 'sum_H': 80, 'R_friction': 120,
# 'R_cohesion': 30, 'Pp': 15, 'R_total': 165, 'FS': 2.06}
Typical design target: \(FS \geq 1.5\).
Bearing & kern¶
Eccentric loading on the base. Inside the kern (\(e \leq B/6\)), the base is fully in contact; outside it, contact is partial:
ge.wall_bearing(V=400, M_net=200, B=4, q_ult=600)
# {'e': 0.5, 'q_max': ..., 'q_min': ..., 'within_kern': True,
# 'q_ult': 600, 'FS': ...}
Sheet pile — cantilever embedment (Blum)¶
For a cantilever sheet pile in cohesionless soil:
ge.sheet_pile(gamma=18, H=4, phi=30, kind="cantilever")
# {'Ka': 0.333, 'Kp': 3.0,
# 'D_theory': 1.51, 'D_design': 1.96,
# 'method': 'Blum cantilever (approximate)'}
API reference¶
wall_overturning
¶
wall_overturning(resisting_moments: Sequence[float], driving_moments: Sequence[float]) -> dict
Factor of safety against overturning.
FS_overturning = sum(M_R) / sum(M_O)
Returns dict with totals and FS.
Reference
Das (2014) Eq. 8.4.
Source code in geoeq/design/walls.py
wall_sliding
¶
wall_sliding(horizontal_forces: Sequence[float], vertical_forces: Sequence[float], mu: float = None, delta: float = None, c_base: float = 0.0, B: float = None, Pp: float = 0.0) -> dict
Factor of safety against sliding at the wall base.
FS_sliding = (sum_V * tan(delta) + c_a * B + Pp) / sum_H
| PARAMETER | DESCRIPTION |
|---|---|
horizontal_forces
|
Forces pushing the wall horizontally (kN/m of wall).
TYPE:
|
vertical_forces
|
Vertical forces resisting sliding (kN/m of wall).
TYPE:
|
mu
|
Coefficient of friction between base and soil. If given, used as
tan(delta). Otherwise computed from
TYPE:
|
delta
|
Base friction angle (degrees).
TYPE:
|
c_base
|
Cohesion at base (kPa). Typically c_a ~ 0.5 to ⅔ of c'.
TYPE:
|
B
|
Base width (m). Required if c_base > 0.
TYPE:
|
Pp
|
Passive resistance at the toe (kN/m). Default 0.
TYPE:
|
Reference
Das (2014) Eq. 8.6.
Source code in geoeq/design/walls.py
wall_bearing
¶
Bearing-pressure distribution under a wall foundation.
Computes the eccentricity e, maximum and minimum toe pressures,
and -- if q_ult is given -- FS_bearing = q_ult / q_max.
| PARAMETER | DESCRIPTION |
|---|---|
V
|
Total vertical load (kN/m).
TYPE:
|
M_net
|
Net moment about the centreline of the base (kN.m/m). Positive = overturning sense.
TYPE:
|
B
|
Base width (m).
TYPE:
|
q_ult
|
Ultimate bearing capacity (kPa). If given, returns FS.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
dict
|
|
Reference
Das (2014) Eq. 8.8-8.10.
Source code in geoeq/design/walls.py
sheet_pile
¶
sheet_pile(gamma: float, H: float, phi: float, c: float = 0.0, gamma_sub: float = None, water_table: float = None, kind: str = 'cantilever') -> dict
Embedment depth of a sheet pile by Blum's simplified method.
Cantilever wall in cohesionless soil: Embedment depth D ~ found by satisfying moment equilibrium about the point of rotation. Closed-form approximation:
D ~ 1.2 to 1.5 * Dmin where Dmin from theoretical balance.
Practical (Das Eq. 14.6): for a cantilever sheet pile in dry cohesionless backfill of height H above the dredge line:
sigma_a = Ka * gamma * H at the dredge line
gamma_b = gamma below dredge line (gamma_sub if submerged)
Total embedment D ~ H * [ (Kp - Ka) / (gamma * Kp) ]^something
Returns the theoretical embedment D_theory and a design D = 1.3 * D_theory.
| PARAMETER | DESCRIPTION |
|---|---|
gamma
|
Unit weight of backfill (kN/m^3).
TYPE:
|
H
|
Free height above the dredge line (m).
TYPE:
|
phi
|
Friction angle (degrees).
TYPE:
|
c
|
Cohesion (kPa). For c-phi soils, applies Bell's solution; for c=0 uses the Blum equations.
TYPE:
|
gamma_sub
|
Submerged unit weight below the water table (kN/m^3).
TYPE:
|
water_table
|
Depth of the water table from the top (m).
TYPE:
|
kind
|
'cantilever' (only currently supported).
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
dict
|
|
Reference
Blum (1931); Das (2014) Ch. 14.