G2Aero
G2Aero: A Python package for separable shape tensors - Published in JOSS (2023)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README and JOSS metadata -
○Academic publication links
-
✓Committers with academic emails
5 of 6 committers (83.3%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
Separable shape tensors for aerodynamic design
Basic Info
Statistics
- Stars: 16
- Watchers: 4
- Forks: 7
- Open Issues: 0
- Releases: 4
Metadata Files
README.md
G2Aero: Separable shape tensors for aerodynamic design
G2Aero is a flexible and practical tool for design and deformation of 2D airfoils and 3D blades using data-driven approaches. G2Aero utilizes the geometry of matrix manifolds—specifically the Grassmannian—to build a novel framework for representing physics-based separable deformations of shapes. G2Aero offers the flexibility to generate perturbations in a customizable way over any portion of the blade. The G2Aero framework utilizes data-driven methods based on a curated database of physically relevant airfoils. Specific tools include:
- principal geodesic analysis over normal coordinate neighborhoods of matrix manifolds;
- a variety of data-regularized deformations to nominal 2D airfoil shapes;
- Riemannian interpolation connecting a sequence of airfoil cross-sections to build 3D blades from 2D data;
- consistent perturbations over the span of interpolated 3D blades based on dominant modes from the data-driven analysis.
More details can be found in the G2Aero documentation.
Installation
Install G2Aero from sources with Python3.x:
bash
git clone https://github.com/NREL/G2Aero.git
cd G2Aero
python setup.py install
Installing via conda-forge
bash
conda install -c conda-forge g2aero
Testing
You can run the tests from the root g2aero folder (once you installed pytest):
bash
pip install pytest
pytest
Usage
Example
Grassmannian interpolation combined with parametrized affine deformations:

Contributing
Contributions are always welcome! See contributing.md for ways to get started.
Please adhere to this project's code of conduct.
Citations
If you use this software in your research or publications, please cite the following paper:
@article{Doronina_JOSS_2023,
author = {Olga A. Doronina and Zachary J. Grey and Andrew Glaws},
title = {G2Aero: A Python package for separable shape tensors},
journal = {Journal of Open Source Software},
publisher = {The Open Journal},
year = {2023},
volume = {8},
number = {89},
pages = {5408},
doi = {10.21105/joss.05408},
url = {https://doi.org/10.21105/joss.05408},
}
@article{GreyJCDE2023,
author = {Grey, Zachary J and Doronina, Olga A and Glaws, Andrew},
title = "{Separable shape tensors for aerodynamic design}",
journal = {Journal of Computational Design and Engineering},
volume = {10},
number = {1},
pages = {468-487},
year = {2023},
month = {01},
doi = {10.1093/jcde/qwac140},
url = {https://doi.org/10.1093/jcde/qwac140},
}
@inproceedings{grassmannian2022,
title={Grassmannian Shape Representations for Aerodynamic Applications},
author={Olga Doronina and Zachary Grey and Andrew Glaws},
booktitle={AAAI 2022 Workshop on AI for Design and Manufacturing (ADAM)},
year={2022},
url={https://openreview.net/forum?id=1RRU6ud9YC}
}
Owner
- Name: National Renewable Energy Laboratory
- Login: NREL
- Kind: organization
- Location: Golden, CO
- Website: http://www.nrel.gov
- Repositories: 599
- Profile: https://github.com/NREL
JOSS Publication
G2Aero: A Python package for separable shape tensors
Authors
National Institute of Standards and Technology, USA
National Renewable Energy Laboratory, USA
Tags
airfoils manifolds generative model shape representation Grassmannian data-drivenGitHub Events
Total
- Watch event: 3
- Push event: 6
- Pull request event: 1
- Fork event: 7
- Create event: 1
Last Year
- Watch event: 3
- Push event: 6
- Pull request event: 1
- Fork event: 7
- Create event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Olga Doronina | o****a@n****v | 204 |
| Zach Grey | z****y@n****v | 21 |
| Zachary Grey | z****1@m****v | 7 |
| Grey | z****1@e****v | 6 |
| Daniel S. Katz | d****z@i****g | 3 |
| Grey | z****1@g****v | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 5
- Total pull requests: 3
- Average time to close issues: 10 days
- Average time to close pull requests: about 18 hours
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 1.8
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- isdanni (4)
- vissarion (1)
Pull Request Authors
- olgadoronina (2)
- danielskatz (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 1
- Total dependent repositories: 1
- Total versions: 1
conda-forge.org: g2aero
G2Aero is a flexible and practical tool for design and deformation of 2D airfoils and 3D blades using data-driven approaches. G2Aero utilizes the geometry of matrix manifolds—specifically the Grassmannian to build a novel framework for representing physics-based separable deformations of shapes. G2Aero offers the flexibility to generate perturbations in a customizable way over any portion of the blade. The G2Aero framework utilizes data-driven methods based on a curated database of physically relevant airfoils.
- Homepage: https://github.com/NREL/G2Aero
- License: BSD-3-Clause
-
Latest release: 0.1.1
published almost 4 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- actions/checkout master composite
- actions/setup-python master composite
- codecov/codecov-action v2 composite
- iPython *
- myst_parser *
- nbsphinx *
- nbsphinx_link *
- pandoc *
- sphinx-autoapi *
- sphinx-rtd-theme *
- sphinxcontrib-bibtex *
- PyYAML *
- numpy *
- scipy *
- setuptools *
