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.8.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.8.0-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_windblade_opa-0.8.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.8.0.tar.gz
Algorithm Hash digest
SHA256 faf7ce2f7f4aca8e411c445993e4b279d775e9d5feb898e14978bc5995291845
MD5 63cf40c85f88a71f90581f73b5a7475d
BLAKE2b-256 0086e1a24841189664f273833b6cf1d572ff57ec1bc7a759f9ba755748ff9b49

See more details on using hashes here.

File details

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

File metadata

  • Download URL: py_windblade_opa-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 47.7 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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91f21a19fad1120328712c57856f4518f935bf9d5f7d6466129a3efbcdfc8d04
MD5 52ddffdfaa25592af8b2fa1ef805a6ed
BLAKE2b-256 128745d937d5f5827ba6c1a7466ecd888730e15fc0608f40ae069b90c2fde049

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