https://github.com/openmdao/aviary
NASA's aircraft analysis, design, and optimization tool
https://github.com/openmdao/aviary
aircraft-design nasa openmdao optimization trajectory-optimization
Last synced: 5 months ago
JSON representation
NASA's aircraft analysis, design, and optimization tool
- Host: GitHub
- URL: https://github.com/openmdao/aviary
- Owner: OpenMDAO
- License: other
- Created: 2023-12-20T14:11:17.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-29T16:31:41.000Z (5 months ago)
- Last Synced: 2025-10-29T18:32:07.171Z (5 months ago)
- Topics: aircraft-design, nasa, openmdao, optimization, trajectory-optimization
- Language: Python
- Homepage: https://openmdao.github.io/Aviary/
- Size: 51.5 MB
- Stars: 231
- Watchers: 9
- Forks: 104
- Open Issues: 182
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# Aviary -- NASA's aircraft design tool
[](#contributors-)
**Check out the Aviary [documentation](https://openmdao.github.io/Aviary/intro.html)**
**[NASA's Aviary Takes Flight](https://ntrs.nasa.gov/citations/20240009217) (Presented at EAA AirVenture 2024)**
**Get in touch with the Aviary team at agency-aviary@mail.nasa.gov or the GitHub [discussions page](https://github.com/OpenMDAO/Aviary/discussions)**
## Description
This repository is an [OpenMDAO](https://openmdao.org/)-based aircraft modeling tool that incorporates aircraft sizing equations from its predecessors [GASP (General Aviation Synthesis Program)](https://ntrs.nasa.gov/api/citations/19810010563/downloads/19810010563.pdf) and [FLOPS (Flight Optimization System)](https://software.nasa.gov/software/LAR-18934-1).
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](https://openmdao.github.io/Aviary/getting_started/installation.html) for more detailed instructions.
The minimum supported Python version for Aviary is 3.9.
## Documentation
The Aviary documentation is located [here](https://openmdao.github.io/Aviary/intro.html).
## 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](https://github.com/OpenMDAO/Aviary/actions).
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](https://openmdao.github.io/Aviary/misc_resources/planned_future_features.html).
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Jeff Chapman
💻 💡

crecine
💻 🔣 👀

dlcaldwelljr-ama-inc
💻 🚇 🧑🏫 👀

Eliot Aretskin-Hariton
💻 🔍 👀

Erik Olson
💻

DP
💡

gawrenn
💻 💡

hschilling
💻 🎨

Kenneth Lyons
💻 👀

Jennifer Gratz
💻 📖 📆 👀

Jason Kirk
💻 🔣 📖 👀

John Jasa
💻 📖 💡 👀 📹

Kenneth Moore
💻 🚇 👀

Rob Falck
🚇 🧑🏫

Ben Margolis
💻 🚇

swryan
💻 🚇

Xun Jiang
💻
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!