This repository contains the dataset and Python workflow from Chengrui Wang's 2020 undergraduate graduation project, supervised by Kun Zhang. The project uses LS-DYNA simulation data to train machine-learning models for predicting the resistance function of reinforced-concrete shear walls.
The work focused on building a cleaned tabular dataset from LS-DYNA outputs, training a regression model, and comparing predicted resistance values against the simulation-derived response data.
- Data source: LS-DYNA numerical simulation results for shear-wall response.
- Target problem: resistance-function prediction for reinforced-concrete shear walls.
- Modeling task: supervised regression from geometric, reinforcement, concrete-stress, and deformation features to wall resistance.
- Baseline model: decision-tree regression with cross-validation.
- Interpretation: optional SHAP analysis for feature contribution review.
.
|-- all_data.csv # Cleaned LS-DYNA-derived dataset
|-- merge_data.py # Utility for merging raw CSV exports
|-- train_resistance_model.py # Training, evaluation, plotting, optional SHAP analysis
|-- requirements.txt # Python dependencies
`-- figures/
|-- normalized_prediction_comparison.png
`-- raw_prediction_comparison.png
all_data.csv contains the merged training dataset. The columns are:
| Column | Meaning |
|---|---|
width |
Shear-wall width parameter |
height |
Shear-wall height parameter |
span |
Wall span parameter |
covering |
Concrete cover parameter |
num_longitude |
Number of longitudinal reinforcement bars |
diameter_longitude |
Diameter of longitudinal reinforcement bars |
num_hoop |
Number of hoop reinforcement bars |
diameter_hoop |
Diameter of hoop reinforcement bars |
concrete_stress |
Concrete stress-related input feature |
deflection |
Wall deflection response variable used as an input feature |
F_resistance |
Target resistance value |
The original project compared raw-data training and normalized-data training results.
Create a Python environment and install the required packages:
python -m venv .venv
.venv\Scripts\activate # Windows PowerShell: .venv\Scripts\Activate.ps1
pip install -r requirements.txtOn macOS/Linux:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtTrain and evaluate the default model:
python train_resistance_model.pyWrite generated figures and metrics to a custom directory:
python train_resistance_model.py --output-dir resultsRun without feature normalization:
python train_resistance_model.py --no-normalizeMerge raw CSV files into a single dataset:
python merge_data.py --input-dir raw_data --output all_data.csvThis is a small 2020 undergraduate thesis project, not a production machine-learning package. I keep it here as a record of the supervised work and as a compact example of using LS-DYNA simulation data for structural-resistance prediction.
- Student: Chengrui Wang
- Supervisor: Kun Zhang
- Project type: 2020 undergraduate graduation project
- Topic: machine-learning prediction of reinforced-concrete shear-wall resistance functions from LS-DYNA simulation data
The repository includes the project dataset, the cleaned Python workflow, and the original comparison figures used for model-training review.

