LythosFEA
Slopes and rock
2D finite element analysis
2D finite elements for slopes, embankments and deep excavations: factor of safety by strength reduction, staged construction, internal forces in walls and piles, sections and construction sequence straight from DXF.
$ pip install lythosfea- Run
lythos- Default port
- 8777
- Python
- 3.10+
- Version
- 0.1.0
- Licence
- AGPL-3.0
2D finite element analysis for geotechnical engineering: slopes, embankments and deep excavations, with factors of safety by strength reduction and internal forces in walls, piles and anchors.

Scope
- Slope stability — factor of safety by shear strength reduction (SSR), with the critical slip surface falling out of the deviatoric strain field rather than being assumed circular.
- Staged construction — embankments raised in lifts, excavations dug in stages, structures and anchors installed when they are built.
- Retaining structures — bored pile rows, diaphragm walls, sheet piles and linings, specified by diameter, spacing and concrete grade, reporting axial force, shear and bending moment along the member.
- Soil-structure interaction — Mohr-Coulomb interfaces with wall friction, pre-stressed ground anchors, struts and surcharge loads.
- Groundwater — hydrostatic pore pressure below a phreatic surface, with the horizontal pressure gradient carried as a seepage force.
- DXF import — read the section, and its construction sequence, straight out of the CAD drawing instead of retyping coordinates.
Everything runs from an interactive interface in the browser, from the command line, or as a Python script.
Screenshots
Quick start
pip install lythosfea
lythos gui # interface: http://127.0.0.1:8777/
lythos import --sample -o m.json # try the drawing that ships with itThe distribution is lythosfea; what you import and run is lythos:
import lythosAdd pip install "lythosfea[dxf]" for binary DXF, splines or block references; plain ASCII DXF needs nothing extra.
From a clone, without installing:
python main.py # the interface
python main.py run models/slope.json -o out # = lythos run ...Python 3.10+ with NumPy, SciPy and Matplotlib; if any is missing, main.py gives the command for your system rather than failing with an import error.
The interface
Draw the soil layers, drop in a wall, set the construction stages and press Run analysis. The server listens on the loopback address only; nothing leaves your machine. The interface runs in a browser rather than a desktop toolkit, so it works the same over a remote session, in a container or on a machine with no display.
What is inside
| Part | What it does |
|---|---|
lythos.core.mesher | Delaunay refinement mesher; planarises the drawing, honours every layer and structural line, grades element size per region |
lythos.core.materials | Mohr-Coulomb with non-associated flow and a tension cut-off, linear elastic, concrete; exact return mapping in principal stress space |
lythos.core.elements | 6-node triangles, Timoshenko beams, zero-thickness interfaces, anchors |
lythos.core.solver | Staged construction, adaptive sub-stepping, strength reduction |
lythos.core.pile | Pile and wall sections from diameter, spacing and concrete grade |
lythos.viz.plots | Contours, deformed meshes, plastic points, section force diagrams |
lythos.gui | The browser interface |