The complete onshore workflow — lab characterisation, site investigation, foundation design, soil dynamics, liquefaction — under one flat, validated, MIT-licensed API.
Plain dictionaries in, plain dictionaries out. Every formula cites its textbook source in the docstring. Every method is validated against published values.
import geoeq as ge # 1. Layered profile with water table p = ge.SoilProfile([ (0, 2, ge.Soil("Fill", gamma=18)), (2, 8, ge.Soil("Soft Clay", gamma=17, gamma_sat=18.5, phi=0, c=25, Cc=0.27, e=0.92)), (8, 20, ge.Soil("Dense Sand", gamma=19, gamma_sat=20.5, phi=35)), ], water_table=2.0) p.stress_at(10) # {'sigma': 188.0, 'u': 78.5, 'sigma_eff': 109.5} # 2. Bearing capacity (Meyerhof, square footing) ge.bearing_capacity(c=25, gamma=8.7, Df=2, B=3, L=3, phi=0, method="meyerhof") # 3. Liquefaction triggering (NCEER simplified) csr = ge.liquefaction_csr(amax=0.25, sigma_v=120, sigma_v_eff=70, z=6, Mw=7.0) crr = ge.liquefaction_crr(N160cs=12, method="youd_2001") ge.liquefaction_fos(csr["CSR"], crr["CRR"], Mw=7.0) # -> {'FS': 0.58, 'liquefies': True, 'MSF': 1.19}
170+ validated functions across nine modules. Each module covers the methods routinely used in lab characterisation, ground investigation, foundation design, and seismic assessment.
Phase relations, Atterberg, index properties, USCS, AASHTO, plasticity chart.
Particle size, direct shear, triaxial, oedometer, Proctor, permeability, CBR.
SPT, CPT (Robertson SBT), field vane, pressuremeter, plate load, pile load, field permeability, DCP.
SoilProfile with total / pore / effective stress, plotting, DataFrame export.
Boussinesq, bearing capacity (4 methods), settlement, earth pressure, retaining walls, pile design, slope stability, seepage.
Small-strain modulus, Darendeli G/Gmax + damping, Seed-Idriss / NCEER / Idriss-Boulanger triggering.
CSV, AGS4 (UK / AU / NZ standard), GEF-CPT (Netherlands), CPT container class.
Grain size, Proctor, Mohr, consolidation, SBT, bearing chart, isobars, Taylor, G/Gmax, liquefaction.
Python 3.9+ on any platform. Dependencies: numpy, matplotlib, scipy.
pip install geoeq
Open documentation