How amghalcyon/wind_turbine_project works
This repository combines wind-turbine blade design and FEA results with machine-learning surrogates for predicting equivalent stress and tip deflection. The documented engineering workflow runs from CAD through ANSYS simulations and a dataset into preprocessing, model training, evaluation, and sensitivity analysis. The sampled Python code confirms dataset preparation, model training, evaluation utilities, and a CLI prediction workflow; the README and tree establish the broader CAD, simulation, and notebook-analysis branches. The ANSYS and notebook internals were not sampled, so their documented links are shown without inferred implementation details.
Main entry points: training.py Model training · evaluation.py Model evaluation · simulation_matrix_updated_info.csv Simulation dataset · predict.py Prediction CLI
Components 18
Engineering inputs
- Blade CAD
CAD - ANSYS FEA
ANSYS - Simulation dataset
Dataset/simulation_matrix_updated_info.csv
ML pipeline
- Data preparation
src/data_processing.py - Model training
src/training.py - Random Forest
src/training.py - XGBoost
src/training.py - Gaussian Process
src/training.py
Design analysis
- Data exploration
Python/Data_Inspection.ipynb - Model evaluation
src/evaluation.py - Simulation validation
Python/Validation_of_simulations_EDA.ipynb - Sensitivity analysis
Python/Sensitivity_Analysis_GPR.ipynb - Cross validation
Python/Cross_Validation.ipynb
Prediction runtime
- Model persistence
train_and_save_models.py - Prediction CLI
predict.py - Prediction helpers
src/prediction.py - Stress and deflection
src/visualisation.py
Other components
- Engineer
Connections 20
- Engineer → Blade CAD: designs blade
- Blade CAD → ANSYS FEA: geometry for
- ANSYS FEA → Simulation dataset: simulation results
- Simulation dataset → Data exploration: explored in
- Simulation dataset → Data preparation: loads
- Data preparation → Model training: prepares features
- Model training → Random Forest: trains
- Model training → XGBoost: trains
- Model training → Gaussian Process: trains
- Random Forest → Model evaluation: evaluated by
- XGBoost → Model evaluation: evaluated by
- Gaussian Process → Model evaluation: evaluated by
- Simulation dataset → Simulation validation: simulation comparisons
- Model evaluation → Cross validation: analysis in
- Model evaluation → Sensitivity analysis: informs
- Model training → Model persistence: trains and saves
- Engineer → Prediction CLI: enters parameters
- Prediction CLI → Model persistence: loads saved models
- Prediction CLI → Prediction helpers: calls prediction
- Prediction helpers → Stress and deflection: returns metrics