• Multi-farm tidal optimisation

  • Resource identifiation

  • Turbine location optimisation

  • Optimal turbine location in the Pentland Firth

  • 256 optimised tidal turbine locations with streamlines

  • The dynamical core of OpenTidalFarm consists of a shallow water solver, an adjoint solver, and an optimisation loop.

OpenTidalFarm is an open-source software for simulating and optimising tidal turbine farms.

The positioning of the turbines in a tidal farm is a crucial decision. Simulations show that the optimal positioning can increase the power generation of the farm by up to 50% and can therefore determine the viability of a project. However, finding the optimal layout is a difficult process due to the complex flow interactions. OpenTidalFarm solves this problem by applying an efficient optimisation algorithm onto a accurate flow prediction model.

Following presentation gives a quick introduction to OpenTidalFarm: OpenTidalFarm


A selection of features are:

  • nonlinear shallow water model for flow predictions;
  • predict power production of a farm;
  • compute sensitivities using OpenTidalFarm’s adjoint model;
  • optimise turbine position and size, e.g. to maximise the total farm power output;
  • site constraints and minimum distance between turbines;
  • optimisation of hundreds of turbines;
  • parallel support using MPI;
  • checkpoint support to restart optimisation.

How to get started

  1. Download and install OpenTidalFarm.
  2. Try some of our examples.
  3. Read the programmers reference to set up your own study.

For questions and to report issues use the GitHub issue tracker.


  • 20.12.2016: OpenTidalFarm 2016.2 released (compatibled with FEniCS 2016.2)
    • Support for dynamic farm optimisiation
    • New example for dynamic farm optimisation (by Håkon Taskén)
    • New example for resource assessment
    • Support of docker images
  • 27.09.2016: A new paper has been published on multi-farm optimisation using a continuous turbine approach.
  • 30.08.2016: Easy installation of OpenTidalFarm via Docker.
  • 14.07.2016: OpenTidalFarm 2016.1 released (compatibled with FEniCS 2016.1)
    • Continuous farm representation
    • Add a minimum distance constraints with many turbines (>300)
    • Support for turbine with thrust coefficient
    • New examples
    • Compatible with FEniCS 2016.1
  • 19.01.2015: OpenTidalFarm 1.5 released (compatibled with FEniCS 1.5)
    • Support for sensitivity analysis
    • New examples
    • Compatible with FEniCS 1.5
  • 20.08.2014: OpenTidalFarm 1.4 released (compatibled with FEniCS 1.4)
    • Complete rewrite of OpenTidalFarm.
  • 20.08.2014: OpenTidalFarm 0.9.1 released (compatibled with FEniCS 1.4)
    • Bugfix release.
  • 16.07.2014: OpenTidalFarm 0.9 released (compatibled with FEniCS 1.4)
    • Initial release.
    • Support for discrete farm optimisation.

Indices and tables


OpenTidalFarm is an open source project that can be freely used under the GNU GPL version 3 licence.