Stage 6 / slope stability

Slope stability: Bishop and Spencer

A technical note on the Stage 6 circular slope-stability workflow: terrain and phreatic geometry, soil regions derived from the active CPT, Bishop shortlist search, Spencer recheck, implemented slice algebra, and the behaviour of the interactive canvas.

Circular slip surfaces Bishop + Spencer Present implementation logic

1. Scope and present model

The Stage 6 slope module is a two-dimensional circular-slip limit-equilibrium tool built around a Bishop Simplified search with an optional Spencer verification pass. In the present implementation, the engineer may run either Bishop only or Bishop + Spencer check.

The present workflow employs the active CPT only as the soil source. The interpreted layer column from Stages 2 to 5 is converted into a slope soil model by extending those layers horizontally across the drawn section. Terrain, phreatic line, optional surcharge zone, and the entry and exit zones are then supplied by the Stage 6 canvas.

Present scope. The present Stage 6 module is limited to circular slip surfaces, self-weight loading, one optional uniform vertical surcharge zone, and optional pore pressure from the drawn hydrostatic phreatic line or, when the seepage workspace has been solved and enabled, sampled FEM seepage pore pressure. Spencer is implemented for shortlisted circular surfaces only. Seismic loading, reinforcement, non-circular surfaces, and Morgenstern–Price do not form part of the present implementation.
Present load model. The load feature comprises one optional uniform vertical surcharge zone drawn on the terrain with the same two-click workflow as the entry and exit zones. It is interpreted as a strip surcharge over a finite horizontal interval, and not as a concentrated point load or an inclined load.
2D cross-section, unit width, circular slip surfaces, self-weight plus one optional uniform surcharge zone, with Bishop search and optional Spencer recheck
Notation
F
factor of safety [-]
c′, φ′
effective strength parameters [kPa, °]
γ, γsat
dry and saturated unit weight [kN/m³]
u
pore-water pressure on the slice base [kPa]
q
uniform surcharge intensity on a drawn terrain interval [kPa = kN/m²]
Qi
vertical surcharge contribution acting on slice i [kN/m]
Vi
total vertical slice load, with self-weight and surcharge included [kN/m]
  • The Bishop module sits within the existing Stage 6 state and therefore preserves the interpreted CPT workflow.
  • The full search is always executed with Bishop Simplified; Spencer is applied only to the shortlisted circles.
  • The exposed search mode is entry-exit search; no separate centre-grid mode is presently exposed in the interface.
  • The present implementation remains experimental, but it forms part of the visible Stage 6 workflow and the Stage 7 report payload.

2. Coordinates and sign conventions

The Bishop canvas uses world coordinates with x positive to the right and y positive upward. Terrain, phreatic line, entry zone, exit zone, and slip circles are all defined in that same world system. Screen pan and zoom are applied only in the rendering layer; the solver itself receives world coordinates only.

The present implementation stores a signed base angle per slice. The sign is taken relative to the chosen movement direction from entry to exit, so the same circular geometry can be evaluated consistently whether the active branch lies on the lower or upper half of the parent circle.

x → right, y → upward
αi = atan(−(dy/dx)base,i · sign(xexit − xentry))
Notation
x, y
world coordinates on the Stage 6 section canvas [m]
αi
signed slice-base inclination for slice i [rad internally, ° in user-facing tables]
(dy/dx)base,i
slope of the active slip branch at the slice base midpoint [-]
xentry, xexit
entry and exit abscissae of the active slip branch on the terrain [m]
Implementation note. Unsigned base angles are no longer enforced. The signed-angle convention is essential for circles that pass across the lowest point of the arc, because the sign of α changes over the span and directly affects the Bishop driving term.

3. Geometry and soil model

3.1 Terrain and phreatic polyline

The terrain is a user-drawn x-monotonic polyline. The application enforces left-to-right vertex ordering, and the terrain is queried by linear interpolation. The optional phreatic surface is another polyline in the same coordinate system.

y(x) = yj + (yj+1 − yj) · (x − xj) / (xj+1 − xj)
Notation
y(x)
interpolated terrain or phreatic elevation at abscissa x [m]
x
query abscissa along the polyline span [m]
xj, xj+1
abscissae of consecutive polyline vertices [m]
yj, yj+1
ordinates of consecutive polyline vertices [m]

