Applying Machine Learning to computational fluid dynamics 🚀 Approaching Machine Learning Problems in CFD Applications 🌊🤖
Welcome to this repository! This project explores end-to-end applications of Machine Learning (ML) in Computational Fluid Dynamics (CFD), with a focus on applying both supervised and unsupervised methods to simulation data, aiming to accelerate, and innovate CFD research and engineering applications.
📂 What’s Inside
🔹 Complete ML Projects — from raw CFD simulation data to model deployment
🔹 Supervised Learning Examples — regression & classification tasks on flow features
🔹 Unsupervised Learning Examples — clustering and dimensionality reduction on high-dimensional flow fields
🔹 Neural Networks — architectures applied to CFD data (e.g., MLPs, CNNs, Autoencoders)
🔹 End-to-End Workflows — data preprocessing → feature engineering → training → evaluation → visualization
🧑🔬 Motivation
CFD simulations generate massive datasets that are rich in physics but computationally expensive to analyze. Machine Learning provides tools to:
⚡ Reduce computational cost
📉 Extract low-dimensional structures in flow data
🧠 Learn nonlinear mappings between flow states
🔮 Enable predictive modeling beyond simulation timescales
⚙️ Tech Stack
Python 🐍
NumPy / SciPy for numerical routines
scikit-learn for supervised/unsupervised ML
PyTorch / TensorFlow for neural networks
Matplotlib / Seaborn for visualization
📖 Example Projects
Supervised Learning: Predicting drag coefficient from synthetic flow data.
Unsupervised Learning: Clustering using PCA
Neural Networks: Autoencoders for dimensionality reduction of CFD fields
🚧 Work in Progress
This repo will be continuously updated with:
Hybrid ML + CFD: Surrogate modeling to accelerate simulations
🔧 New datasets and preprocessing tools
🤝 Contributions
Contributions are welcome! Feel free to:
Open issues for discussions 💬
Share new CFD datasets 📂
📜 License
This project is licensed under the MIT License.