This project uses a deep neural network trained on high-fidelity CFD (Computational Fluid Dynamics) simulations to predict:
- Coefficient of Lift (CL)
- Coefficient of Drag (CD)
- Optimal aerodynamic parameters to maximize the lift-to-drag ratio (CL/CD)
The goal is to enable fast, accurate aerodynamic analysis and optimization without the computational cost of running CFD for each new configuration.
The model has been trained using actual CFD simulation datasets, specifically focused on the DAE11 airfoil. This airfoil is commonly used in UAV and high-performance aircraft designs, making it a practical target for data-driven aerodynamic modeling.
- Predicts CL and CD for any given combination of angle of attack and Mach number
- Uses a fully connected neural network with two hidden layers (64 ReLU units each)
- Provides optimal parameter combinations based on CL/CD ratio
- Allows exporting simulation predictions to CSV
- Supports K-Fold cross-validation for model reliability
Input: [Alpha, Mach]
↓
Dense(64, relu)
↓
Dense(64, relu)
↓
Output: [CL, CD, Cp]
- Loss Function: Mean Squared Error (MSE)
- Optimizer: Adam
- Evaluation Metric: Mean Absolute Error (MAE)
| File / Function | Description |
|---|---|
get_best_params(angles, velocities) |
Returns a DataFrame of CL, CD, and CL/CD ratio for input combinations, sorted by best performance |
cfd_simulated_dataset.csv |
Generated dataset from running multiple CFD Simulations. |
model |
Trained Keras/TensorFlow model for aerodynamic prediction |
KFold code block |
Runs 5-fold cross-validation to assess generalization |
angles = [0, 5, 10, 15, 20]
velocities = [0.2, 0.3, 0.4, 0.5]
results = get_best_params(angles, velocities)
print(results.head()) # Show best-performing configsPerformed using 5-fold cross-validation:
from sklearn.model_selection import KFold
kf = KFold(n_splits=5, shuffle=True, random_state=42)Each fold trains and validates the model, measuring MAE on unseen data to ensure robust generalization.
Prediction vs Actual Values
| Alpha | Mach | CL | CD | CL/CD |
|---|---|---|---|---|
| 10.0 | 0.3 | 1.25 | 0.045 | 27.78 |
| 15.0 | 0.4 | 1.38 | 0.065 | 21.23 |
- Python 3.7+
- TensorFlow / Keras
- NumPy, Pandas
- (Optional)
google.colabfor notebook-based workflows
I plan to continue expanding and improving this project with the following goals:
- Add support for multiple airfoils beyond DAE11
- Improve model accuracy through hyperparameter tuning and deeper architectures
- Include additional aerodynamic parameters such as pressure coefficient (Cp) and moment coefficients
Running CFD simulations for every new aerodynamic condition is computationally expensive. This project allows me to learn from those simulations and make rapid predictions, enabling faster design and optimization loops in aerospace applications.
This project is intended for research and academic use. Please cite appropriately if used in any publications or derivative work.



