MACH-Aero Framework
MACH-Aero is a framework for performing gradient-based aerodynamic shape optimization. It consists of the following core modules:
- baseClasses defines Python classes used by the other packages 
- pySpline is a B-spline implementation used by the other packages 
- pyGeo is a module for geometry manipulation and constraint formulation 
- IDWarp performs mesh warping using an inverse distance method 
- ADflow is a 2nd-order finite volume CFD solver with an efficient adjoint implementation 
- pyOptSparse is an optimization framework which provides a unified interface to several popular optimizers 
And the following optional modules:
- pyHyp is a hyperbolic mesh generation tool used as a preprocessing step 
- multiPoint facilitates distributed multipoint optimization and handles the parallel communication using MPI 
- cgnsUtilities is a command-line tool that allows carrying out several simple mesh manipulation operations on CGNS grids 
- DAFoam provides efficient adjoint implementations for OpenFOAM to be used for CFD instead of ADflow 
More detail for the framework can be found in Overview of MACH-Aero. If you use any of our codes, please cite us. If you would like to contribute to the development of any of these packages, please see our contribution guide.