Skip to content

Mann.rs

DOI PyPI version PyPI downloads GitHub stars GitHub forks

Mann.rs is a high-performance turbulent wind field generator based on the Mann turbulence model, designed for wind turbine and wind farm simulations. It produces three-dimensional coherent wind fields and supports both unconstrained and constrained turbulence generation.

Built in Rust for speed and efficiency, Mann.rs provides seamless Python bindings and a command-line interface for easy integration and scalability into engineering workflows.

Installation

Mann.rs is available for Windows, MacOS, and Linux as a Python package.

pip install mannrs
For more details on the installation process, see the installation Guide.

Usage

Command line

mannrs input.toml
Define your simulation parameters in a TOML file. See the Input file format for details.

Python

from mannrs import Stencil

...

(
    Stencil(**mann_params)    # Define a stencil with Mann parameters
    .constrain(constraints)   # Apply velocity constraints (optional)
    .build()                  # Build the turbulence stencil
    .turbulence(ae, seed)     # Generate turbulent wind field
    .write("out.npz")         # Save windfield to file
)
For a step-by-step walkthrough, visit the Basic usage page.

Contributions

If you have suggestions or issues with Mann.rs, feel free raise an issue in the Mann.rs Github repository. Pull requests are welcome.

Citation

If you want to cite Mann.rs, please use this citation:

Liew, J., Riva, R., & Göçmen, T. (2023). Efficient Mann turbulence generation for offshore wind farms with applications in fatigue load surrogate modelling. Journal of Physics: Conference Series, 2626, 012050. DOI: 10.1088/1742-6596/2626/1/012050