An AI-based designer of optimal airplane wings.
Training_Surrogate.mp4
To set up the environment for this project, you'll need to create a conda environment using the
provided environment.yml file. Follow these steps:
- Clone the repository:
git clone https://github.com/rbirkl/WingDesigner.git cd WingDesigner - Create the conda environment:
conda env create -f environment.yml
- Activate the conda environment:
conda activate WingDesigner
To run the program, execute the main.py script:
python main.pyThe following features are displayed:
- Scalar field = fluid density
- Vector field = fluid velocity
- Red polygon = airplane wing
When the program is started, it first trains a surrogate model and then optimizes the wing via an AI-based particle swarm.
The following features are supported by Wing Designer
- Real-time visualizer of physical fields via Pygame
- Fast field computations via CUDA
- 4th-order Runke-Kutta solver of compressible Navier-Stokes equations with gravitation
- Parametrization of wing via Bezier splines
- Generation of label data via multiple simulation runs
- Trainer of surrogate MLP-model with cross-validation
- Wing optimization via particle swarm based gradient descent optimization
Note that theory.txt contains a short theoretical derivation of the numerical equations used.
The license is MIT, see the LICENSE file.