3.2 Soil model from the active CPT

The present application does not interpolate between multiple CPTs. Instead, it takes the active interpreted layer column and extends it horizontally across the full Bishop model width. The top band follows the drawn terrain, the intermediate bands are horizontal at the layer boundary elevations referenced to the active CPT position, and the deepest band extends down to the selected Bishop analysis depth.

The analysis depth defaults to the CPT depth or 15 m, whichever is greater. If the engineer elects to analyse to a greater depth, the bottom layer is simply extrapolated downward.

yground,CPT = yterrain(xCPT)
yboundary,k = yground,CPT − zboundary,k
ybottom = yground,CPT − max(zCPT,max, 15)    by default
Notation
yground,CPT
terrain elevation at the active CPT position [m]
yterrain(x)
terrain elevation function obtained by polyline interpolation [m]
xCPT
abscissa of the active CPT marker [m]
zboundary,k
depth of interpreted layer boundary k below CPT ground level [m]
yboundary,k
world elevation of layer boundary k [m]
zCPT,max
maximum interpreted CPT depth used by the Bishop section [m]
ybottom
default lower elevation of the Bishop section [m]
  • The first band follows terrain at the top boundary.
  • Lower bands are clipped so they never extend above terrain.
  • The present implementation builds closed, non-overlapping band polygons for rendering and region inspection.

3.3 Material sets and design values

Bishop materials are imported automatically from the active CPT layers. The user may select between Characteristic, DA1/1 (M1), and DA1/2 (M2). For the design-value sets, the module reuses the same soil-parameter reduction logic as the remainder of Stage 6 before assigning Bishop base materials.

Bishop material source modes used in the present implementation.

ModeMeaning in the present implementation
CharacteristicImports layer c′, φ′, γ, and γsat directly from the active CPT interpretation.
DA1/1 (M1)Imports the layer after applying the M1 soil-side design route.
DA1/2 (M2)Imports the layer after applying the M2 soil-side design route.

5. Slice generation and multi-layer handling

5.1 Slice boundaries

The implementation commences from an equally spaced slice backbone and then inserts additional cut positions at every relevant x-location: terrain vertices, phreatic vertices, slip-circle intersections with horizontal layer boundaries, and phreatic intersections with the active slip branch. The resulting cut set is then cleaned against a minimum slice width.

xcuts = {xentry, xexit, xbackbone, xterrain breaks, xlayer intersections, xphreatic intersections}
Notation
xcuts
set of slice-cut abscissae before minimum-width cleanup [m]
xentry, xexit
entry and exit abscissae of the active slip branch [m]
xbackbone
equally spaced backbone slice-cut coordinates [m]
xterrain breaks, xlayer intersections, xphreatic intersections
additional geometry-driven cut coordinates [m]
Current surcharge rule. The load-zone start and end x-coordinates are also treated as mandatory cut positions so the applied load is not smeared across slices that only partly overlap the loaded interval.

5.2 Slice geometry and base material

For each slice, the top is the terrain, the base is the active circular branch, and the base material is found by probing slightly into the sliding mass just above the base at the slice midpoint.

bi = Δxi,    li = Δxi / cos αi
Notation
bi
horizontal slice width for slice i [m]
Δxi
difference between consecutive slice-cut abscissae [m]
li
true circular base length of slice i [m]
αi
signed base inclination of slice i [rad internally, ° in tables]

5.3 Multi-layer slices in the present implementation

If a slice body passes through more than one soil layer, the present implementation handles it in the standard Bishop v1 manner:

  • Weight includes contributions from all layers intercepted by the slice body.
  • Strength uses the material at the slice base only.

The present implementation computes layer-wise slice weight by integrating the overlapped band thickness and unit weight across the slice width by Simpson integration. It also stores the per-layer breakdown in layerAreas for inspection in the user interface.

