Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 2.56 KB

README.md

File metadata and controls

43 lines (36 loc) · 2.56 KB

AERO-Optim

Continuous Integration GitHub Issues or Pull Requests

AERO-Optim is a simple aerodynamic shape optimization framework coupling FreeForm Deformation (FFD), automatic meshing with gmsh and any CFD solver execution in the frame of an optimization algorithm based on inspyred or pymoo. It is composed of the following core components:

  • ffd.py: which defines a class to perform 2D FFD of a given geometry,
  • *mesh.py: which define multiples classes to generate automatic meshes,
  • simulator.py: which defines a class to orchestrate CFD simulations including pre- and post-processing steps as well as progress monitoring,
  • *optimizer.py and evolution.py: which define multiple classes to coordinate the optimization procedures with inspyred or pymoo.

The full documentation is available HERE.

Installation

AERO-Optim requires Python 3.10 or newer and comes with a few dependencies listed in requirements.txt and recalled below:

gmsh        # to design and visualize meshes (MESH)
inspyred    # optimization toolbox (OPTIM)
numpy       # to manipulate geometries as arrays (FFD)
matplotlib  # to visualize the generated deformed profiles (FFD)
pandas      # to load simulation results (OPTIM)
pymoo       # optimization toolbox (OPTIM)
scipy       # to use quasi monte carlo samplers (FFD)

From the user's working directory, they can all be installed at once in a virtual environment with the following commands:

git clone https://github.com/mschouler/aero-optim.git
cd aero-optim
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .

To go further

Details about the following topics are available on the documentation: