# agheysari/geotechnical-toolbox architecture

> Architecture diagram of the GitHub repository agheysari/geotechnical-toolbox, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/agheysari/geotechnical-toolbox
- Repository: https://github.com/agheysari/geotechnical-toolbox

## Overview

This repository is a collection of standalone, browser-based geotechnical and geospatial calculators, not a shared calculation service. The user opens a tool, supplies engineering inputs, and receives calculated results; the README says pages validate inputs and present results and charts. The graph groups the tools by engineering domain while retaining each page as its own implementation. Relationships are limited to this documented workflow: no source excerpts were provided to establish page-to-page calls or shared runtime components.

Main entry points: [`deep_foundation_capacity.html`](https://github.com/agheysari/geotechnical-toolbox/blob/main/deep_foundation_capacity.html) (Deep foundation capacity), [`pile_group_efficiency.html`](https://github.com/agheysari/geotechnical-toolbox/blob/main/pile_group_efficiency.html) (Pile group efficiency), [`bearing_capacity.html`](https://github.com/agheysari/geotechnical-toolbox/blob/main/bearing_capacity.html) (Bearing capacity), [`lateral_pile_py_curves.html`](https://github.com/agheysari/geotechnical-toolbox/blob/main/lateral_pile_py_curves.html) (Lateral pile curves)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundations["Foundations and earthworks"]
  node_deep_foundation["Deep foundation capacity"]
  node_pile_group["Pile group efficiency"]
  node_bearing["Bearing capacity"]
  node_lateral_pile["Lateral pile curves"]
  node_earth_pressure["Earth pressure"]
  node_retaining_wall["Retaining wall stability"]
  node_sheet_pile["Sheet pile wall"]
  node_seismic_earth["Seismic earth pressure"]
  node_flex_pavement["Flexible pavement"]
  node_rigid_pavement["Rigid pavement"]
end

subgraph group_settlement["Settlement and stress"]
  node_consolidation["Consolidation settlement"]
  node_terzaghi["Terzaghi consolidation"]
  node_elastic_settlement["Elastic settlement"]
  node_layered_settlement["Layered settlement"]
  node_stress["Stress calculator"]
  node_stress_simple["Simple stress calculator"]
end

subgraph group_soil["Soil testing and classification"]
  node_uscs["USCS classifier"]
  node_gradation["Gradation plotter"]
  node_proctor["Proctor analyzer"]
  node_atterberg["Atterberg limits"]
  node_cpt["CPT classification"]
  node_permeability["Soil permeability"]
  node_phase["Soil phase relationships"]
  node_liquefaction["Liquefaction potential"]
  node_spt["SPT correction"]
  node_cbr["CBR correlations"]
  node_pumping["Pumping test<br/>[pumping_test.html]"]
end

subgraph group_rock_seismic["Rock and seismic"]
  node_rock_class["Rock mass classification"]
  node_hoek_brown["Hoek-Brown criterion"]
  node_mohr_coulomb["Mohr-Coulomb analyzer"]
  node_rqd["RQD core recovery"]
  node_site_class["Seismic site classification"]
  node_stereonet["Stereonet plotter"]
end

subgraph group_geospatial["Geospatial and utilities"]
end

node_engineer(("Engineer"))

node_engineer -->|"opens and inputs"| node_deep_foundation
node_deep_foundation -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_pile_group
node_pile_group -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_bearing
node_bearing -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_lateral_pile
node_lateral_pile -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_earth_pressure
node_earth_pressure -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_retaining_wall
node_retaining_wall -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_sheet_pile
node_sheet_pile -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_seismic_earth
node_seismic_earth -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_consolidation
node_consolidation -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_terzaghi
node_terzaghi -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_elastic_settlement
node_elastic_settlement -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_layered_settlement
node_layered_settlement -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_stress
node_stress -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_stress_simple
node_stress_simple -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_uscs
node_uscs -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_gradation
node_gradation -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_proctor
node_proctor -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_atterberg
node_atterberg -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_cpt
node_cpt -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_permeability
node_permeability -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_phase
node_phase -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_liquefaction
node_liquefaction -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_spt
node_spt -->|"presents results"| node_engineer
node_engineer -->|"opens and inputs"| node_rock_class
node_rock_class -->|"presents results"| node_engineer

click node_deep_foundation "https://github.com/agheysari/geotechnical-toolbox/blob/main/deep_foundation_capacity.html"
click node_pile_group "https://github.com/agheysari/geotechnical-toolbox/blob/main/pile_group_efficiency.html"
click node_bearing "https://github.com/agheysari/geotechnical-toolbox/blob/main/bearing_capacity.html"
click node_lateral_pile "https://github.com/agheysari/geotechnical-toolbox/blob/main/lateral_pile_py_curves.html"
click node_earth_pressure "https://github.com/agheysari/geotechnical-toolbox/blob/main/earth_pressure.html"
click node_retaining_wall "https://github.com/agheysari/geotechnical-toolbox/blob/main/retaining_wall_stability.html"
click node_sheet_pile "https://github.com/agheysari/geotechnical-toolbox/blob/main/sheet_pile_wall.html"
click node_seismic_earth "https://github.com/agheysari/geotechnical-toolbox/blob/main/seismic_earth_pressure.html"
click node_consolidation "https://github.com/agheysari/geotechnical-toolbox/blob/main/consolidation_calculator.html"
click node_terzaghi "https://github.com/agheysari/geotechnical-toolbox/blob/main/terzaghi_consolidation.html"
click node_elastic_settlement "https://github.com/agheysari/geotechnical-toolbox/blob/main/elastic_settlement.html"
click node_layered_settlement "https://github.com/agheysari/geotechnical-toolbox/blob/main/layered_settlement.html"
click node_stress "https://github.com/agheysari/geotechnical-toolbox/blob/main/stress_calculator.html"
click node_stress_simple "https://github.com/agheysari/geotechnical-toolbox/blob/main/stress_calculator_simple.html"
click node_uscs "https://github.com/agheysari/geotechnical-toolbox/blob/main/uscs_classifier.html"
click node_gradation "https://github.com/agheysari/geotechnical-toolbox/blob/main/gradation_plotter.html"
click node_proctor "https://github.com/agheysari/geotechnical-toolbox/blob/main/proctor_analyzer.html"
click node_atterberg "https://github.com/agheysari/geotechnical-toolbox/blob/main/atterberg_limits.html"
click node_cpt "https://github.com/agheysari/geotechnical-toolbox/blob/main/cpt_soil_classification.html"
click node_permeability "https://github.com/agheysari/geotechnical-toolbox/blob/main/soil_permeability.html"
click node_phase "https://github.com/agheysari/geotechnical-toolbox/blob/main/soil_phase_relationships.html"
click node_liquefaction "https://github.com/agheysari/geotechnical-toolbox/blob/main/liquefaction_potential.html"
click node_spt "https://github.com/agheysari/geotechnical-toolbox/blob/main/spt_correction.html"
click node_rock_class "https://github.com/agheysari/geotechnical-toolbox/blob/main/rock_mass_classification.html"
click node_hoek_brown "https://github.com/agheysari/geotechnical-toolbox/blob/main/hoek_brown_criterion.html"
click node_mohr_coulomb "https://github.com/agheysari/geotechnical-toolbox/blob/main/mohr_coulomb_analyzer.html"
click node_rqd "https://github.com/agheysari/geotechnical-toolbox/blob/main/rqd_core_recovery.html"
click node_site_class "https://github.com/agheysari/geotechnical-toolbox/blob/main/seismic_site_classification.html"
click node_stereonet "https://github.com/agheysari/geotechnical-toolbox/blob/main/stereonet_plotter.html"
click node_cbr "https://github.com/agheysari/geotechnical-toolbox/blob/main/cbr_correlations.html"
click node_pumping "https://github.com/agheysari/geotechnical-toolbox/blob/main/pumping_test.html"
click node_flex_pavement "https://github.com/agheysari/geotechnical-toolbox/blob/main/flexible_pavement.html"
click node_rigid_pavement "https://github.com/agheysari/geotechnical-toolbox/blob/main/rigid_pavement.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_deep_foundation,node_pile_group,node_bearing,node_lateral_pile,node_earth_pressure,node_retaining_wall,node_sheet_pile,node_seismic_earth,node_flex_pavement,node_rigid_pavement toneBlue
class node_consolidation,node_terzaghi,node_elastic_settlement,node_layered_settlement,node_stress,node_stress_simple toneAmber
class node_uscs,node_gradation,node_proctor,node_atterberg,node_cpt,node_permeability,node_phase,node_liquefaction,node_spt,node_cbr,node_pumping toneMint
class node_rock_class,node_hoek_brown,node_mohr_coulomb,node_rqd,node_site_class,node_stereonet toneRose
class node_engineer toneIndigo
```

## Components

### Foundations and earthworks

- [Deep foundation capacity](https://github.com/agheysari/geotechnical-toolbox/blob/main/deep_foundation_capacity.html): `deep_foundation_capacity.html`
- [Pile group efficiency](https://github.com/agheysari/geotechnical-toolbox/blob/main/pile_group_efficiency.html): `pile_group_efficiency.html`
- [Bearing capacity](https://github.com/agheysari/geotechnical-toolbox/blob/main/bearing_capacity.html): `bearing_capacity.html`
- [Lateral pile curves](https://github.com/agheysari/geotechnical-toolbox/blob/main/lateral_pile_py_curves.html): `lateral_pile_py_curves.html`
- [Earth pressure](https://github.com/agheysari/geotechnical-toolbox/blob/main/earth_pressure.html): `earth_pressure.html`
- [Retaining wall stability](https://github.com/agheysari/geotechnical-toolbox/blob/main/retaining_wall_stability.html): `retaining_wall_stability.html`
- [Sheet pile wall](https://github.com/agheysari/geotechnical-toolbox/blob/main/sheet_pile_wall.html): `sheet_pile_wall.html`
- [Seismic earth pressure](https://github.com/agheysari/geotechnical-toolbox/blob/main/seismic_earth_pressure.html): `seismic_earth_pressure.html`
- [Flexible pavement](https://github.com/agheysari/geotechnical-toolbox/blob/main/flexible_pavement.html): `flexible_pavement.html`
- [Rigid pavement](https://github.com/agheysari/geotechnical-toolbox/blob/main/rigid_pavement.html): `rigid_pavement.html`

### Settlement and stress

- [Consolidation settlement](https://github.com/agheysari/geotechnical-toolbox/blob/main/consolidation_calculator.html): `consolidation_calculator.html`
- [Terzaghi consolidation](https://github.com/agheysari/geotechnical-toolbox/blob/main/terzaghi_consolidation.html): `terzaghi_consolidation.html`
- [Elastic settlement](https://github.com/agheysari/geotechnical-toolbox/blob/main/elastic_settlement.html): `elastic_settlement.html`
- [Layered settlement](https://github.com/agheysari/geotechnical-toolbox/blob/main/layered_settlement.html): `layered_settlement.html`
- [Stress calculator](https://github.com/agheysari/geotechnical-toolbox/blob/main/stress_calculator.html): `stress_calculator.html`
- [Simple stress calculator](https://github.com/agheysari/geotechnical-toolbox/blob/main/stress_calculator_simple.html): `stress_calculator_simple.html`

### Soil testing and classification

- [USCS classifier](https://github.com/agheysari/geotechnical-toolbox/blob/main/uscs_classifier.html): `uscs_classifier.html`
- [Gradation plotter](https://github.com/agheysari/geotechnical-toolbox/blob/main/gradation_plotter.html): `gradation_plotter.html`
- [Proctor analyzer](https://github.com/agheysari/geotechnical-toolbox/blob/main/proctor_analyzer.html): `proctor_analyzer.html`
- [Atterberg limits](https://github.com/agheysari/geotechnical-toolbox/blob/main/atterberg_limits.html): `atterberg_limits.html`
- [CPT classification](https://github.com/agheysari/geotechnical-toolbox/blob/main/cpt_soil_classification.html): `cpt_soil_classification.html`
- [Soil permeability](https://github.com/agheysari/geotechnical-toolbox/blob/main/soil_permeability.html): `soil_permeability.html`
- [Soil phase relationships](https://github.com/agheysari/geotechnical-toolbox/blob/main/soil_phase_relationships.html): `soil_phase_relationships.html`
- [Liquefaction potential](https://github.com/agheysari/geotechnical-toolbox/blob/main/liquefaction_potential.html): `liquefaction_potential.html`
- [SPT correction](https://github.com/agheysari/geotechnical-toolbox/blob/main/spt_correction.html): `spt_correction.html`
- [CBR correlations](https://github.com/agheysari/geotechnical-toolbox/blob/main/cbr_correlations.html): `cbr_correlations.html`
- [Pumping test](https://github.com/agheysari/geotechnical-toolbox/blob/main/pumping_test.html): `pumping_test.html`

### Rock and seismic

- [Rock mass classification](https://github.com/agheysari/geotechnical-toolbox/blob/main/rock_mass_classification.html): `rock_mass_classification.html`
- [Hoek-Brown criterion](https://github.com/agheysari/geotechnical-toolbox/blob/main/hoek_brown_criterion.html): `hoek_brown_criterion.html`
- [Mohr-Coulomb analyzer](https://github.com/agheysari/geotechnical-toolbox/blob/main/mohr_coulomb_analyzer.html): `mohr_coulomb_analyzer.html`
- [RQD core recovery](https://github.com/agheysari/geotechnical-toolbox/blob/main/rqd_core_recovery.html): `rqd_core_recovery.html`
- [Seismic site classification](https://github.com/agheysari/geotechnical-toolbox/blob/main/seismic_site_classification.html): `seismic_site_classification.html`
- [Stereonet plotter](https://github.com/agheysari/geotechnical-toolbox/blob/main/stereonet_plotter.html): `stereonet_plotter.html`

### Other components

- **Engineer**

## Connections

- Engineer → Deep foundation capacity: opens and inputs (evidence: `README.md`)
- Deep foundation capacity → Engineer: presents results (evidence: `README.md`)
- Engineer → Pile group efficiency: opens and inputs (evidence: `README.md`)
- Pile group efficiency → Engineer: presents results (evidence: `README.md`)
- Engineer → Bearing capacity: opens and inputs (evidence: `README.md`)
- Bearing capacity → Engineer: presents results (evidence: `README.md`)
- Engineer → Lateral pile curves: opens and inputs (evidence: `README.md`)
- Lateral pile curves → Engineer: presents results (evidence: `README.md`)
- Engineer → Earth pressure: opens and inputs (evidence: `README.md`)
- Earth pressure → Engineer: presents results (evidence: `README.md`)
- Engineer → Retaining wall stability: opens and inputs (evidence: `README.md`)
- Retaining wall stability → Engineer: presents results (evidence: `README.md`)
- Engineer → Sheet pile wall: opens and inputs (evidence: `README.md`)
- Sheet pile wall → Engineer: presents results (evidence: `README.md`)
- Engineer → Seismic earth pressure: opens and inputs (evidence: `README.md`)
- Seismic earth pressure → Engineer: presents results (evidence: `README.md`)
- Engineer → Consolidation settlement: opens and inputs (evidence: `README.md`)
- Consolidation settlement → Engineer: presents results (evidence: `README.md`)
- Engineer → Terzaghi consolidation: opens and inputs (evidence: `README.md`)
- Terzaghi consolidation → Engineer: presents results (evidence: `README.md`)
- Engineer → Elastic settlement: opens and inputs (evidence: `README.md`)
- Elastic settlement → Engineer: presents results (evidence: `README.md`)
- Engineer → Layered settlement: opens and inputs (evidence: `README.md`)
- Layered settlement → Engineer: presents results (evidence: `README.md`)
- Engineer → Stress calculator: opens and inputs (evidence: `README.md`)
- Stress calculator → Engineer: presents results (evidence: `README.md`)
- Engineer → Simple stress calculator: opens and inputs (evidence: `README.md`)
- Simple stress calculator → Engineer: presents results (evidence: `README.md`)
- Engineer → USCS classifier: opens and inputs (evidence: `README.md`)
- USCS classifier → Engineer: presents results (evidence: `README.md`)
- Engineer → Gradation plotter: opens and inputs (evidence: `README.md`)
- Gradation plotter → Engineer: presents results (evidence: `README.md`)
- Engineer → Proctor analyzer: opens and inputs (evidence: `README.md`)
- Proctor analyzer → Engineer: presents results (evidence: `README.md`)
- Engineer → Atterberg limits: opens and inputs (evidence: `README.md`)
- Atterberg limits → Engineer: presents results (evidence: `README.md`)
- Engineer → CPT classification: opens and inputs (evidence: `README.md`)
- CPT classification → Engineer: presents results (evidence: `README.md`)
- Engineer → Soil permeability: opens and inputs (evidence: `README.md`)
- Soil permeability → Engineer: presents results (evidence: `README.md`)
- Engineer → Soil phase relationships: opens and inputs (evidence: `README.md`)
- Soil phase relationships → Engineer: presents results (evidence: `README.md`)
- Engineer → Liquefaction potential: opens and inputs (evidence: `README.md`)
- Liquefaction potential → Engineer: presents results (evidence: `README.md`)
- Engineer → SPT correction: opens and inputs (evidence: `README.md`)
- SPT correction → Engineer: presents results (evidence: `README.md`)
- Engineer → Rock mass classification: opens and inputs (evidence: `README.md`)
- Rock mass classification → Engineer: presents results (evidence: `README.md`)
