View on GitHub


A rotor optimization tool for axial-flow wind and water turbines

Download this project as a .zip file Download this project as a tar.gz file


HARP_Opt (Horizontal Axis Rotor Performance Optimization) utilizes MATLAB's optimization algorithms and the National Renewable Energy Laboratory's (NREL) WT-Perf blade element momentum (BEM) code to design axial-flow wind and water (i.e. hydrokinetic) turbine rotors.

The code optimizes a rotor's performance for steady and uniform flows (no sheared or yawed flows). A variety of rotor control configurations can be designed using HARP_Opt, including fixed or variable rotor speed and fixed or variable blade pitch configuration. Blades with circular or non-circular roots are also supported.

HARP_Opt can function as a single- or multiple-objective optimization code. The primary optimization objective is to maximize the turbine's annual energy production (AEP). Annual energy production is calculated using a Rayleigh, Weibull, or user-defined flow distribution. Maximum power is bounded, and maximum power point tracking (MPPT) is a combined objective with AEP. For hydrokinetic turbines, additional constraints are defined such that cavitation will not occur. An additional objective can be activated, in which HARP_Opt performs a structural optimization to minimize the blade mass. For the structural analysis, the blade is modeled as a thin shell of bulk isotropic material, and the blade mass is minimized using a maximum allowable strain as the constraint. Maximizing energy production and minimizing blade mass are conflicting objectives, thus HARP_Opt will identify the set of Pareto optimal solutions. To meet these objectives, HARP_Opt calculates the optimal blade shape (twist, chord, and airfoil/hydrofoil distributions) and optimal control of the rotor speed and blade pitch.

The HARP_Opt project was funded by the US Department of Energy Water Power Program. Code development and testing was performed at the NREL and the University of Tennessee.


Current Version: v3.0.0 (Release Candidate 1)

Previous Versions: v2.0.0

Installing and Running HARP_Opt

See the HARP-Opt GitHub Wiki.


Documentation for v3.0.0 is currently under development

Current Code Maintainers

Project Contributors