G2Aero: A Python Package for Separable Shape Tensors: Article No. 5408

Research output: Contribution to journalArticlepeer-review


G2Aero is a Python package for the design and deformation of discrete planar curves and tubular surfaces using a geometric data-driven approach. G2Aero utilizes a topology of product manifolds: the Grassmannian, G(n, 2) - the set of 2-dimensional subspaces in Rn - and the symmetric positive-definite (SPD) manifold, S2++ - the set of 2x2 SPD matrices. The package provides a novel framework for representing separable deformations to shapes, which consist of stretching, scaling, rotating, and translating - also known as affine deformations - and a set of complementary deformations - which we refer to as undulation-type deformations. We focus on airfoil and blade design applications to emphasize the utility of the methods in an environment where the separation of affine and undulation-type deformations is critical. Notable functionalities of the framework for blade design include: 1) generating novel 2D (airfoil) shapes informed by a database of physically relevant airfoils, 2) building 3D blades by interpolating sequences of 2D airfoil cross-sections, and 3) generating blades with consistent perturbations along the blade span. We discuss the framework and provide examples in the context of wind energy applications, specifically wind turbine blade design. Figure 1 shows the wire frame obtained by interpolating airfoils defining the IEA 15-MW wind turbine blade (Gaertner et al., 2020) and applying affine transformations corresponding to twist, chordal scaling, and bending. This, and all other figures in the paper, can be reproduced following examples and referencing supporting documentation provided in the G2Aero package.
Original languageAmerican English
Number of pages6
JournalJournal of Open Source Software
Issue number89
StatePublished - 2023

NREL Publication Number

  • NREL/JA-2C00-83886


  • airfoils
  • data-driven
  • generative model
  • Grassmannian
  • manifolds
  • shape representation


Dive into the research topics of 'G2Aero: A Python Package for Separable Shape Tensors: Article No. 5408'. Together they form a unique fingerprint.

Cite this