aviary

NASA's aircraft analysis, design, and optimization tool

https://github.com/openmdao/aviary

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.8%) to scientific vocabulary

Keywords

aircraft-design nasa optimization trajectory-optimization
Last synced: 6 months ago · JSON representation ·

Repository

NASA's aircraft analysis, design, and optimization tool

Basic Info
Statistics
  • Stars: 215
  • Watchers: 11
  • Forks: 103
  • Open Issues: 175
  • Releases: 0
Topics
aircraft-design nasa optimization trajectory-optimization
Created about 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

Aviary -- NASA's aircraft design tool

All Contributors <!-- ALL-CONTRIBUTORS-BADGE:END -->

Check out the Aviary documentation

NASA's Aviary Takes Flight (Presented at EAA AirVenture 2024)

Get in touch with the Aviary team at agency-aviary@mail.nasa.gov or the GitHub discussions page

Description

This repository is an OpenMDAO-based aircraft modeling tool that incorporates aircraft sizing equations from its predecessors GASP (General Aviation Synthesis Program) and FLOPS (Flight Optimization System). There are two options for the mission analysis portion of this code, a 2 degrees-of-freedom (2DOF) approach, and a energy-height approach. The user can select which type of mission analysis to use, as well as whether to use the FLOPS-based code or the GASP-based code for the weight, sizing, and aerodynamic relations.

Aviary is currently in a beta state. The code is under active development, and frequent changes should be expected.

Installation

The simplest installation method for users is to install via pip:

pip install aviary

Please see the installation doc page for more detailed instructions. The minimum supported Python version for Aviary is 3.9.

Documentation

The Aviary documentation is located here.

Validation

This code has been validated using output and data from the GASP and FLOPS codes themselves. The GASP-based weight calculations in this code include in their comments which versions of the GASP standalone weights module were used in validation. The aero and EOM subsystem validations were based on runs of the entire GASP and FLOPS code as they stood in the summer of 2021 and the summer of 2022 respectively.

Quick testing

The repository installation can be tested using the command testflo . at the top-level Aviary folder. If you have both SNOPT and IPOPT installed the output should look something like this:

    OK

    Passed:  706
    Failed:  0
    Skipped: 3


    Ran 709 tests using 16 processes
    Wall clock time:   00:00:16.97

Full testing

In addition to all of the quicker tests, we include multiple integration tests within Aviary. These have also been known as "benchmarks". Due to their length, these tests are not run when using the above command. Instead, you can use the run_all_benchmarks.py file in the Aviary/aviary folder, which is just a light wrapper around the testflo call. This will run all of the longer tests in parallel using all of your available CPU cores.

Package versions

Information on the versions of the packages required for Aviary can be found in the most recent GitHub Actions runs. We have also provided a static version of the environment.yml at the top level of the Aviary repo.

Planned future features

Aviary is in active development. We plan to expand its capabilities and have provided a non-exhaustive list of future features.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Jeff Chapman
Jeff Chapman

💻 💡
crecine
crecine

💻 🔣 👀
dlcaldwelljr-ama-inc
dlcaldwelljr-ama-inc

💻 🚇 🧑‍🏫 👀
Eliot Aretskin-Hariton
Eliot Aretskin-Hariton

💻 🔍 👀
Erik Olson
Erik Olson

💻
DP
DP

💡
gawrenn
gawrenn

💻 💡
hschilling
hschilling

💻 🎨
Kenneth Lyons
Kenneth Lyons

💻 👀
Jennifer Gratz
Jennifer Gratz

💻 📖 📆 👀
Jason Kirk
Jason Kirk

💻 🔣 📖 👀
John Jasa
John Jasa

💻 📖 💡 👀 📹
Kenneth Moore
Kenneth Moore

💻 🚇 👀
Rob Falck
Rob Falck

🚇 🧑‍🏫
Ben Margolis
Ben Margolis

💻 🚇
swryan
swryan

💻 🚇
Xun Jiang
Xun Jiang

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Owner

  • Name: OpenMDAO
  • Login: OpenMDAO
  • Kind: organization
  • Email: openmdao@openmdao.org

Citation (CITATION.cff)

