A package for the performance analysis and optimisation of wind turbine blades performance
Project description
py_windblade_opa
A python package for Windblade Optimization and Performance Assessment
Author: N. Papadakis.
Scope
This package is intended to provide a set of tools for the optimization and performance assessment of wind turbine blades.
Installation
For Users
If you just want to use py_windblade_opa in your own projects, install the latest stable version from PyPI:
pip install py-windblade-opa
For Developers and Contributors
We offer two ways to set up the development environment. We strongly recommend using uv (the modern method) as it guarantees you are using the exact same dependencies and Python version as the maintainers.
Option A: Using uv (Recommended)
This method automatically handles Python version management and dependency locking.
- Clone the repository:
git clone https://github.com/npapnet/py_windblade_opa.git
cd py_windblade_opa
- Sync the environment: This command creates the virtual environment, installs the specific Python version required, and sets up the package in editable mode, installing also all the development dependencies.
uv sync --extra dev
- Run tests or scripts: You can run commands inside the environment using
uv run:
# Run the test suite
uv run pytest
# Run a script
uv run python examples/my_script.py
Option B: Using Conda (Legacy)
If you prefer managing your own environments with Conda, you can install the package in "editable" mode using standard pip.
- Clone the repository:
git clone https://github.com/npapnet/py_windblade_opa.git
cd py_windblade_opa
- Create and activate your Conda environment:
conda create -n windblade python=3.13
conda activate windblade
Install in editable mode: Note: You must use the [dev] flag to get testing tools like pytest and ruff.
pip install -e .[dev]
Verify Installation To confirm everything is working, run the following command (works for both methods):
python -c "import py_windblade_opa; print(f'Successfully installed version {py_windblade_opa.__version__}')"
Usage
The package is still under development. The following is an example of how to use the package:
import py_windblade_opa as wbo
power = 1000
Cp = 0.45
n_elec = 0.95
v_nom = 10
reqs = Reqs(power_w=power, n_elec=n_elec, v_nom=v_nom, Cp=Cp)
constants = .wbo.Constants()
config = wbo.Config(lambda0=4.8, no_blades=3, pitch=0)
r_m = wbo.reqs.estimate_blade_r()
blade = wbo.Blade(r_m=r_m, wt_config=config)
blade_calc = wbo.BladeCalc(blade=blade)
blade.main_calculation()
blade_calc.calculate_i_flow(verbosePlot=False)
blade_calc.step3_eleven_coeffs(verbosePlot=False)
blade_calc.step4_coeffs_collection()
blade_calc.step5_rpm_power(verbosePlot=False)
blade_calc.step6_torque_calcs(verbosePlot=True)
plt.show()
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_windblade_opa-0.7.0.tar.gz.
File metadata
- Download URL: py_windblade_opa-0.7.0.tar.gz
- Upload date:
- Size: 4.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c5040819873fc3c5da0122a7b9343c2f4f5ed955c33c8737c4097a9693fa540
|
|
| MD5 |
8a2aafbc6b7ab7a47e5faef4620dbb27
|
|
| BLAKE2b-256 |
27b113cca2a2c187231a4d4a2a130e1c564228cc5d0089c44df0e6818b3d0aca
|
File details
Details for the file py_windblade_opa-0.7.0-py3-none-any.whl.
File metadata
- Download URL: py_windblade_opa-0.7.0-py3-none-any.whl
- Upload date:
- Size: 46.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adf7533c4b716793ab675d23f695459acf050fd61c2a535b01a4a032f7b7e813
|
|
| MD5 |
0f0cfeaf9d22ca7dc9ee9fd780444356
|
|
| BLAKE2b-256 |
e4b150e6949d2cdc147c678dc0f358597dca251820a594a4907af59b8d345806
|