Skip to main content

No project description provided

Project description

Aviary -- NASA's aircraft design tool

Aviary is an aircraft analysis, design, and optimization tool built on top of the Python-based optimization framework OpenMDAO. Aviary 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 two-degrees-of-freedom (2DOF) approach, and an energy-state 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 provides a flexible and user-friendly optimization platform for conceptual aircraft design. This tool is being used by college level senior design courses, NASA internally, a industry partners. Aviary is under active development! While the base features of the code are relatively stable, new releases may make changes that require users on the bleeding-edge to update their models.

If you are using Aviary, please Cite us!

Documentation

Read the Docs.

Overview Slide Slow is a great place to get started if you are wondering what Aviary is at a high level.

Overview Video gives a 5 minute introduction to Aviary.

Paper by Gratz et al. describing aviaries capabilities in detail.

How NASA uses aviary to model Aircraft by Aretskin-Hariton et al. describes how aviary was applied to model a Transonic Truss-Braced Wing (TTBW) aircraft.

Installation

Pip Install

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.

Docker Install

You can also install aviary as a package/image using docker:

docker pull ghcr.io/openmdao/aviary:latest

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.

Contact Us

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

Citing Aviary

If you use Aviary in your research, please cite:

Gratz, J., Kirk, J., Recine, C., Jasa, J., Aretskin-Hariton, E., Moore, K., & Marfatia, K. (2024). Aviary: An Open-Source Multidisciplinary Design, Analysis, and Optimization Tool for Modeling Aircraft With Analytic Gradients. AIAA AVIATION FORUM AND ASCEND 2024. https://doi.org/10.2514/6.2024-4219

BibTeX
@inbook{doi:10.2514/6.2024-4219,
author = {Jennifer Gratz and Jason Kirk and Carl Recine and John Jasa and Eliot Aretskin-Hariton and Kenneth Moore and Kiran Marfatia},
title = {Aviary: An Open-Source Multidisciplinary Design, Analysis, and Optimization Tool for Modeling Aircraft With Analytic Gradients},
booktitle = {AIAA AVIATION FORUM AND ASCEND 2024},
doi = {10.2514/6.2024-4219},
URL = {https://arc.aiaa.org/doi/abs/10.2514/6.2024-4219},
year = {2024},
}

Contributors โœจ

All 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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aviary-1.0.1.tar.gz (11.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aviary-1.0.1-py2.py3-none-any.whl (12.3 MB view details)

Uploaded Python 2Python 3

File details

Details for the file aviary-1.0.1.tar.gz.

File metadata

  • Download URL: aviary-1.0.1.tar.gz
  • Upload date:
  • Size: 11.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aviary-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fc60c9d6259873d0b5b7c8cd69a2f71d7ab1733128ecac51d937b38596fdb8f3
MD5 ff1fe8e7d78e870234efa8edd7fb9139
BLAKE2b-256 83e2735d6de051eec84551bbd3f34037da391891c3a8170baa118d7e6d7ea492

See more details on using hashes here.

Provenance

The following attestation bundles were made for aviary-1.0.1.tar.gz:

Publisher: release_workflow.yml on OpenMDAO/Aviary

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aviary-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: aviary-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aviary-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7a4d6e10227470c09b1df4acc7a04a345369208bfda0e30f90b115d3e3787007
MD5 ac00cb8a7d7d9dd0f8e5e174ece4bd59
BLAKE2b-256 fd378f4bbbe09b6c07921b981886208393dbab008e24c8d1f11e9621ff8f6660

See more details on using hashes here.

Provenance

The following attestation bundles were made for aviary-1.0.1-py2.py3-none-any.whl:

Publisher: release_workflow.yml on OpenMDAO/Aviary

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page