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.6.6.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.6.6-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file py_windblade_opa-0.6.6.tar.gz.

File metadata

  • Download URL: py_windblade_opa-0.6.6.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.6.6.tar.gz
Algorithm Hash digest
SHA256 0554e235192cda7d5994f03e98f55ccb00e1230b421ba99b4f3d4f4f24f0f48d
MD5 c554d59f6547f50dd7c79b1ea804e457
BLAKE2b-256 805c3c0ef101b3f29070f11dd3121772ec8ba4c0d7481f11b8921a882b81f39b

See more details on using hashes here.

File details

Details for the file py_windblade_opa-0.6.6-py3-none-any.whl.

File metadata

  • Download URL: py_windblade_opa-0.6.6-py3-none-any.whl
  • Upload date:
  • Size: 46.0 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.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 dd6353346ccb480e166a627943fc349dab0562b77907242df7ac96c25dbf106b
MD5 fb01e9df2bbc21cff8a8e3217dbd8e4e
BLAKE2b-256 2d6257f54525ce5cae92cd72dd28513386bb77ff90364ddcbcaa55da0fbae9fa

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