cff-version: 1.2.0
title: Aviary: An Open-Source Multidisciplinary Design, Analysis, and Optimization Tool for Modeling Aircraft with Analytic Gradients
message: Please use this citation when using Aviary in your research!
type: software
authors:
  - given-names: Jennifer
    family-names: Gratz
    affiliation: NASA Glenn Research Center
  - given-names: Jason
    family-names: Kirk
    affiliation: NASA Langley Research Center
  - given-names: Carl
    family-names: Recine
    affiliation: NASA Ames Research Center
  - given-names: John
    family-names: Jasa
    affiliation: Banner Quality Management Inc.
  - given-names: Eliot
    family-names: Aretskin-Hariton
    affiliation: NASA Glenn Research Center
  - given-names: Kenneth
    family-names: Moore
    affiliation: Banner Quality Management Inc.
identifiers:
  - type: doi
    value: 10.2514/6.2024-4219
repository-code: 'https://github.com/OpenMDAO/Aviary'
repository: 'https://github.com/OpenMDAO/Aviary_Community'
license: Apache-2.0
version: 0.9.10

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 230
  • Total pull requests: 432
  • Average time to close issues: 2 months
  • Average time to close pull requests: 11 days
  • Total issue authors: 28
  • Total pull request authors: 30
  • Average comments per issue: 0.19
  • Average comments per pull request: 0.41
  • Merged pull requests: 284
  • Bot issues: 1
  • Bot pull requests: 16
Past Year
  • Issues: 73
  • Pull requests: 204
  • Average time to close issues: 26 days
  • Average time to close pull requests: 11 days
  • Issue authors: 18
  • Pull request authors: 17
  • Average comments per issue: 0.11
  • Average comments per pull request: 0.39
  • Merged pull requests: 120
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jkirk5 (101)
  • hschilling (29)
  • johnjasa (28)
  • Kenneth-T-Moore (18)
  • cmbenne3 (9)
  • ehariton (7)
  • xjjiang (7)
  • crecine (5)
  • jdgratz10 (3)
  • kanekosh (3)
  • aalemu1 (2)
  • swryan (2)
  • timryanb (1)
  • allcontributors[bot] (1)
  • bdphilli (1)
Pull Request Authors
  • xjjiang (85)
  • jkirk5 (68)
  • Kenneth-T-Moore (65)
  • crecine (62)
  • johnjasa (29)
  • swryan (22)
  • hschilling (22)
  • allcontributors[bot] (16)
  • cmbenne3 (12)
  • ehariton (9)
  • kaushikponnapalli (6)
  • szoppelt (4)
  • nathanperreau (3)
  • aalemu1 (3)
  • jsonirobots (3)
Top Labels
Issue Labels
bug (65) code cleanup (45) enhancement (38) documentation (16) usability (15) validation (12) epic (10) good first issue (7) question (4) performance (2) help wanted (1) duplicate (1)
Pull Request Labels
enhancement (5) code cleanup (4) bug (3) question (2) epic (2) documentation (1) duplicate (1) usability (1)

Dependencies

.github/workflows/test_workflow.yml actions
  • actions/checkout v3 composite
  • actions/checkout v2 composite
  • actions/setup-python v3 composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2 composite
  • pre-commit/action v3.0.0 composite
pyproject.toml pypi
setup.py pypi
  • dymos >=1.8.1
  • hvplot *
  • matplotlib *
  • numpy *
  • openmdao >=3.27.0
  • pandas *
  • panel >=1.0.0
  • parameterized *
  • simupy *
.github/workflows/test_workflow_no_dev_install.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/notify_teams.yml actions
  • dawidd6/action-send-mail v3 composite
.github/actions/prepare_environment/action.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2 composite
.github/actions/send_email/action.yml actions
  • dawidd6/action-send-mail v3 composite
.github/workflows/test_benchmarks.yml actions
  • ./actions/.github/actions/prepare_environment * composite
  • actions/checkout v3 composite
.github/workflows/test_docs.yml actions
  • ./actions/.github/actions/prepare_environment * composite
  • actions/checkout v3 composite
environment.yml pypi
  • ansicolors ==1.1.8
  • aviary ==0.2.1
  • build-pyoptsparse ==2.0.6
  • certifi ==2023.7.22
  • charset-normalizer ==3.3.0
  • coverage ==4.5.4
  • dymos ==1.9.2.dev0
  • idna ==3.4
  • mdolab-baseclasses ==1.8.0
  • networkx ==3.1
  • openmdao ==3.28.1.dev0
  • parameterized ==0.9.0
  • pyoptsparse ==2.9.1
  • requests ==2.31.0
  • setuptools ==65.7.0
  • simupy ==1.1.2
  • sqlitedict ==2.1.0
  • testflo ==1.4.12
  • urllib3 ==2.0.6