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.7.tar.gz (271.5 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.7-py3-none-any.whl (280.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wuads-0.2.7.tar.gz
  • Upload date:
  • Size: 271.5 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.7.tar.gz
Algorithm Hash digest
SHA256 c5eb1508db1a5c0f321c4e68f0037faae18b68fbc69d65329ebcbad869eb87fc
MD5 7072aa0a7a6a522277f5c20035fcc2f1
BLAKE2b-256 6159602304592f72e5f1bc6b100c0c3e6cf9a80db0f24b66d0606e73cf3db259

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wuads-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 280.3 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1772adaaa205ea589d60547536f8bd501497c98e9a9daf38fc03dff0191b98dd
MD5 8b33ad9a00d3eb58031e3d7704128044
BLAKE2b-256 679a0dba14c6c60923cafc02fa58eddec0f689cfedfc943db6e29bcb8af77b0d

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