Downloads · 30 days
0
siavashhabibi1993/spread-footing-surrogate
spread-footing-surrogate is a machine learning model from siavashhabibi1993. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
A machine learning surrogate model that instantly predicts whether a concrete spread footing passes the bending check per CSA A23.3-19 (Canadian concrete design standard). It replaces iterative structural calculations…
Downloads · 30 days
0
Access
Public
Updated Feb 25, 2026
Repo size
154 MB
Likes
0
Public
Click a slice to open those files.
.pkl54.9 MB · 100%
From the Hugging Face model README
A machine learning surrogate model that instantly predicts whether a concrete spread footing passes the bending check per CSA A23.3-19 (Canadian concrete design standard). It replaces iterative structural calculations with a near-instant classification, making it suitable for design optimization loops, preliminary sizing tools, and educational applications.
This is a RandomForestClassifier trained on synthetically generated data produced by a physics-based spread footing calculator implementing CSA A23.3-19. Given the geometric, loading, and material properties of a footing, the model predicts whether the footing will pass or fail the bending design check in both directions.
bending_ok: pass / fail)The model takes the following features as input:
| Parameter | Description | Unit |
|---|---|---|
Ps | Specified (SLS) axial load | kN |
Pf | Factored (ULS) axial load | kN |
Pup | Uplift load | kN |
qss | Allowable SLS bearing pressure | kPa |
qsf | ULS bearing pressure | kPa |
lf | Footing length | m |
wf | Footing width | m |
df | Footing depth | mm |
fc | Footing concrete strength | MPa |
cover | Bottom cover | mm |
dUSF | Depth to underside of footing | m |
tslab | Slab-on-grade thickness | mm |
column_shape | Column shape (rectangular = 0, circular = 1) | encoded int |
lc | Column length (rectangular) | m |
wc | Column width (rectangular) | m |
dc | Column diameter (circular) | m |
fcCol | Column concrete strength | MPa |
lambda_ | Concrete density factor | — |
phiC | Concrete resistance factor | — |
phiS | Steel resistance factor | — |
fy | Steel yield strength | MPa |
gammaConc | Concrete unit weight | kN/m³ |
gammaSoil | Soil unit weight | kN/m³ |
gammaFill | Fill unit weight | kN/m³ |
bar_size_bot | Bottom bar size (10/15/20/25/30/35) | — |
bar_size_top | Top bar size | — |
| Label | Meaning |
|---|---|
1 | Footing passes the bending check |
0 | Footing fails the bending check |
from huggingface_hub import hf_hub_download
import pickle
model_path = hf_hub_download(
repo_id="siavashhabibi1993/spread-footing-surrogate",
filename="spread_footing_random_forest_model.pkl"
)
with open(model_path, "rb") as f:
model = pickle.load(f)
import numpy as np
# Example footing input — must match the training feature order
# column_shape: 0 = rectangular, 1 = circular (LabelEncoded)
X = np.array([[
500, # Ps (kN)
700, # Pf (kN)
0, # Pup (kN)
150, # qss (kPa)
200, # qsf (kPa)
2.5, # lf (m)
2.5, # wf (m)
500, # df (mm)
25, # fc (MPa)
75, # cover (mm)
1.5, # dUSF (m)
100, # tslab (mm)
0, # column_shape (0 = rectangular)
0.4, # lc (m)
0.4, # wc (m)
0.4, # dc (m)
25, # fcCol (MPa)
1.0, # lambda_
0.65, # phiC
0.85, # phiS
400, # fy (MPa)
24, # gammaConc (kN/m³)
18, # gammaSoil (kN/m³)
18, # gammaFill (kN/m³)
20, # bar_size_bot
15 # bar_size_top
]])
prediction = model.predict(X)
print("Bending OK:" if prediction[0] == 1 else "Bending FAILS")
column_shape column must be label encoded before prediction: rectangular = 0, circular = 1SimpleImputer (mean strategy) was applied to training data. If your inputs contain missing values, apply the same imputation before predicting.RandomForestClassifier (scikit-learn)n_estimators swept from 10 to 90bending_ok). It does not predict one-way shear, punching shear, bearing, or uplift checks.scikit-learn == 0.22.1
numpy == 2.3.5
pandas == 2.3.3
python == 3.11.14
If you use this model in your work, please credit the repository:
@misc{spread-footing-surrogate,
author = {Siavash},
title = {Spread Footing Bending Check — Random Forest Surrogate Model},
year = {2026},
url = {https://huggingface.co/siavashhabibi1993/spread-footing-surrogate}
}