Inspiration

When two wind turbines happen to line up in the direction of the wind, the second turbine generates less power because some of the energy in the wind is absorbed by the first turbine. We wondered what the optimal placement of n wind turbines would be given a set of parameters and restrictions.

What it does

For a given set of locations of n turbines, the program calculates the mean power function, which is the average power generated by this set of turbines assuming that wind comes from random directions with equal probability. The mean power function would have 2n parameters, which are the x- and y-coordinates of the n turbines. The program then uses the method of gradient ascent to find a local maximum for the power function, and displays this process visually.

How we built it

We built the program in Xcode with Swift and it would run on any iOS device as well as certain MacBooks. The program is based on SpriteKit, which manages 2D graphics.

Challenges we ran into

It was challenging to determine the power function, given that the wind is blowing from a specific direction. We ended up having to use a linear transformation to rotate everything so that wind blows vertically downwards, and we also had to solve a first order linear recurrence relation at a point!

Accomplishments that we're proud of

We were delighted to find out that the program was able to find a "good" placement of n wind turbines when the positions were random to begin with. Watching the power function going up was great!

What we learned

  • Mathematical modelling
  • Gradient descent

What's next for Optimal Placement of Wind Turbines

Instead of assuming that wind comes from all directions with equal probability, we considered modelling wind as having a prominent direction with a standard deviation. We then take a weighted mean of the power function evaluated at the mean and at values around the mean.

Share this project:

Updates