Skip to main content

No project description provided

Project description

RustMann

A Mann turbulence generator for Python written in Rust. RustMann can generate 3D coherent turbulence boxes for wind turbine simulations as described in Mann, J. (1998). Wind field simulation. Probabilistic engineering mechanics, 13(4), 269-282.

Usage

RustMann separates the process of generating turbulence into two steps: stencil generation and turbulence generation. The stencil is a 5D matrix containing the spectral tensors needed to generate turbulence for a given set of parameters. A stencil can be reused to generate multiple random instances of turbulence. Implementations are provided in Python and Rust.

Python

import RustMann

params = {
    "L": 30.0,
    "gamma": 3.2,
    "Lx": 6000,
    "Ly": 200,
    "Lz": 200,
    "Nx": 8192,
    "Ny": 64,
    "Nz": 64,
}
ae = 0.2
seed = 1234

stencil = RustMann.Stencil(**params)
U, V, W = stencil.turbulence(ae, seed)

Rust

use RustMann::Stencil;

let (L, gamma) = (30.0, 3.2);
let (Lx, Ly, Lz) = (6000.0, 200.0, 200.0);
let (Nx, Ny, Nz) = (8192, 64, 64);
let ae = 0.2;
let seed = 1234;

let stencil = Stencil::from_params(L, gamma, Lx, Ly, Lz, Nx, Ny, Nz);
let (U, V, W) = stencil.turbulence(ae, seed);

Installation

Python

(Coming soon)

pip install rustmann

Rust

Add this to your Cargo.toml:

[dependencies]
rustmann = "0.1.0"

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

RustMann-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

RustMann-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

RustMann-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

RustMann-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

RustMann-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

RustMann-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

File details

Details for the file RustMann-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for RustMann-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f78a598b3a85563c05b36551ccf71906cf399637f3c3f4a9263a3586f67af8ec
MD5 0b87c4b85a0781bbcfcabaf5415cc9cd
BLAKE2b-256 970b98a8d4f22a2fce86dab196909b65cd89f1d4549c79e028a24991231b05d0

See more details on using hashes here.

File details

Details for the file RustMann-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for RustMann-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b97c4be0879fe75c7531ecfcc8e905e3d12942eaa122c7fce35843ab1174456c
MD5 4666f2993f2c66919e8778f3b4e284e2
BLAKE2b-256 e5b80caeee67beeb3860a8369a7e54f44c0faa3180ba378816004cb813a2b3ef

See more details on using hashes here.

File details

Details for the file RustMann-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for RustMann-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2e9c69e0a0dbf4cadd3178de2f0b8270b3065dc7613be92a1fe488ba8ceb6dc
MD5 7f57a9497306abdd404ceffa71872595
BLAKE2b-256 4199e307ca3aa46bf0b401c6e21de8c697dd850fdda6ebc29d7195ae392baf3d

See more details on using hashes here.

File details

Details for the file RustMann-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for RustMann-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb2913cb7b246186204e6caa94aae892419f5522c0bd2497f012f12c078edb7e
MD5 99a5883121d50a80425be23078cdfe8e
BLAKE2b-256 a832b27257012ceeee21220fb8e5a150e4bb1c02fb9165598edcce1e79b5e760

See more details on using hashes here.

File details

Details for the file RustMann-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for RustMann-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f590ad89a12a0018a6fb95a2314fbe5ae7f1f37ce46462504450c11b31fb3e63
MD5 b834e94eea4b886f3216ccb065b1b8c2
BLAKE2b-256 d0e273eadf25cbe16526201ede35009ca50c16dd370ea1aa040d6a2a8731d3da

See more details on using hashes here.

File details

Details for the file RustMann-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for RustMann-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f47689be99cc6de92d653358a7b1e31494a14f9afcd23231ff64f05a07b4e97
MD5 0503601da23501b7faf38a98849b4307
BLAKE2b-256 09d0a231878c87d36141a6ca684bd3bfd0aa1a97d44eb89415b4ac9ba95bd20e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page