FLORIDyn
Introduction
A dynamic wind farm simulation software, translated from FLORIDyn_Matlab [1], which was written by Marcus Becker. The code uses the Gaussian wake model derived in [3].
Model features
- Simulate wind farms dynamically at a low computational cost
- Estimate the power generated, added turbulence, and wake-induced losses
- Apply heterogeneous and time-varying wind speeds and directions
- Induction factor and yaw of the wind turbines can be controlled
- The 3D wind field can be calculated/ estimated if the (time dependant) free-flow wind speed, wind turbulence, wind shear and wind direction are known
- The model is highly configurable, allowing users to test different modeling approaches and optimize the trade-off between computational accuracy and simulation speed.
Future development
- An example for modelling of wind farm clusters has been added, but it needs validation against LES simulations.
- Simulating wind veer (change of wind direction with the height) has been implemented, but it is not yet merged into the main branch. This is needed to take the influence of the coriolis force into account.
- Integration with a mesoscale meteorological model is under consideration.
Status
All examples work, most key examples are selectable via a menu:
include("examples/menu.jl")The other examples can be executed directly using the include statement. Often, more than 30x the performance of the Matlab version can be achieved. Not all features of the Matlab version are integrated yet, for example only IterateOPs_basic is implemented.
A Python version of FLORIDyn is available at https://github.com/TUDelft-DataDrivenControl/OFF .
Installation
Install Julia 1.11, if you haven't already. Julia 1.10 is still supported. On Linux, make sure that Python3 and Matplotlib are installed:
sudo apt install python3-matplotlibMake sure that ControlPlots.jl works as explained here.
Before installing this software it is suggested to create a new project, for example like this:
mkdir test
cd test
julia --project=.Don't forget to type the dot at the end of the last command.
Then add FLORIDyn from Julia's package manager, by typing:
using Pkg
pkg"add FLORIDyn"at the Julia prompt. You can run the unit tests with the command:
pkg"test FLORIDyn"You can install the examples using the following command:
using FLORIDyn
install_examples()If you now quit Julia with <ctrl><d> and restart it with
./bin/run_juliathen you can get the example menu by typing:
menu()You can select any of the examples with the <UP> and <DOWN> keys, and then press <ENTER>.
Installation using GIT
For developers, follow the developer notes.
References
Citation of the FLORIDyn model:
[1] FLORIDyn - A dynamic and flexible framework for real-time wind farm control, M. Becker, D. Allaerts, J.W. van Wingerden, 2022, DOI 10.1088/1742-6596/2265/3/032103
Used FLORIS model:
[2] Experimental and theoretical study of wind turbine wakes in yawed conditions, M. Bastankhah, F. Porté-Agel, 2020, DOI 10.1017/jfm.2016.595
Gaussian wake model:
[3] Experimental and theoretical study of wind turbine wakes in yawed conditions, M. Bastankhah, F. Porté-Agel, 2016, Journal of Fluid Mechanics 806:506-541. DOI 10.1017/jfm.2016.595
Additional references for smaller subcomponents can be found in the code or in the related publications.