Optimization of Wind Plant Layouts Using an Adjoint Approach

Ryan King, Peter Graf, Peter Hamlington, Katherine Dykes

Research output: Contribution to journalArticlepeer-review

45 Scopus Citations


Using adjoint optimization and three-dimensional Reynolds-averaged Navier Stokes (RANS) simulations, we present a new gradient-based approach for optimally siting wind turbines within utility-scale wind plants. By solving the adjoint equations of the flow model, the gradients needed for optimization are found at a cost that is independent of the number of control variables, thereby permitting optimization of large wind plants with many turbine locations. Moreover, compared to the common approach of superimposing prescribed wake deficits onto linearized flow models, the computational efficiency of the adjoint approach allows the use of higher-fidelity RANS flow models which can capture nonlinear turbulent flow physics within a wind plant. The RANS flow model is implemented in the Python finite element package FEniCS and the derivation of the adjoint equations is automated within the dolfin-adjoint framework. Gradient-based optimization of wind turbine locations is demonstrated on idealized test cases that reveal new optimization heuristics such as rotational symmetry, local speedups, and nonlinear wake curvature effects. Layout optimization is also demonstrated on more complex wind rose shapes, including a full annual energy production (AEP) layout optimization over 36 inflow directions and 5 windspeed bins.
Original languageAmerican English
Pages (from-to)115-131
Number of pages17
JournalWind Energy Science
Issue number1
StatePublished - 2017

Bibliographical note

See NREL/JA-2C00-72629 for article as published in Wind Energy Science Discussions

NREL Publication Number

  • NREL/JA-2C00-67162


  • adjoint optimization
  • RANS simulations
  • siting
  • utility-scale
  • wind turbines


Dive into the research topics of 'Optimization of Wind Plant Layouts Using an Adjoint Approach'. Together they form a unique fingerprint.

Cite this