Skip to main content

Python interface to the Stormbird library for simulating lifting surfaces.

Project description

pystormbird

A Python interface to the Stormbird library for simulating lifting surfaces.

Requirements

⚠️ Rust Toolchain Required

This package is distributed as source only and must be compiled during installation. You must have the Rust toolchain installed before installing this package.

Install Rust: Visit https://rust-lang.org/

Installation

Once Rust is installed, install pystormbird with pip:

pip install pystormbird

Or install from source:

git clone https://github.com/NTNU-IMT/stormbird.git
cd stormbird/interfaces/pystormbird
pip install .

Use Cases

  • Running lifting line simulations through Python scripting
  • Testing parts of the code that require plotting and visual inspection

Implementation Details

The interface is made using PyO3. The layout and structure of the code follow the source code in Stormbird as much as possible.

The initialization of most classes is done using JSON strings, to avoid unnecessary maintenance of code. You can use Python's built-in json module for dictionaries, or use the stormbird_setup helper package.

It is not a goal to offer an interface to every aspect of the Stormbird library. Rather, an interface is only made when a specific use case has presented itself.

Development

For a test build using cargo:

cargo build

To build a distributable wheel:

maturin build --release

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

pystormbird-0.9.0.tar.gz (47.4 kB view details)

Uploaded Source

File details

Details for the file pystormbird-0.9.0.tar.gz.

File metadata

  • Download URL: pystormbird-0.9.0.tar.gz
  • Upload date:
  • Size: 47.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pystormbird-0.9.0.tar.gz
Algorithm Hash digest
SHA256 1e80074d70f96908075213f058cb4f96dbbc7271f0e90ae614269d53cba366f3
MD5 13d07a236eb47b06834ab56b38848ec5
BLAKE2b-256 bcebc47fd06aed4ebf041bb911eb54d06fcab2fc5917161f5b8177939ae1b1de

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