G2Aero

G2Aero: A Python package for separable shape tensors - Published in JOSS (2023)

https://github.com/nrel/g2aero

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

Mathematics Computer Science - 34% confidence
Last synced: 6 months ago · JSON representation

Repository

Separable shape tensors for aerodynamic design

Basic Info
  • Host: GitHub
  • Owner: NREL
  • License: bsd-3-clause
  • Language: HTML
  • Default Branch: main
  • Homepage:
  • Size: 1.08 GB
Statistics
  • Stars: 16
  • Watchers: 4
  • Forks: 7
  • Open Issues: 0
  • Releases: 4
Created about 4 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Citation

README.md

test paper Documentation Status

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: blade gif

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

JOSS Publication

G2Aero: A Python package for separable shape tensors
Published
September 20, 2023
Volume 8, Issue 89, Page 5408
Authors
Olga A. Doronina ORCID
National Renewable Energy Laboratory, USA
Zachary J. Grey
National Institute of Standards and Technology, USA
Andrew Glaws
National Renewable Energy Laboratory, USA
Editor
Vissarion Fisikopoulos ORCID
Tags
airfoils manifolds generative model shape representation Grassmannian data-driven

GitHub 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

All Time
  • Total Commits: 243
  • Total Committers: 6
  • Avg Commits per committer: 40.5
  • Development Distribution Score (DDS): 0.16
Past Year
  • Commits: 15
  • Committers: 1
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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.

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.1%
Dependent packages count: 28.9%
Average: 44.8%
Stargazers count: 60.4%
Forks count: 65.7%
Last synced: 6 months ago

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/python-package.yml actions
  • actions/checkout master composite
  • actions/setup-python master composite
  • codecov/codecov-action v2 composite
docs/requirements.txt pypi
  • iPython *
  • myst_parser *
  • nbsphinx *
  • nbsphinx_link *
  • pandoc *
  • sphinx-autoapi *
  • sphinx-rtd-theme *
  • sphinxcontrib-bibtex *
requirements.txt pypi
  • PyYAML *
  • numpy *
  • scipy *
  • setuptools *
setup.py pypi