Skip to main content

Hyperstruct

PyPI Status Python Version License

Read the documentation at https://hyperstruct.readthedocs.io/ Tests Codecov

pre-commit Black

HyperStruct is a modern implementation of the SWEEP software originally produced by Rockwell International in 1974. The Structural Weight Estimation Program for Aircraft (SWEEP) was originally implemented in FORTRAN. The source code for this program is no longer publicly available, but the US Defence Technical Information Center has published all the original documentation from Rockwell (which is extensive).

This project aims to meet the same objectives as SWEEP: devlop analytical computer programs capable of predicting the weight of aircraft structural components suitable for use during the conceptual phase of the aircraft design cycle. It builds a very high level of fidelity in the weight estimates, with flexiblity to a plethora of design variables. All of this is predominantly derived from fundamental structural methods, or historically predicated empirical formulas.

Current Status

  • 😬 Not much! This project requires a lot of boilerplate before any meaningful results or demos.
  • A major goal for 2025 is a functional demo of at least the Fuselage methods! Stay tuned!
  • Even without the aircraft or fuselage synthesis routines, the fuselage component classes can still be used to size Cover panels (without cutouts), and pressure bulkheads. This includes sizing Covers for local panel flutter and acoustic fatigue!

Roadmap

  • The majority of work at the moment revolves around the Fuselage synthesis. It is considered the second most complicated assembly for weight prediction, surpassed only by the Wing (there's more than 3 volumes of documentation Rockwell dedicated to that guy!).
  • After a functional Fuselage primary structure module, and perhaps started before in support of the synthesis methods, the Airloads module will be worked to derive external loading on the aircraft from basic mission requirements.
  • From that point, it may be beneficial to focus on the "simpler" sizing methods such as secondary structure, or Landing Gear (things that are mostly empirical or straight forward for weight approximations).

Current TODO List:

These should probably become their own Issues, but they will at least become their own PR's. It's easier to list them all here for now.

  • ForcedCrippling needs it's own class, so MinorFrames, Longerons, and Covers can utilize the same methods without repeating code.
  • MajorFrames need their own class for analysis methods.
  • Fuselage class needs a cut method to generate geometry for analysis by averaging the geometry between defined sections.
  • How does the Fuselage class define where all the different load points (and therefor MajorFrames) are?
  • Generate Shear-Moment-Torsion (VMT) diagrams for the fuselage.
  • Lookup loads at a synthesis cut, based on the net shell loads.
  • Loadcase filtering based on the "Critical Shell Design Loads" criteria?
  • Where are all the interface loads calculated? They should apply to their MajorFrames, but does Fuselage calculate them?
  • Create an examples directory with pre-made components

Installation

You can install Hyperstruct via pip from PyPI:

$ pip install hyperstruct

Usage

Please see the Command-line Reference for details.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Hyperstruct is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was originally generated from @cjolowicz's Hypermodern Python Cookiecutter template. Benjamin Crews is the creator and primary owner, with significant contributions from I. Maloney. Creation of this project would not be possible without the thorough documentation from Rockwell International (various authors).

Download files

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

Source Distribution

hyperstruct-0.1.0.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

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

hyperstruct-0.1.0-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

Details for the file hyperstruct-0.1.0.tar.gz.

File metadata

  • Download URL: hyperstruct-0.1.0.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hyperstruct-0.1.0.tar.gz
Algorithm Hash digest
SHA256 60aa04532ae002cc9cd59d21a40ba9d6fe5443ef27c4447e5fdbef1b107d96fb
MD5 94249b7b697f77033d6a32e09326239f
BLAKE2b-256 63bd0ef36f6218ce8cab6d004a708a5e4b2af1bbdb4dc4ef6baa445d1231370e

See more details on using hashes here.

File details

Details for the file hyperstruct-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hyperstruct-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 40.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hyperstruct-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93fcc87e597ec95ac1874b45373340dc69fc129efc6efb0b9d6e27ec3c01a9d4
MD5 41b8646f663708d17a4f07caeeb70349
BLAKE2b-256 545d30363932b5fea3a5d53af6ccee886d94b14fdff6c14231c6b8416a3a4a63

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.6

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

Supported by

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