Skip to content

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.

Slope failure mechanism

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 ​

bash
pip install lythosfea
lythos gui                          # interface: http://127.0.0.1:8777/
lythos import --sample -o m.json    # try the drawing that ships with it

The distribution is lythosfea; what you import and run is lythos:

python
import lythos

Add pip install "lythosfea[dxf]" for binary DXF, splines or block references; plain ASCII DXF needs nothing extra.

From a clone, without installing:

bash
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 ​

PartWhat it does
lythos.core.mesherDelaunay refinement mesher; planarises the drawing, honours every layer and structural line, grades element size per region
lythos.core.materialsMohr-Coulomb with non-associated flow and a tension cut-off, linear elastic, concrete; exact return mapping in principal stress space
lythos.core.elements6-node triangles, Timoshenko beams, zero-thickness interfaces, anchors
lythos.core.solverStaged construction, adaptive sub-stepping, strength reduction
lythos.core.pilePile and wall sections from diameter, spacing and concrete grade
lythos.viz.plotsContours, deformed meshes, plastic points, section force diagrams
lythos.guiThe browser interface

Next steps ​

  • Examples — a slope factor of safety, an anchored deep excavation, a construction sequence from DXF, a pile wall section.
  • Reference — DXF rules, the validation table and the limitations.

Released under the AGPL-3.0 licence.