Code
G2Aero
A Python package for separable shape tensors applied to aerodynamic design. G2Aero uses the geometry of the Grassmannian and SPD manifolds to generate novel airfoil shapes, build 3D blades from 2D cross-sections, and apply consistent span-wise perturbations--all informed by a curated database of over 19,000 airfoils.
Here are some G2Aero random, fixed-scale 10-dimensional shape animations built utilizing the Riemannian interpolation scheme in G2Aero for generating blades/wings: (script available upon request)
IEA-15-240 blade interpolation wireframe built from 10 nominal cross-sections (bold) using G2Aero:
Key references
- Grey, Doronina, & Glaws (2023). Separable shape tensors for aerodynamic design. Journal of Computational Design and Engineering 10(1), 468–487. arXiv:2208.04743
- Doronina, Lee, Grey, & Glaws (2025). Aerodynamic sensitivities over separable shape tensors. AIAA Journal 63(7).
Python Active-subspaces Utility Library
A Python library for discovering and exploiting active subspaces in computational models. Provides tools for gradient-based dimension reduction, sufficient summary plots, and response surface construction.
Key references
- Grey & Constantine (2018). Active subspaces of airfoil shape parameterizations. AIAA Journal 56(5), 2003–2017. arXiv:1702.02909