Lythos Bearing — reference
The general equation
q_ult = c·Nc·sc·dc·ic·bc·gc·Fc + q·Nq·sq·dq·iq·bq·gq·Fq + ½·γ·B′·Nγ·sγ·dγ·iγ·bγ·gγ·Fγs, d, i, b, g and F are the shape, depth, load-inclination, base-tilt, ground-slope and compressibility corrections. Each method brings its own factors and its own corrections; a correction the method does not define is 1 and is reported as 1.
| Method | Nq | Nc | Nγ | Corrections |
|---|---|---|---|---|
| Terzaghi (1943) | e(3π/2 − φ)tan φ / (2 cos²(45 + φ/2)) | (Nq − 1)cot φ; 5.7 at φ = 0 | Bowles's fit 2(Nq + 1)tan φ / (1 + 0.4 sin 4φ) | shape only |
| Meyerhof (1963) | eπ tan φ·tan²(45 + φ/2) | (Nq − 1)cot φ; π + 2 at φ = 0 | (Nq − 1)tan(1.4φ) | s, d, i |
| Brinch Hansen (1970) | as Meyerhof | as Meyerhof | 1.5(Nq − 1)tan φ | s, d, i, b, g |
| Vesić (1973) | as Meyerhof | as Meyerhof | 2(Nq + 1)tan φ | s, d, i, b, g, F |
| EN 1997-1 Annex D | as Meyerhof | as Meyerhof | 2(Nq − 1)tan φ | s, i, b (d, g borrowed on request) |
| Skempton (1951) | — | 5(1 + 0.2B/L)(1 + 0.2D/B) ≤ 7.5(1 + 0.2B/L) | — | inside Nc |
Inputs
| Group | Fields |
|---|---|
| Foundation | shape (rectangle, square, strip, circle), B (diameter of a circle), L, depth Df, base tilt η, ground slope β |
| Actions at the base | V, horizontal loads along B and L, moments about both axes, the variable share of the actions (for the Eurocode's partial factors) |
| Groundwater | depth of the water table, γw |
| Soil profile | from the surface down, one row per layer: thickness, granular or cohesive, γ, γsat, c′, φ′, cu, E, ν |
| Method | the factor set; drained / undrained / whichever governs; general or local shear; each correction and the effective area on or off |
| Layered ground | averaging over the failure zone (with a depth factor), or the two-layer punching (Ks, ca/c1) or load-spread (angle) check |
| Earthquake | kh, kv, soil inertia on or off |
| In-situ test | SPT N60, CPT qc, or pressuremeter pl, p0 and soil category; the tolerable settlement of the SPT / CPT rules |
| Rock | σci, GSI, mi, D and the rock mass unit weight; or discontinuity spacing and aperture |
| Verification | factor of safety, or EN 1997-1 DA1 / DA2 / DA3; required FS against sliding; allowable eccentricity; base friction δ/φ′ |
What it computes
| Quantity | Method |
|---|---|
| Nc, Nq, Nγ | Terzaghi, Meyerhof, Hansen, Vesić, EN 1997-1 Annex D; Skempton's undrained Nc |
| Shape, depth, inclination factors | each method's own; EN 1997-1 borrows Hansen's depth factors on request |
| Base tilt, ground slope | Hansen, Vesić, EN 1997-1 (base) |
| Compressibility | Vesić's rigidity index Ir against Ir,cr |
| Undrained, Hansen | the additive 5.14·cu·(1 + s′c + d′c − i′c − b′c − g′c) + q |
| Eccentricity | Meyerhof's effective area; Vesić's equivalent rectangle for a circle |
| Contact pressure | trapezoid in the middle third, triangle outside it |
| Layered profile | strength averaged over the Prandtl zone, (B′/2)·cos φ/cos(45 + φ/2)·e(π/4 + φ/2)tan φ |
| Strong over weak layer | Meyerhof & Hanna punching; load spread onto the weak layer |
| Earthquake | kh·V added to H, V(1 − kv); Paolucci & Pecker's (1 − kh/tan φ)0.35 |
| SPT / CPT / PMT | Meyerhof (as revised by Bowles), Meyerhof, Ménard |
| Rock | Hoek–Brown 2002 equivalent c′, φ′; CFEM Ksp |
| Checks | FS on the net capacity; sliding; e/B; EN 1997-1 DA1 / DA2 / DA3 |
| Required width | bisection on B until the check is met; a rectangle keeps L/B |
Checks and EN 1997-1
- Bearing: FS = qnet,ult / qnet with qnet = V/A′ − q; qall = qnet,ult/FS + q.
- Sliding: R = V·tan δ + A′·ca (drained), R = A′·cu (undrained); FS = R/H.
- Eccentricity: e/B against the chosen limit (B/6 by default).
- EN 1997-1 Annex A recommended values:
| Set | γG | γQ | γφ′ | γc′ | γcu | γR;v | γR;h |
|---|---|---|---|---|---|---|---|
| A1 | 1.35 | 1.50 | |||||
| A2 | 1.00 | 1.30 | |||||
| M1 | 1.00 | 1.00 | 1.00 | ||||
| M2 | 1.25 | 1.25 | 1.40 | ||||
| R1 / R2 / R3 | 1.0 / 1.4 / 1.0 | 1.0 / 1.1 / 1.0 |
DA1 checks A1+M1+R1 and A2+M2+R1, DA2 A1+M1+R2, DA3 A1+M2+R3.
Project file (.bearing)
JSON. Save writes the inputs and the study definition; Open… reads them back. Missing entries keep their defaults. The keys are those of forms.defaults():
{
"shape": "rectangle", "B": 2.5, "L": 4.0, "Df": 1.5,
"V": 1700.0, "Hb": 150.0, "Mb": 300.0,
"water_depth": 2.0, "method": "vesic", "analysis": "both",
"approach": "fs", "FS": 3.0,
"soil_profile": [
{"name": "Fill", "thickness": 1.5, "behaviour": "granular", "gamma": 18.0,
"gamma_sat": 19.5, "c": 0.0, "phi": 30.0, "cu": 0.0, "E": 15.0, "nu": 0.3}
]
}Modules
| File | Content |
|---|---|
factors.py | Bearing capacity factors and every correction, per method |
capacity.py | The general equation, effective area, contact pressure, failure zone, sliding |
layered.py | Two-layer punching and load spread |
seismic.py | Pseudo-static loads and soil-inertia factors |
insitu.py, rock.py | SPT / CPT / pressuremeter rules; Hoek–Brown and Ksp |
engine.py | The analysis: profile, strength over the zone, all methods, checks, Eurocode, width |
study.py, study_plots.py | Parametric and reliability studies |
report.py, pdf.py | Calculation report: one HTML assembly, exported as PDF / HTML / DOCX |
web/ | The local HTTP server, the session and the browser interface |
Validation
The tests check the factors against the published tables, the equation against hand calculations (Prandtl's 5.14·cu, a Vesić square footing term by term, the contact pressure trapezoid and triangle), each auxiliary method against its expression, the engine's checks and refusals, the report in all three formats, and the interface (session and HTTP layer).
pip install -e ".[dev]"
pytest -qLimits
- Shallow foundations: the equations lose meaning much beyond D/B ≈ 2–4.
- The failure zone average is a simplification for a layered profile; where a strong layer of limited thickness overlies a weak one, use the two-layer check.
- Settlement is not checked beyond the SPT/CPT rules — see Lythos Settle.
- Terzaghi's Nγ is a fit (about 10 % low at φ′ = 20°), Ks defaults to a conservative estimate, and the rock methods are empirical: each is flagged where it is used.
Full derivations and sources: docs/theory.md.