Disclaimer: This tool is intended for use by the APEC Consultancy team for preliminary geotechnical calculations only.
The developers assume no liability for design decisions made based on the output of this application.
All results must be verified by a qualified geotechnical or structural engineer before use in any project.
Changelog
v0.6.0 — 2026-07-15 (Mononobe-Okabe Rewrite: Exact Mechanics + Four-Figure Report)
- Correctness fixes (all M-O coefficient users): the Coulomb / M-O sin-form denominators now use sin²β per Das Eq. 16.26 / 16.38 (the old sinβ overestimated Ka, Kp, Kae by 1/sinβ for battered walls; exact at β = 90°); Coulomb Kp now uses sin(β+α) (was sin(β−α)); the seismic thrust carries the (1−kv) factor per Kramer Eq. 11.7. Both
webapp/calculators and the geostructpy library are fixed; the Theory page formulas updated to match.
- New mechanics: exact Zarrabi-Kashani (1979) critical failure-plane angle αAE (replaces the 45°−φ/2+θ/2 approximation); seismic passive Kpe (Kramer Eq. 11.10, evaluated at the true inertia angle); Seed–Whitman resultant height z̄ with the static part at its distribution centroid and ΔPae at 0.6H; wall-normal force components Ph, Pv and overturning moment; Seed–Whitman ¾kh approximation check.
- Validity guards: hard check φ − α − θ ≥ 0 with the limiting coefficient kh,lim = (1−kv)tan(φ−α) and a clamped limiting-state report instead of a crash; domain guards for β ≤ δ, α+β ≥ 180°, β−δ−θ ≤ 0, kv ≥ 1, and root-degeneracy in Kp/Kpe — invalid inputs now return a readable message instead of an HTTP 500.
- c′-φ′ backfill (Das §16.10): tension-crack depth and closure term now carry the (1−kv) factor so the closed form is the exact integral of the reported pressure profile; the static thrust receives the same correction so ΔPae and z̄ compare like with like; full-height tension is clamped to zero thrust with a warning.
- Independent QA in every report: the critical wedge's pseudo-static force polygon (W, khW, kvW, R, Pae) is solved from equilibrium independently of the Kae formula and must close — the report prints the agreement (Δ ≈ 0.000%).
- New report UI: validity banner, six key-result stat tiles, and a 2×2 figure grid — Fig. 1 cross-section with exact wedge + corrected pressure diagrams, Fig. 2 closed force polygon, Fig. 3 Kae–kh sensitivity (φ±5° family, Seed–Whitman line, design point, kh,lim), Fig. 4 pressure distribution with increment band; numbered calculation sheet with pressure-ordinate table and design summary.
- Verification: new
tests/qaqc_mononobe_okabe harness — closed forms checked against an independent brute-force trial-wedge search (critical angle, max thrust, polygon closure to machine precision), static Coulomb limits, and end-to-end report scenarios.
v0.5.0 — 2026-04-08 (Braced Cut + Bowles Citations)
- New module:
/braced-cut — basic braced excavation analysis using the Peck (1969) apparent earth-pressure envelope. Three soil cases: sand (rectangular envelope), soft / medium clay (trapezoidal with Peck reduction factor m = 0.4 when Ns > 6), and stiff clay. Per-strut design force and Bjerrum & Eide (1956) bottom-heave check for clay. Per Das & Sivakugan Ch. 19 (§19.3 envelope p. 820, §19.5 design p. 823, §19.7 bottom heave p. 835) and Bowles 5e Ch. 14.
- Slope stability citations: integrated Bowles (1996, 5e) Ch. 2 references throughout the per-layer report and top callout. Each formula row now lists Bowles equation numbers alongside Das & Sivakugan: w → Bowles §2-2 Eq. 2-3; e₀ → §2-3 Eq. 2-10; γd → Eq. 2-9; γsat → Eq. 2-11; K0 → Bowles §2-8 Eq. 2-18a, p. 39 (Jaky simplified) plus Eq. 2-19 sloping ground / Eq. 2-23 OCR adjustment / Eq. 2-22 from Poisson's ratio; dilatancy → §2-11.3 cohesionless soils; Ss → §2-10 Consolidation Principles, p. 56. Top callout adds full Table 2-8 Es ranges (very soft clay 2–15 MPa through dense sand+gravel 100–200 MPa) and Table 2-7 Poisson's ratio ranges.
- Theory page: Bowles 5e added as the third Primary Textbook with full chapter map (Ch. 2 properties, §2-8 K0 p. 39, §2-10 consolidation p. 56, §2-11 shear p. 90, §2-14 elastic p. 121 with Tables 2-7/2-8, plus Ch. 4/11/12/13/14/16-18 cross-references).
- Nav: "Braced Cut" link added to the top bar. Total routes now 19 (was 18).
v0.4.0 — 2026-04-07 (Bundled QAQC Sprint II)
- New module:
/sheet-pile — cantilever sheet pile in sand per Das & Sivakugan §18.4 (pp. 758–764). Solves the Das Eq. 18.17 quartic for required embedment depth, computes maximum moment, and reports required section modulus.
- New module:
/anchor — deadman anchor holding capacity for plates in sand (Ovesen-Stromann, Das §18.19, p. 804) and clay (Mackenzie / Tschebotarioff, Das §18.20, p. 811).
- Retaining wall: added front soil depth input (y) with optional passive-resistance credit toggle. Updated the wall cross-section plot to draw front soil fill, passive-pressure triangle, and Pp arrow. Default behavior (y = 0, passive off) is unchanged. Ref: Das §16.11 (p. 676), §17.4 (p. 699).
- Mononobe-Okabe: new textbook-style two-panel plot (wall cross-section with static + seismic pressure triangles & force arrows, plus a trial failure-wedge polygon with W, khW, Pae, R vectors) styled after Das Fig. 16.23 (p. 668) and Kramer (1996) Fig. 11.1. Added optional c'-φ' backfill case per Das §16.10 (p. 672) with disclaimer when outside the vertical-back / horizontal-surface range.
- Terzaghi: automated groundwater-table Cases I-III per Das §6.5 Fig. 6.5 (pp. 217–219). New inputs for γsat and water-table depth; case-aware γq / γny substitution with Case I/II/III detection and reporting.
- Bored pile: added transverse shear check per ACI 318-19 §22.5.5.1 (Vc), §22.5.10.5.3 (Vs), §21.2 (φ = 0.75), and R10.7.1 (circular-section equivalent width). New inputs for Vu, tie pitch, and tie diameter. Skipped gracefully when Vu = 0.
- Slope stability: per-layer formula report now includes a new Reference column with specific Das & Sivakugan 9th SI section numbers (§2.5, §2.6, §16.2 p. 640, §9.12 p. 382) and the Bolton (1986) Géotechnique 36(1) source for the dilatancy formula, plus an honest note that Poulos & Davis (1980) doesn't cover weight-volume relationships directly. Also added a
data_source field on imported layers that tracks "SPT → Polish Code PN-59/B-03020 <table>" vs. "User-entered (measured / lab)".
- Nav: added Sheet Pile and Anchor links to the top bar. Theory page gained new sections 7.1 (Cantilever in Sand) and 8.1–8.2 (Deadman anchors in sand / clay).
- Integration: bundled the Das & Sivakugan (2019, 9th SI) and Poulos & Davis (1980) textbook citations across every calculator's tooltips and reference boxes with verified page numbers where possible.
v0.3.1 — 2026-04-07 (QAQC Reference Pass)
- New: reusable
qa-note tooltip component (small blue "i" badge) and per-page ref-box bibliography on every calculator.
- Added 35 inline thumbnotes and 110 reference-box citations across 9 calculator pages.
- Theory page: expanded the References section into 7 categories with 46 entries.
- Cleanup: removed redundant PGA field from Mononobe-Okabe (kh/kv now effective coefficients per AASHTO §11.6.5.2). Made stability's qall optional (skip bearing check when 0). Added rock-socket toggle to bored pile.
v0.2.1 — 2026-04-02
- New: Micropile design module (NSCP 2015, AISC 14th Edition, ACI 318-14/19)
- Slenderness check, soil compression/tension capacity, lateral embedment depth
- Concrete flexural & axial P-M interaction diagram
- Concrete shear capacity check
- Rebar library (#6 through #18) with automatic properties
v0.2.0 — 2026-04-02
- New: Lightweight Flask web application (Railway-ready deployment)
- New: Terzaghi (1943) bearing capacity calculator with interactive factor plots
- New: Meyerhof (1963) bearing capacity calculator with shape, depth, and inclination factors
- New: Mononobe-Okabe seismic earth pressure calculator with pressure distribution plots
- New: Retaining wall stability analysis (sliding, overturning, eccentricity checks)
- New: Theory & Technical Notes page aligned with AIT CE75.05 lecture content
- New: Print report button on all calculator pages
- New: Disclaimer notice for APEC Consultancy team use
- Improved: Unified navigation and consistent UI across all modules
- Improved: MathJax rendering for step-by-step equation output
v0.1.0 — 2024
- Initial release of geostructpy Python package
- Mononobe-Okabe seismic earth pressure class (
geostructpy/monobe-okabe.py)
- Standalone Meyerhof bearing capacity factor visualization (HTML/Plotly)
- Standalone Mononobe-Okabe calculator (HTML/Vue.js)
- Shallow foundation ULS module with Terzaghi and Meyerhof factors
- Retaining wall sliding safety calculation