Skip to main content

Conceptual aircraft design package with empirical and numerical methods

Project description

WUADS

Washington University Aerospace Design Suite (WUADS) is a Python-based conceptual aircraft design package built with two core goals: simplicity and extensibility. WUADS combines empirical methods with mixed-fidelity numerical models, enabling users to rapidly analyze aircraft performance across a wide range of configurations — from conventional transports to complex systems with alternative propulsion and unconventional geometries.

WUADS gui

Features

  • User Friendly Designer GUI

    WUADS aircraft designer GUI is designed to simplify the process of creating and editting WUADS input files

  • Empirical Weight Estimation
    Component-level empirical methods are used to accurately estimate the aircraft's weight based on configuration and inputs.

  • Vortex Lattice Method (VLM) Integration
    WUADS automates the setup and analysis of aerodynamic performance using the Athena Vortex Lattice (AVL) code.

  • Aerodynamic Performance Analysis
    Combines VLM results with empirical drag models to evaluate overall aircraft aerodynamic efficiency and static stability.

  • Mission-Based Range Estimation
    Supports custom mission profiles to estimate fuel burn, reserve fuel, and maximum range capabilities.

  • Optimization-Ready Framework
    Rapid performance predictions and a modular structure make WUADS ideal for conceptual optimization tasks.

  • Customizability and Extensibility WUADS is designed to allow the user to easily override the built in methods allowing for custom components, analysis methods, etc.


Download and Installation

WUADS can be downloaded like any other python package

pip install WUADS

The only complication is that in order to run a full aerodynamic analysis, Athena Vortex Lattice will need to be installed in the current working directory. Note that this just needs to be the "avl.exe". Alternatively, you can set up an environment variable which links 'avl' to the path of your avl.exe file. You can find the avl download on the site below.


Basic Usage

The basic syntax for using WUADS if fairly straightforward assuming you have already defined your input file.

from WUADS import Aircraft, weights_report, mission_profile_report

input_file = './inputs/aircraft.yml'    # Define the path to your input file
ac = Aircraft(input_file)               # Create the aircraft

weights_report(ac)                      # Generate a weights report
ac.mission.run_case()
mission_profile_report(ac)

The above code will load the aircraft input file, generate the geometry, calculate the weight, calculate the parasite drag, and populate the mission profile, and calculate the overall range of the aircraft. It will output 2 seperate reports one detailing the aircraft's weight properties and one detailing the aircraft's mission profile and range.

You have two seperate ways to create the input file. One is to edit the aircraft's .yml input file directly. This file is designed to be as readable to the user as possible and is not overly complex to use, however to simplify the process of creating these files, the designer GUI can be used. To launch the GUI, enter the following into the terminal or command line

WUADS 

Alternatively you can launch the gui with your input file instead of the default input

WUADS ./inputs/input_file.yml

Tutorials

Whether you're new to aircraft design or experienced in computational modeling, WUADS offers a simple interface with the flexibility for custom applications.

A growing collection of tutorials is available in the tutorials/ directory, including:


Citations

If you use WUADS in your research, please cite the following dissertation:

  • Kiely, M. "The Conceptual Design, Analysis and Optimization of a Hydrogen Combustion and a Hydrogen Fuel-Cell Powered Aircraft", PhD. Thsis, Washington University in St. Louis, available: available: http://openscholarship.wustl.edu/eng_etds/1031/
@phdthesis{kiely2025,
  author       = {Mike Kiely},
  title        = {The Conceptual Design, Analysis and Optimization of a Hydrogen Combustion and a Hydrogen Fuel-Cell Powered Aircraft},
  school       = {Washington University in St. Louis},
  year         = {2024},
  address      = {St. Louis, MO},
  note         = {available: http://openscholarship.wustl.edu/eng_etds/1031/}
}

Additionally, this thesis provides a full comprehensive explanation of all the models used in WUADS as well


Developers and Contributors

WUADS was developed and validated by

Want to contribute?

Please do! We are always looking to expand the code in whatever way we can and welcome contributions from the community To get involved just raise issues, create pull requests, or email me at k.mike@wustl.edu


Liscence

License

WUADS is licensed under the Mozilla Public License 2.0 (MPL 2.0).

This license allows you to freely use, modify, and distribute the software, provided that any modifications to the original source files are also shared under the same license. For more details, see the full license text.

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

wuads-0.2.12.tar.gz (273.1 kB view details)

Uploaded Source

Built Distribution

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

wuads-0.2.12-py3-none-any.whl (282.0 kB view details)

Uploaded Python 3

File details

Details for the file wuads-0.2.12.tar.gz.

File metadata

  • Download URL: wuads-0.2.12.tar.gz
  • Upload date:
  • Size: 273.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for wuads-0.2.12.tar.gz
Algorithm Hash digest
SHA256 79cf3e4c0ac6edd0b28fef6a2f3cda5b16b85f4ea0ac4f759b49cbd4f80ebd50
MD5 4e558c2524ba6212adc318dd8c6c03f7
BLAKE2b-256 0922ffdf9f1cb64906103f67da03e7c969cf68876c90e30626d0888ad50c4314

See more details on using hashes here.

File details

Details for the file wuads-0.2.12-py3-none-any.whl.

File metadata

  • Download URL: wuads-0.2.12-py3-none-any.whl
  • Upload date:
  • Size: 282.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for wuads-0.2.12-py3-none-any.whl
Algorithm Hash digest
SHA256 d72b4fc985ad4431d1ed917512f869628dd933eb864395d9af54127ea4d02f4a
MD5 3f9dd38dcce1d212d758b6b81d867705
BLAKE2b-256 9a9141db420549f8ad9ca9edc1760cf8acbcf25ccd74f75284d4dab4ee1173b9

See more details on using hashes here.

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