Skip to content

Ahmad-Akram7/Simulink-Soil-Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


 ____  _____  ____  __      ___   __   ____  ____  ____  ____
/ ___)(  _  )(_  _)(  )    / __) (  ) (  __)(_  _)(_  _)(_  _)
\___ \ )(_)(  _)(_  )(__  ( (__   )(   ) _)   )(    )(   _)(_
(____/(_____)(____)(____)  \___) (__) (__)   (__)  (__) (____) 

πŸͺ¨ Simulink Soil Classification Models

USCS & AASHTO Soil Classification β€” Powered by MATLAB/Simulink

MATLAB Simulink License: MIT Standard: ASTM D2487 Standard: AASHTO M145

An educational toolkit for civil engineers and students β€” classify soils in seconds, straight from Simulink.

πŸ“¦ Get Started Β· πŸ“ Models Β· πŸ§ͺ Example Β· 🀝 Contributing


πŸ“Œ What Is This?

This repository provides two plug-and-play Simulink models that classify soil samples using the two most widely used geotechnical standards:

Model Standard Purpose
🟦 USCS ASTM D2487 Fine-grained soil classification (CH, CL, MH, ML…)
🟧 AASHTO AASHTO M 145 Highway subgrade suitability (A-1 through A-7-6)

Both models accept the same three laboratory inputs and instantly output a standardized soil group symbol β€” no coding required.

Who is this for?

  • πŸŽ“ Civil engineering students learning soil mechanics
  • πŸ—οΈ Geotechnical engineers wanting a fast sanity-check tool
  • πŸ§‘β€πŸ« Instructors looking for visual, interactive teaching aids

⚑ Getting Started

Prerequisites

Make sure you have the following installed:

1 β€” Clone the Repository

git clone https://github.com/Ahmad-Akram7/Simulink-Soil-Classification.git
cd Simulink-Soil-Classification

2 β€” Open a Model

Navigate to either model folder and open the .slx file:

USCS_Model/
└── USCS_Soil_Model.slx   ← Open this in Simulink

AASHTO_Model/
└── AASHTO_Soil_Model.slx ← Or this one

3 β€” Set Your Inputs

On the left side of the model, locate the three Constant input blocks:

Block Name Description Typical Range
PercentPassing200 % of soil passing sieve #200 0 – 100
LiquidLimit Atterberg Liquid Limit (LL) 20 – 100+
PlasticLimit Atterberg Plastic Limit (PL) 10 – 60+

πŸ’‘ Tip: Double-click any Constant block to edit its value.

4 β€” Run & Read Output

Click the β–Ά Run button in the Simulink toolbar.
The Display block on the right shows your classification result immediately.


πŸ“ Models Overview

🟦 USCS Model β€” USCS_Soil_Model.slx

Standard: ASTM D2487 β€” Unified Soil Classification System

Classifies fine-grained soils using plasticity characteristics derived from Atterberg limits.

Possible Output Symbols:

Symbol Soil Type Description
CH High-plasticity Clay Expansive, compressible β€” poor foundation material
CL Low-plasticity Clay Moderate plasticity, common subgrade soil
MH High-plasticity Silt Elastic, frost-susceptible
ML Low-plasticity Silt Low plasticity, frost-susceptible

Decision Logic (simplified):

IF % Passing #200 β‰₯ 50 β†’ Fine-Grained Soil
  Plasticity Index (PI) = LL - PL
  IF LL β‰₯ 50 β†’ High Plasticity (H)
  ELSE       β†’ Low Plasticity (L)

  IF plots ABOVE A-line β†’ Clay (C)
  ELSE                  β†’ Silt (M)

USCS Model


🟧 AASHTO Model β€” AASHTO_Soil_Model.slx

Standard: AASHTO M 145 β€” Classification of Soils and Soil-Aggregate Mixtures

Assesses soil suitability for use as road subgrade material in pavement construction.

Output Groups (A-Scale):

Group Description Subgrade Quality
A-1 Stone fragments, gravel, sand ⭐⭐⭐ Excellent
A-2 Silty or clayey gravel/sand ⭐⭐⭐ Good
A-3 Fine sand ⭐⭐ Good
A-4 Silty soil ⭐⭐ Fair
A-5 Silty soil (elastic) ⭐ Poor
A-6 Clayey soil ⭐ Poor
A-7-5 Clayey soil (elastic) ⭐ Poor
A-7-6 Clayey soil (expansive) ⭐ Very Poor

AASHTO Model


πŸ§ͺ Example Run

Here's a complete worked example using a high-plasticity clay sample:

Inputs

Percent Passing #200 Sieve:  60%
Liquid Limit (LL):           55
Plastic Limit (PL):          28
Plasticity Index (PI):       27   # Computed: LL - PL

Results

🟦 USCS Output

CH
(High-Plasticity Clay)

LL = 55 > 50 β†’ High plasticity
PI = 27 β†’ Plots above A-line β†’ Clay

🟧 AASHTO Output

A-7-6
(Expansive Clayey Soil)

High fines + high LL + high PI
β†’ Poorest subgrade category

βœ… Both models correctly identify this as a high-plasticity clay β€” a soil type that engineers must treat carefully due to its shrink-swell behavior and low bearing capacity.


πŸ—‚οΈ Repository Structure

Simulink-Soil-Classification/
β”‚
β”œβ”€β”€ πŸ“ USCS_Model/
β”‚   └── USCS_Soil_Model.slx          # USCS Simulink model
β”‚
β”œβ”€β”€ πŸ“ AASHTO_Model/
β”‚   └── AASHTO_Soil_Model.slx        # AASHTO Simulink model
β”‚
β”œβ”€β”€ πŸ“ Report/
β”‚   β”œβ”€β”€ USCS MODEL.png               # USCS model screenshot
β”‚   └── AASHTO MODEL.png             # AASHTO model screenshot
β”‚
β”œβ”€β”€ LICENSE                          # MIT License
└── README.md                        # This file

πŸ”‘ Key Concepts Glossary

Term Definition
Sieve #200 0.075 mm opening β€” separates fine from coarse-grained soils
Liquid Limit (LL) Water content at which soil transitions from plastic to liquid state
Plastic Limit (PL) Water content below which soil behaves as a semi-solid
Plasticity Index (PI) PI = LL βˆ’ PL; measures the range of plastic behavior
A-line Boundary on the Casagrande plasticity chart separating clays (C) from silts (M)
USCS Unified Soil Classification System β€” general geotechnical use
AASHTO American Association of State Highway and Transportation Officials standard

🀝 Contributing

Contributions are warmly welcomed! Here's how to get involved:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/coarse-grained-uscs
  3. Commit your changes: git commit -m 'Add coarse-grained soil classification'
  4. Push to the branch: git push origin feature/coarse-grained-uscs
  5. Open a Pull Request

πŸ’‘ Ideas for Contributions

  • Add coarse-grained USCS classification (GW, GP, SW, SP…)
  • Extend AASHTO to include Group Index (GI) calculation
  • Add a MATLAB Live Script companion for step-by-step walkthroughs
  • Create a standalone App Designer GUI for non-Simulink users
  • Add input validation blocks for out-of-range values

Please open an issue first for major changes so we can discuss the approach.


πŸ“„ License

This project is released under the MIT License β€” free to use, modify, and distribute.
See the LICENSE file for full details.


Built for engineers, by engineers.
If this saved you time, consider ⭐ starring the repo!

Made with β˜• and a deep appreciation for geotechnical engineering

About

Automated soil classification tool using Simulink to process geotechnical data. Implements USCS and AASHTO standards for civil engineering analysis and subgrade suitability assessment.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages