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.9.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.9.0-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_windblade_opa-0.9.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.9.0.tar.gz
Algorithm Hash digest
SHA256 7698efba06e95e3859a362dba08e1b03eda825df40a95387b76a298b8fb4d31c
MD5 702922c5eefc502b407c8ab3406ea9a3
BLAKE2b-256 88b5f08e3f26e223f83b11c29f77743a2eee0254f16b2a5bb99ae5fb645f3d87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: py_windblade_opa-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 52.4 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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8824198d992ea71bc9b1f04c8676befa8cdb59600a25197e494d25d75fbf7c4d
MD5 57067a8008fa0dae82771211dbb0e7c7
BLAKE2b-256 a0c0e0539a32bb4c7766bad379ea3fca389f6ff73a605a91ab57c6365755a59f

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