Python for Geotechnical Engineers
Automate Geotechnical Workflows
GeotechPython has been created to help geotechnical engineers learn and lead the transition to coding within their organisations.
Build practical, auditable geotechnical workflows in Python designed for real projects and real design reviews.
2
Live Tracks
EC7
Compliant
100%
Free to Read
bearing_capacity_ec7.py
# EC7 DA1 — Combination 1
import math
# Characteristic soil parameters
phi_k_deg = 34.0 # φ' (°)
c_k = 0.0 # c' (kPa)
B = 10.0 # width (m)
# DA1C1 partial factors
gamma_G = 1.35
gamma_Q = 1.50
# Bearing capacity factors
phi_d = math.radians(phi_k_deg)
Nq = math.exp(math.pi * math.tan(phi_d))
utilisation = Vd / Rd
▶ Output
Design_approach : EC7 DA1C1
Vd_kN : 4800.0
Rd_kN : 19284.3
utilisation : 0.249
✓ PASS — UC 0.25
━ SOUNDS FAMILIAR?
Every geotechnical engineer
has been here
The learning curve
"It took 3 hours to do what Excel does in 10 minutes."
That's the learning curve. It's normal and this blog will show you exactly how to pass that phase.
Reviewability
"No one senior can check Python code."
Every calculation here is designed to be reviewable line-by-line — even by engineers who don't code.
Getting started
"I don't know where to start with a blank Python file."
Start with one repeatable workflow: read → validate → export. This site shows you exactly how.
━ WHY GEOTECHPYTHON
Code that a reviewer
can sign off on
01
Transparent assumptions
Every variable has a name. Every partial factor is explicit. No hidden formula chains — just clean, readable Python that traces directly back to the code clause.
02
Reusable, not one-off
Write a bearing capacity check once, run it for 50 load cases in seconds. The workflow scales; the spreadsheet doesn't.
03
Built for practitioners
Every post comes from real project experience. No toy examples — just the patterns that actually appear in foundation design, GI interpretation, and FEM automation.
━ LEARNING TRACKS
Choose where to start
Four structured tracks, each focused on a real part of geotechnical practice. Follow one or mix as your work demands.
Track 01
Live
AGS Data &
GI Interpretation
GI Interpretation
Read, validate, and summarise ground investigation data. Build traceable pipelines from raw AGS files to clean design model inputs.
›Read AGS4 files with python-ags4
›Validate & export AGS data
›Automated borehole summaries (coming)
Track 02
Live
Auditable
Calculations
Calculations
Settlement, bearing capacity, retaining walls — coded with explicit assumptions and structured logs a senior engineer can sign off.
›Bearing capacity checks (EC7 DA1)
›Settlement calculations (coming)
›Sensitivity analysis patterns (coming)
Track 03
Coming
PLAXIS
Automation
Automation
Script your FEM models. Automate input, batch parameter studies, extract results — with QA governance built in from day one.
Track 04
Coming
Automated
Reporting
Reporting
Generate and update large geotechnical reports directly from Python — tables, summaries, and appendices rebuilt automatically every time your data changes.
›Auto-generate Word/PDF reports from scripts
›Live table updates from calculation outputs
›Notify me when Track 4 launches →
━ LATEST POSTS
What's been published
━ NEWSLETTER