Wi = Σj Wij
Wij ≈ ∫ γj(x) · tij(x) dx
(c′i, φ′i) = material at the slice base midpoint
Notation
Wi
total self-weight of slice i [kN/m]
Wij
contribution of intercepted soil layer j to slice weight [kN/m]
γj
unit weight assigned to layer j [kN/m³]
tij(x)
vertical thickness of layer j inside slice i at abscissa x [m]
c′i, φ′i
effective strength parameters assigned to the slice base [kPa, °]
Present behaviour. The application attempts to place slice cuts at horizontal layer-boundary intersections so that one soil type remains along each base segment. If a very narrow interval is later merged by the minimum-slice-width cleanup, the strength side falls back to the material at the base midpoint.

6. Implemented theory

This section documents the algebra actually used by the application. It is deliberately narrower than a full textbook treatment: the production code solves a circular Bishop equation for every trial surface, then optionally performs a Spencer force-equilibrium check on the shortlisted circles and reranks those results.

6.1 Bishop equation actually solved in the present implementation

The Bishop search uses the slice vertical load Vi = Wi + Qi, where Wi is the integrated self-weight and Qi is the surcharge overlap load for the slice. The factor of safety is obtained from the fixed-point form set out below.

mα,i(F) = cosαi + [sinαi tanφ′i] / F
F = Σ[(c′ibi + (Vi − uibi)tanφ′i) / mα,i(F)] / Σ[Vi sinαi]
Notation
F
factor of safety [-]
mα,i(F)
Bishop geometry-strength denominator term for slice i [-]
c′i
effective cohesion at the slice base [kPa]
bi
slice width [m]
Vi
total vertical slice load, with self-weight and surcharge [kN/m]
ui
average pore pressure acting on the slice base [kPa]
φ′i, αi
effective base friction angle and base inclination [°, °]
Algebra form used in the solver. The Bishop fixed-point iteration is evaluated in the width form c′ibi and uibi. These are exact projections of the textbook length-form quantities c′ili and uili via licosαi = bi, after the moment equation is divided by cosαi. Width form and length form are therefore algebraically equivalent for circular surfaces; the choice is one of bookkeeping, not of theory. The Fellenius seed and the Spencer recheck in §6.3 still use the true base length li where the Mohr-Coulomb law is expressed directly, keeping both conventions visible in the code.

In the present code, bi = Δxi is the horizontal slice width and li = Δxi/cosαi is still stored as the geometric base length. The Bishop iteration itself, however, is evaluated in the width form shown above.

6.2 Seed and slice diagnostics

The recorded Fellenius seed is evaluated on the true base length, even though the governing Bishop fixed-point iteration itself remains in the width form shown above:

Ffellenius = Σ[c′ili + (Vicosαi − uili)tanφ′i] / Σ[Vi sinαi]

If that Fellenius value is non-finite or non-positive, the Bishop iteration falls back to the configured initial factor of safety; the raw Fellenius value is still retained as a QA diagnostic. After convergence, the application back-calculates the Bishop slice total normal force and mobilised shear for reporting by the same width-based algebra:

Ni = [Vi − ((c′ibi − uibitanφ′i)sinαi) / F] / mα,i(F)
Ti = [c′ibi + (Ni − uibi)tanφ′i] / F
Notation
Ffellenius
ordinary-method seed factor of safety used as a Bishop starting value [-]
li
true slice-base length [m]
Ni
Bishop total base normal force for slice i [kN/m]
Ti
mobilized shear force on the slice base [kN/m]

These are the values exposed in the Stage 6 slice table for the selected Bishop result. They do not constitute an independent solver; they are diagnostics consistent with the governing Bishop equation used by the application. When a Spencer result is displayed, the normal-force column switches to the Spencer effective normal N′ rather than reusing the Bishop total-normal diagnostic.

6.3 Spencer algebra used for the recheck

For circular surfaces, the application now performs a full Spencer solve. The Bishop result is retained as a search engine and comparison value, but not as the Spencer moment branch:

For circular surfaces with radius R and centre C, the two branch residuals are written explicitly as:

Rm(F, λ) = R · [ΣSi − ΣVi sinαi]
Rf(F, λ) = En,right
Si = [c′ili + N′itanφ′i] / F

For a given trial factor of safety F and a constant interslice-force ratio λ = X/E, the application propagates slice forces from left to right with E0 = 0, computes both the force-closure residual and the overall moment residual, and then solves the two Spencer branches Fm(λ) and Ff(λ). The moment branch Fm(λ) is the factor of safety for which ΣSi = ΣVi sinαi at the fixed λ. The force branch Ff(λ) is the factor of safety for which E propagated left-to-right with X = λE closes to zero at the last slice.

