Skip to content

Machine Learning project for optimizing wind turbine blade performance using Random Forest models, with a full Flask web app and live deployment.

License

Notifications You must be signed in to change notification settings

TheComputationalCore/WindTurbineBladeOptimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌬️ Wind Turbine Blade Optimization

Machine Learning + Flask Web App for predicting and optimizing wind turbine blade performance.

project-logo

deployment python license build code-style model issues

🌐 Live Deployment

The full web application is deployed at:

πŸ‘‰ https://windturbinebladeoptimization.onrender.com


🌬️ Overview

This project presents a complete machine-learning–driven pipeline for wind turbine blade structural behavior prediction and optimization.
It combines synthetic dataset generation, Random Forest regression modeling, interactive Flask-based prediction dashboard, and comprehensive visualization reports.

The goal is to help researchers, engineers, and digital twin developers simulate how turbine blade materials and geometry respond to load, pressure, vibration, and fatigue.


πŸš€ Features

βœ” End-to-end ML pipeline

  • Synthetic dataset generation
  • Data preprocessing
  • Model training and evaluation
  • Model serialization using joblib

βœ” Flask web application

  • Interactive input form
  • Real-time predictions for:
    • Deformation
    • Stress
    • Strain
    • Factor of safety
    • Fatigue life
    • Damage index

βœ” Scientific Visualization Suite

  • Input distribution plots
  • Correlation heatmaps
  • Scatter relationships
  • Model feature importance (Tree-based)
  • Actual vs Predicted curves
  • Residual analysis
  • Engineering relationship plots

All charts saved under /reports/figures.

βœ” Fully Modular Architecture

  • src/windturbine/data β†’ dataset generation
  • src/windturbine/model β†’ ML model training
  • src/windturbine/app β†’ web app
  • src/windturbine/visualization β†’ plotting suite
  • docs/ β†’ reports & documentation
  • assets/ β†’ screenshots, extracted images

🧰 Tech Stack

Layer Technology
Backend Python 3, Flask
Machine Learning Scikit-Learn, NumPy, Pandas
Visualization Matplotlib, Seaborn
Deployment Render.com
Packaging joblib, modular Python architecture
Version Control Git + GitHub

πŸ“ Project Structure

WindTurbineBladeOptimization/
β”‚
β”œβ”€β”€ assets/                     # screenshots & extracted PPT images
β”œβ”€β”€ docs/
β”‚   └── TECHNICAL_REPORT.md     # full engineering & ML report
β”‚
β”œβ”€β”€ reports/
β”‚   └── figures/                # generated plots
β”‚
β”œβ”€β”€ src/
β”‚   └── windturbine/
β”‚       β”œβ”€β”€ data_generation.py
β”‚       β”œβ”€β”€ train.py
β”‚       β”œβ”€β”€ app.py
β”‚       └── visualization.py
β”‚
β”œβ”€β”€ tests/                      # full CI test suite
β”‚
β”œβ”€β”€ synthetic_data/             # generated datasets
β”œβ”€β”€ models/                     # saved ML models
β”œβ”€β”€ README.md
└── LICENSE

πŸ“Έ Screenshots

🏠 Dashboard

Dashboard

πŸ”’ Input Form

Form

πŸ“Š Prediction Output

Results


πŸ“Š Example Generated Plots

Plots are auto-generated under /reports/figures.
Include:

Input distributions

Input distributions

Scatter relationships

Scatter relationships

Correlation heatmap

Correlation heatmap

Feature importance

Feature importance

Actual vs Predicted

Actual vs Predicted

Residual histograms

Residual histograms

πŸ§ͺ Running Locally

1️⃣ Create & activate virtual env

python3 -m venv .venv
source .venv/bin/activate

2️⃣ Install dependencies

pip install -r requirements.txt

3️⃣ Generate synthetic dataset

python -m src.windturbine.data_generation --n 5000 --seed 42

4️⃣ Train the model

python -m src.windturbine.train

5️⃣ Run visualization suite

python -m src.windturbine.visualization

6️⃣ Start the web app

python -m src.windturbine.app

πŸ§ͺ Tests (CI-friendly)

pytest -q

πŸ‘€ Author

Dinesh Chandra β€” TheComputationalCore


πŸ“œ License

This project is open-source under the MIT License.


⭐ Acknowledgements

This work is inspired by real-world engineering analysis, structural mechanics - "Analysis of wind turbine blade using ansys software" - my project during graduation.

If you like this project, consider ⭐ starring the repo!

About

Machine Learning project for optimizing wind turbine blade performance using Random Forest models, with a full Flask web app and live deployment.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published