Skip to main content

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.

  1. Clone the repository:
git clone https://github.com/npapnet/py_windblade_opa.git
cd py_windblade_opa
  1. 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
  1. 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.

  1. Clone the repository:
git clone https://github.com/npapnet/py_windblade_opa.git
cd py_windblade_opa
  1. 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

py_windblade_opa-0.7.0.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_windblade_opa-0.7.0-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

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

Hashes for py_windblade_opa-0.7.0.tar.gz
Algorithm Hash digest
SHA256 6c5040819873fc3c5da0122a7b9343c2f4f5ed955c33c8737c4097a9693fa540
MD5 8a2aafbc6b7ab7a47e5faef4620dbb27
BLAKE2b-256 27b113cca2a2c187231a4d4a2a130e1c564228cc5d0089c44df0e6818b3d0aca

See more details on using hashes here.

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

Hashes for py_windblade_opa-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adf7533c4b716793ab675d23f695459acf050fd61c2a535b01a4a032f7b7e813
MD5 0f0cfeaf9d22ca7dc9ee9fd780444356
BLAKE2b-256 e4b150e6949d2cdc147c678dc0f358597dca251820a594a4907af59b8d345806

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