a1,i = sinαi − [tanφ′i cosαi] / F
a0,i = EL,i + uibitanαi − c′ibi / F
N′i = [Vi + λEL,i − λa0,i − uibi − c′ibitanαi/F] / [mα,i(F) + λa1,i]
ER,i = a0,i + a1,iN′i
XR,i = λER,i
Notation
Rm(F, λ)
Spencer moment residual for a trial pair (F, λ) [kN/m after cancellation of the common radius]
Rf(F, λ)
Spencer force-closure residual, equal to the rightmost propagated interslice normal force [kN/m]
R
slip-circle radius [m]
Si
mobilized Spencer base shear for slice i [kN/m]
N′i
effective base normal force in Spencer theory [kN/m]
EL,i, ER,i
left and right interslice normal forces [kN/m]
XL,i, XR,i
left and right interslice shear forces [kN/m]
λ
constant interslice-force ratio X/E [-]
a0,i
slice recursion coefficient carrying force terms in the Spencer propagation [kN/m]
a1,i
dimensionless Spencer recursion coefficient multiplying N′i [-]

For a fixed λ, the application finds Fm(λ) from the Spencer moment residual and Ff(λ) from the final force-closure residual Efinal = ER,n. Because both the resisting term ΣSi and the driving term ΣVi sinαi act on the same lever arm R for a circular surface, the R factor cancels in the Fm solve. The code therefore reports Rm in unit kN/m as a force residual per metre run rather than in kN·m/m. It then scans and brackets λ and concludes with bisection on g(λ) = Fm(λ) − Ff(λ).

The reported Spencer diagnostics now follow the classical sign convention used in the literature: positive λ and positive ER correspond to the solver’s compression-positive interslice chain.

Present Spencer defaults. The present Stage 6 module starts from a λ bracket of −0.6 to +0.6, uses branch tolerances of 0.001 on both the Spencer moment and force solves, accepts the outer solve on the branch-intersection residual |Fm − Ff| ≤ 0.001, and uses up to 20 outer and 30 inner iterations by default. The settings panel still retains a λ tolerance field for backward compatibility with older saved configs, but the present solver does not use a separate λ-collapse acceptance test. Spencer still rechecks only the top shortlisted Bishop circles. If Spencer cannot converge, the Bishop result is retained and the fallback is flagged in the interface and report.

6.4 Search architecture used by the present implementation

The solver architecture is intentionally asymmetric:

  • Bishop is used for the full circle search because it is fast and robust.
  • Spencer is run only on the shortlisted circles, not on every trial surface.
  • When Spencer converges, the shortlisted circles are reranked by Spencer F.
  • When Spencer fails on a shortlisted circle, the Bishop result is retained with a visible fallback note.
Notation
Δxi
horizontal slice width [m]
li
slice-base length [m]
Wi
slice weight [kN/m]
ui
average base pore pressure [kPa]
Ni, Ti
Bishop total base normal force and mobilized shear force [kN/m]
N′i
Spencer effective base normal force [kN/m]
EL, ER
left and right interslice normal forces [kN/m]
XL, XR
left and right interslice shear forces [kN/m]
λ, θ
constant Spencer interslice-force ratio and corresponding angle [-, °]

6.5 Uniform surcharge zone

The present application supports one optional uniform vertical surcharge zone drawn on the terrain between xq,start and xq,end. The entered value q is interpreted as a strip surcharge in kPa, which is numerically equal to kN/m². In the 2D unit-width Bishop model, that surcharge becomes an added vertical line load on each slice according to the part of the slice width that overlaps the drawn zone.

bload,i = max(0, min(xR,i, xq,end) − max(xL,i, xq,start))
Qi = q · bload,i
Vi = Wi + Qi
Notation
bload,i
portion of slice width overlapped by the surcharge zone [m]
xL,i, xR,i
left and right abscissae of slice i [m]
xq,start, xq,end
start and end abscissae of the drawn surcharge zone [m]
Qi
vertical surcharge contribution acting on slice i [kN/m]
q
uniform surcharge intensity [kPa = kN/m²]
Vi, Wi
total vertical slice load and self-weight [kN/m]

