OpenGeoRock
Source available · v0.1.235Pre-releaseAGPL-3.0-or-later

OGR Slip2D

A desktop program for two-dimensional slope stability by limit equilibrium, with a finite-element groundwater engine, probabilistic analysis and an official MCP server. The source code is public, so you can read every equation the program uses.

  OGR Slip2D · modeller
The OGR Slip2D modeller after an analysis: the grid of centres coloured by factor of safety, candidate circles, the critical circle in red, the results table and the Python terminal
Overview

Why we developed OGR Slip2D

Most of the software geotechnical engineers rely on is closed: if a factor of safety comes out at 1.32, there is no way to see how the program got there. OGR Slip2D is a new implementation, in plain Python, of the analysis practitioners run most often. It has a graphical interface and a test suite that anyone can inspect, and each method comes with the reference case it was validated against.

9
Methods of slices
7
Search algorithms
22
Strength models
9
Support types
7
Distributions
74
MCP tools
Limit equilibrium

Nine methods and seven search algorithms

You can run several methods in one analysis and compare their critical surfaces. The program handles circular, non-circular and composite surfaces, weak layers, slope limits and optimisation of the critical surface, and its focus objects filter the search before any surface is evaluated.

Each method has been validated against a published case or the slice tables of a reference manual. From the simplest to the most rigorous:

MethodEquilibrium
Ordinary / Felleniusmoment
Bishop simplifiedmoment
Janbu simplified · correctedforce
Corps of Engineers #1 · #2force
Lowe–Karafiathforce
Spencerforce + moment
GLE / Morgenstern–Priceforce + moment
The equations of each method →
Limit-equilibrium analysis computed by OGR Slip2D: 156 of 169 grid centres with a valid circle, critical factor of safety 1.290 (spencer)
Example
Two-layer slope
Spencer
1.290
Bishop · GLE
1.300 · 1.292
Groundwater

Seepage computed by finite elements

  • Triangular meshes over the material regions, with shared nodes along the interfaces between materials.
  • Saturated steady flow with an anisotropic conductivity tensor for each material.
  • Unsaturated flow with six permeability functions: simple, Brooks–Corey, Fredlund–Xing, Gardner, van Genuchten and user-defined.
  • The phreatic surface and the seepage faces are found by switching the boundary condition node by node.
  • Transient analysis in stages, with the mixed form of Richards' equation and a factor of safety for each stage. In a rapid drawdown, this gives the factor of safety as a function of time.
  • When no seepage analysis is needed: water tables, piezometric lines, ru, pressure grids, ponded water and B̄ excess pore pressure.
  groundwater · total head
The Interpret Groundwater window on a homogeneous earth dam with a toe drain: total-head contours over the finite-element mesh, flow vectors converging on the drain and the free surface
Steady seepage through a 15 m homogeneous dam with a toe drain. The solver gives the total head, the flow vectors and the free surface; the mesh has 873 nodes and the solution converged in 25 iterations.
  statistics · histogram
The Statistics window: histogram of 1 000 sampled factors of safety with the failure threshold and the mean marked, and the summary with the probability of failure and the reliability index
Monte Carlo analysis of the two-layer slope with 1 000 samples of three strength parameters. With Bishop's method, the mean factor of safety is 1.305, the probability of failure 0.5 % and the reliability index 2.69.
Probabilistic

Probability of failure and sensitivity analysis

  • Random variables for strengths, unit weights, hydraulic properties, supports, loads, seismic coefficients and the water table.
  • Seven distributions with relative truncation, Monte Carlo or Latin hypercube sampling, and correlation between cohesion and friction.
  • Global-minimum and overall-slope analyses, probability of failure, reliability index, convergence plots and the critical probabilistic surface.
  • Sensitivity sweeps that rank the inputs by their influence on the factor of safety.
Loads & design

Loads, supports and design codes

A section can carry supports, external loads and seismic action, and the design checks can follow Eurocode 7. The program also reads and writes DXF drawings, produces reports and can be driven by scripts.

Supports

End-anchored, grouted tieback (with and without friction), soil nail, pile or micropile, geosynthetic, helical anchor, retaining wall by equivalent fluid pressure, and user-defined. Supports can be active or passive, and a back analysis finds the force needed for a target factor of safety.

Loads and seismic

Distributed and line loads with five orientations, pseudo-static seismic coefficients and tension cracks with water. The program also finds the yield acceleration and, from acceleration records, the Newmark sliding-block displacement.

Eurocode 7

Partial factors for design approaches DA1-C1, DA1-C2, DA2 and DA3, or factors of your own. They are applied to a copy of the model, so the calculation does not modify your project.

DXF import and export

DXF import with layer detection and geometry clean-up, and DXF export of the model and the critical surfaces. Annotations, dimensions and images can be added on the canvas.

Reports

PDF reports of an analysis, property tables, images of the canvas in bitmap or SVG, and CSV exports of surfaces and slices.

Scripting

An embedded Python terminal with access to the open model, a command-line interface for batch runs, a Python API and the MCP server for AI agents.

Workflow

The three steps of an analysis

They are the same in the desktop program, from Python or through an agent. The model is a plain JSON .ogr file that all three can open.

01 · Model

Draw or import

Boundaries are drawn with the mouse, typed in as coordinates or imported from DXF. Then you assign materials to regions and add water, loads and supports.

02 · Compute

Search and solve

Each enabled method runs its search in the background, in parallel where possible, with a progress bar and a cancel button.

03 · Interpret

Read the result

Critical and ranked surfaces, slice data, free-body diagrams, line of thrust, charts along the slope and reports.

Specifications

Data sheet

Taken from the source code of version 0.1.235. If you find a difference between this page and the program, the program is right; let us know and we will correct the page.

Analysis
2D limit equilibrium, plane strain
Methods
Ordinary, Bishop, Janbu simplified & corrected, Spencer, GLE / Morgenstern–Price, Lowe–Karafiath, Corps of Engineers #1 & #2
Surfaces
Circular, non-circular, composite, weak layers
Searches
Grid, slope, auto-refine, block, path, simulated annealing, particle swarm
Strength models
22, from Mohr–Coulomb to generalised anisotropic
Pore pressure
Water table, piezometric lines, ru, grids, FE seepage, B̄, suction
Groundwater FE
Steady and transient, saturated and unsaturated, 6 permeability functions
Probabilistic
Monte Carlo, Latin hypercube, 7 distributions, sensitivity
Supports
9 types, active or passive, back analysis
Seismic
Pseudo-static, yield acceleration, Newmark displacement
Design codes
Eurocode 7 DA1-C1, DA1-C2, DA2, DA3, custom
Files
.ogr (JSON), DXF in and out, PDF reports, CSV, HDF5 results
Interfaces
Desktop (PySide6), Python terminal and API, CLI, MCP server
Languages
English and Spanish interface
Requirements
Python 3.11 or newer
Licence
AGPL-3.0-or-later · no warranty
Verification

A suite of 5 265 tests

The tests compare results with published cases, closed-form solutions and analytic identities. We do not use stored outputs of the program as references, because a stored output would also preserve any error it contained.