Stop doing mix design by hand. Let Simulink do the math.
π Read the Docs Β· π Get Started Β· π€ Contribute Β· β Star this repo
If you've ever sat down with ACI 211.1 and a calculator, you know the pain β cross-referencing tables, computing volumes, recalculating everything when one input changes. This model eliminates all of that.
Built in MATLAB Simulink, this tool automates the full ACI 211.1 concrete mix design workflow in a clean, block-based visual environment. Change a single input β slump, target strength, aggregate size β and every downstream value updates instantly.
π‘ Designed for civil engineering students, researchers, and practicing engineers
who want fast, reliable, and reproducible concrete mix designs.
- β‘ Instant recalculation β Tweak any input and all outputs update in real time
- π Full ACI 211.1 compliance β Water content, w/c ratio, and aggregate volumes sourced directly from ACI tables
- π§± 3 validated concrete grades β M25, M35, and M45 scenarios included out of the box
- π¬ Absolute Volume Method β Fine aggregate calculation encapsulated in a dedicated subsystem
- π§© Modular architecture β Clean, readable block layout organized left-to-right
- π 2-D Lookup Tables β ACI table data baked directly into the model, no external files needed
- π Perfect for learning β Ideal for coursework, labs, and understanding how mix design actually works
The model is organized left-to-right: Inputs β ACI Logic (Lookup Tables + Subsystems) β Outputs
- MATLAB R2020b or later
- Simulink (base package)
# Clone the repository
git clone https://github.com/YOUR_USERNAME/concrete-mix-design-simulink.git
# Open MATLAB and navigate to the project folder
cd concrete-mix-design-simulink% Open the model
open('ConcreteMixDesign.slx')
% Set your inputs in the Constant blocks:
% - Target_Strength_MPa (e.g., 25, 35, 45)
% - Slump_mm (e.g., 50 or 100)
% - Max_Agg_Size_mm (10, 20, or 40)
% - Fineness_Modulus (2.40, 2.60, or 2.80)
% Hit Run (Ctrl+T) β results appear in the Display blocks instantlyThe model implements the full ACI 211.1 procedure as a sequential calculation chain:
Target Strength β w/c Ratio β Cement Content
Slump + Agg. Size β Water Content β
Agg. Size + FM β Coarse Agg. Volume β Coarse Agg. Mass
Absolute Volume Method β Fine Aggregate Mass
Table 1 β Estimated Water Content (kg/mΒ³)
| Slump (mm) | 10 mm Aggregate | 20 mm Aggregate | 40 mm Aggregate |
|---|---|---|---|
| 25 β 50 | 215 | 190 | 175 |
| 75 β 100 | 225 | 205 | 185 |
Table 2 β Water-Cement Ratio vs. Compressive Strength
| f'c (MPa) | w/c Ratio |
|---|---|
| 45 | 0.42 |
| 35 | 0.52 |
| 25 | 0.65 |
Table 3 β Volume of Coarse Aggregate per mΒ³ of Concrete
| Max. Agg. Size | FM 2.40 | FM 2.60 | FM 2.80 |
|---|---|---|---|
| 10 mm | 0.50 | 0.48 | 0.46 |
| 20 mm | 0.66 | 0.64 | 0.62 |
| 40 mm | 0.75 | 0.73 | 0.71 |
Cement content is derived as:
Fine aggregate fills the remaining volume after subtracting water, cement, coarse aggregate, and 2% entrapped air from 1 mΒ³.
All three scenarios share these common inputs:
| Parameter | Value |
|---|---|
| Max. Aggregate Size | 20 mm |
| Fineness Modulus | 2.60 |
| SG β Cement | 3.15 |
| SG β Fine Aggregate | 2.65 |
| SG β Coarse Aggregate | 2.70 |
| Unit Weight (CA) | 1600 kg/mΒ³ |
| Entrapped Air | 2% |
Inputs: Target Strength = 25 MPa Β· Slump = 100 mm
| Component | Result |
|---|---|
| π§ Water | 205 kg/mΒ³ |
| π Cement | 315.4 kg/mΒ³ |
| πͺ¨ Coarse Aggregate | 1024 kg/mΒ³ |
| ποΈ Fine Aggregate | 778.1 kg/mΒ³ |
***
---
Inputs: Target Strength = 35 MPa Β· Slump = 100 mm
| Component | Result |
|---|---|
| π§ Water | 205 kg/mΒ³ |
| π Cement | 394.2 kg/mΒ³ |
| πͺ¨ Coarse Aggregate | 1024 kg/mΒ³ |
| ποΈ Fine Aggregate | 690.6 kg/mΒ³ |
***
Inputs: Target Strength = 45 MPa Β· Slump = 50 mm
| Component | Result |
|---|---|
| π§ Water | 190 kg/mΒ³ |
| π Cement | 452.4 kg/mΒ³ |
| πͺ¨ Coarse Aggregate | 1024 kg/mΒ³ |
| ποΈ Fine Aggregate | 658.5 kg/mΒ³ |
***
Validation note: As target strength increases, cement content rises and fine aggregate decreases β exactly as ACI 211.1 predicts. β
| Block Type | Library | Purpose |
|---|---|---|
Constant |
Sources | All design input parameters |
2-D Lookup Table |
Lookup Tables | ACI Tables 1 & 3 |
1-D Lookup Table |
Lookup Tables | ACI Table 2 (w/c ratio) |
Divide / Product |
Math Operations | Cement & mass calculations |
Sum |
Math Operations | Absolute volume summation |
Subsystem |
Ports & Subsystems | Encapsulates fine aggregate logic |
Display |
Sinks | Output: Water, Cement, CA, FA |
Contributions are what make open source great. Here are some ideas to get you started:
- π§ Extend aggregate sizes β Add support for 12.5 mm or 63 mm aggregates
- π¨ Add air-entrained concrete β Implement the ACI 211.1 air-entrained water tables
- π Add a dashboard scope β Real-time plotting of proportions as inputs change
- π Metric/Imperial toggle β Auto-convert between SI and US customary units
- π§ͺ Additional standards β IS 10262, BS 8500, or EN 206 mix design logic
- π Report export β Generate a PDF mix design summary from the Simulink outputs
# 1. Fork the repo
# 2. Create your feature branch
git checkout -b feature/air-entrained-concrete
# 3. Commit your changes
git commit -m "Add air-entrained water content tables"
# 4. Push and open a Pull Request
git push origin feature/air-entrained-concretePlease open an Issue first for major changes so we can discuss the approach.
- ACI 211.1-91 β Standard Practice for Selecting Proportions for Normal, Heavyweight, and Mass Concrete. American Concrete Institute.
- MathWorks Simulink Documentation β mathworks.com/products/simulink
Distributed under the MIT License. See LICENSE for more information.
If this project saved you time, please consider giving it a β
Built with β€οΈ for the civil engineering community