In practice, the present surcharge implementation simply replaces Wi by Vi wherever the Bishop solver uses the slice vertical load. The surcharge remains vertical and downward only; no load angle, horizontal component, or concentrated line-load distribution is assumed in this v1 step.

  • The load applies only over slices that overlap the drawn zone and is zero outside it.
  • The load is stored slice-by-slice as Qi so that the interface may show soil weight, surcharge, and total vertical load separately.
  • The two-click terrain-anchored interaction should match the existing entry and exit zone workflow.
Implementation note. The present Stage 6 canvas shows the load zone as a highlighted terrain segment with a single intensity input q. If q = 0, the zone can remain drawn but contributes no surcharge to the slices.
Show present fixed-point workflow
1. Build all valid trial circles from the entry-exit search.
2. Compute the recorded Fellenius seed:
   F_fellenius = Σ[c′·l + (V cosα − u·l)tanφ′] / Σ[V sinα]
   If F_fellenius is non-positive or non-finite, start Bishop from initialFS.
3. Solve each circle with Bishop Simplified using:
   F = Σ[(c′·b + (V − u·b)tanφ′) / mα(F)] / Σ[V sinα]
4. Rank all circles by Bishop F.
5. If Spencer mode is on, recheck only the shortlisted circles:
   a. Solve Fm(λ) from the Spencer moment residual
   b. Solve Ff(λ) from left-to-right force propagation
   c. Find λ where Fm(λ) = Ff(λ), using the residual intersection criterion
6. If Spencer converges, rerank the shortlist by Spencer F.
7. If Spencer fails, keep the Bishop result and flag the fallback.

7. Present Stage 6 implementation

The present implementation is intentionally narrower than a general slope-stability package. The points set out below describe what the present Stage 6 circular solver actually does at present.

Stage 6 slope-stability defaults and solver settings in the present implementation.

ItemPresent implementation behaviour
Soil sourceActive CPT only, extended horizontally across the section
Method modeBishop only or Bishop + Spencer check
Search modeEntry-exit search
Entry / exit samples10 / 10 by default
Centers per chord15 by default
Target slices30
Max iterations50
Tolerance1e−4
Minimum mα1e−6
Spencer shortlistTop 10 circles by default, capped by the prevailing keep-best setting
Spencer λ bracket−0.6 to +0.6 by default
Spencer branch tolerances0.001 on the Spencer moment branch and 0.001 on the Spencer force branch
Spencer convergenceResidual-based on |Fm − Ff|, 0.001 by default
Spencer outer / inner iterations20 / 30 by default
Pore pressureDry if no phreatic line is drawn; otherwise hydrostatic from the drawn phreatic line by default, with optional sampled FEM pore pressure from the seepage workspace when enabled. Outside the seepage mesh, or without a seepage result, the solver falls back to the hydrostatic route.
Surface loadOne optional uniform vertical surcharge zone on the terrain, with one shared q input in kPa
ExecutionWorker-backed search so the canvas remains responsive while solving
  • The active branch of the parent circle is resolved first and is stored with the trial circle for both rendering and solving.
  • The results table stores ranked circles sorted by increasing FOS, using Spencer F for converged Spencer results and Bishop F for flagged fallbacks.
  • The canvas may display the trial circle under evaluation while the worker is running.
  • Selected Bishop results expose slice-by-slice values including Wi, Qi, Vi, αi, ui, mα,i, the Bishop total normal Ni, and mobilized shear.
  • When Spencer converges, the selected result relabels the normal column to the Spencer effective normal N′i and also exposes ER, XR, Smob, λ, the branch values Fm and Ff, and the final moment and force residuals.
  • If FEM pore pressure is enabled, slice-base pore pressure is sampled from the seepage field; outside the seepage mesh or without a seepage result, the solver falls back to the hydrostatic phreatic model.
  • The Stage 7 report payload presently stores summary-level Bishop/Spencer values, convergence counts, and Spencer residual diagnostics, but not the full slice-force table.

8. Interactive canvas workflow

