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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e80074d70f96908075213f058cb4f96dbbc7271f0e90ae614269d53cba366f3
|
|
| MD5 |
13d07a236eb47b06834ab56b38848ec5
|
|
| BLAKE2b-256 |
bcebc47fd06aed4ebf041bb911eb54d06fcab2fc5917161f5b8177939ae1b1de
|