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).

Metadata

Release files for hyperstruct 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hyperstruct 0.1.0
File Size Uploaded
hyperstruct-0.1.0.tar.gz 41.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hyperstruct 0.1.0
File Interpreter ABI Platform
hyperstruct-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 82.1 kB

Release files / hyperstruct-0.1.0.tar.gz

Download URL hyperstruct-0.1.0.tar.gz
Size 41.4 kB
Tags Source
SHA-256 checksum
How to use checksums
60aa04532ae002cc9cd59d21a40ba9d6fe5443ef27c4447e5fdbef1b107d96fb
BLAKE2b-256 checksum
How to use checksums
63bd0ef36f6218ce8cab6d004a708a5e4b2af1bbdb4dc4ef6baa445d1231370e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / hyperstruct-0.1.0-py3-none-any.whl

Download URL hyperstruct-0.1.0-py3-none-any.whl
Size 40.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93fcc87e597ec95ac1874b45373340dc69fc129efc6efb0b9d6e27ec3c01a9d4
BLAKE2b-256 checksum
How to use checksums
545d30363932b5fea3a5d53af6ccee886d94b14fdff6c14231c6b8416a3a4a63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.6

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page