The Bishop module is not merely a numerical solver; it is a geometry-driven Stage 6 workflow. The canvas therefore forms part of the technical method. Geometry edits invalidate stale results forthwith, and the search runs only on the present canvas state.

  1. Draw terrain left to right and accept it with Finish line or right-click.
  2. Place the active CPT marker on that terrain.
  3. Optionally draw the phreatic line.
  4. Optionally draw the load zone on the terrain and assign the surcharge intensity q.
  5. Draw the entry and exit daylight zones on the terrain.
  6. Run either Bishop only or Bishop + Spencer check.

The load zone uses the same terrain-anchored two-click interaction as the entry and exit zones: first click for the start of the loaded interval, second click for the end, whereafter the surcharge intensity q is assigned.

The present canvas also supports metric grid display, snap-to-grid, continuous coordinate readout, middle-mouse panning, wheel zoom, hover tooltips for soil regions, a live trial-circle preview while the worker is evaluating circles, and a result table that shows the active method for each shortlisted circle.

9. Verification and testing

The recommended verification order is numerical first, thereafter geometric, and then benchmark comparison. The present implementation therefore has two numerical layers to verify: the Bishop search itself and the Spencer recheck on the shortlisted circles.

  • Check one homogeneous dry slope against a hand or spreadsheet calculation.
  • Check one slope with a phreatic line to verify the implemented u·b treatment in the Bishop equation.
  • Check one layered slope to verify the distinction between full-slice weight and base-material strength.
  • Check one near-steep exit case to verify the exit-angle and mα filters.
  • Check one slope with a finite loaded crest zone to verify slice-overlap logic and the expected reduction in FOS.
  • Check one benign circular case where Bishop and Spencer should agree closely.
  • Check one published Spencer benchmark, such as Fredlund & Krahn (1977) or a documented SLOPE/W case, to verify both the factor of safety and the sign of λ.
  • Check one case where Spencer is forced to fall back so that the interface and the Stage 7 report both show the fallback metadata cleanly.
Important. Passing code checks does not by itself validate the factor of safety. A Bishop solver ought always to be benchmarked against at least one known reference case before it is treated as a trusted engineering calculator.

10. Limitations and next steps

The present module is strongest where a circular rotational mechanism is a reasonable assumption. It is not the proper final framework for non-circular mechanisms, strong weak-seam control, reinforced slopes, or problems for which full force equilibrium is required.

  • The full search still relies on Bishop Simplified. Spencer is only a recheck on the shortlisted circles, not a full-search engine.
  • Bishop Simplified satisfies moment equilibrium and vertical slice equilibrium, but not full horizontal force equilibrium.
  • The Spencer implementation is presently limited to circular surfaces with a constant interslice-force ratio.
  • Non-circular failures and composite mechanisms are outside the scope of the present implementation.
  • The natural next upgrade path is Morgenstern–Price or another rigorous noncircular workflow on top of the same geometry and slice framework.
  • Later extension paths also include custom materials, multi-CPT interpolation, and richer pore-pressure models.

References

The references below frame both the Bishop Simplified theory and the present Stage 6 implementation choices.

  • Bishop, A.W. (1955) — The use of the slip circle in the stability analysis of slopes. Géotechnique, 5(1), 7–17.
  • Fellenius, W. (1927)Erdstatische Berechnungen. W. Ernst u. Sohn, Berlin.
  • Spencer, E. (1967) — A method of analysis of the stability of embankments assuming parallel inter-slice forces. Géotechnique, 17(1), 11–26.
  • Fredlund, D.G. & Krahn, J. (1977) — Comparison of slope stability methods of analysis. Canadian Geotechnical Journal, 14(3), 429–439.
  • Krahn, J. (2003) — The 2001 R.M. Hardy Lecture: The limits of limit equilibrium analyses. Canadian Geotechnical Journal, 40(3), 643–660. DOI: 10.1139/t03-024.
  • USACE EM 1110-2-1902 — Slope Stability. U.S. Army Corps of Engineers.
  • GeoStudio / SLOPE/W documentation — Bishop Simplified method, entry-exit search, and variable slice widths.
  • EN 1997-1:2004+A1:2013 — Eurocode 7 — Geotechnical design — General rules.
  • NBN EN 1997-1 ANB:2022 — Belgian National Annex to EN 1997-1.