Skip to content

TUDelft-DataDrivenControl/FLORIDyn_Matlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FLORIDyn framework

The Flow Redirection and Induction Dynamics Model (FLORIDyn) is a dynamic wake model designed for model-based wind farm flow control. Note that there are multiple implementations of the same principle, all with their own focus.

Alternative implementations

The code is written for Matlab; for Python, see the FLORIDyn implementation in OFF.

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
  • Test different modeling approaches

Control features

  • Three families of yaw angle trajectory derivation methods with each different implementations
  • Different cost functions (e.g., max energy, power, shifted energy)
  • Switch flow field predictions on / off or choose a transition between full and no knowledge.

State estimation features

  • Ensemble Kalman Filter flow field state estimation based on turbine measurements
  • Correction of Wind speed, direction, and ambient turbulence intensity
  • Different ways to calculate the Kalman Gain Matrix

Closed-loop application examples

  • Demo files to apply closed-loop model-based wind farm flow control based on FLORIDyn in tandem with the LES SOWFA

Getting started

This code is folder-based. This means that a folder is referenced in the main.m, and the code draws all information from that folder. Look under „Simulations“ to find example cases. Each case consists of data (e.g., wind speeds), parameters for FLORIS and FLORIDyn, a setup.mlx, and information about the turbine placement in turbineArrayProperties.m. The closed-loop cases also have a clc_settings.mlx file and the Ensemble Kalman Filter settings.

To change settings, investigate setup.mlx, the file contains all major settings and explanations. The same holds true for the clc_stettings.mlx and EnKF_settings.m

To set up your own case, copy past an existing one and replace what is needed. If you select data input sources that don’t have a related .csv file, the code will generate one for you in the fitting format.

Requirements

The code is based on MATLAB and tested in R2023a. The code uses the optimization toolbox, as well as the parallelization toolbox by MathWorks.

Implementations overview

There are multiple versions of FLORIDyn described in the literature. The table below lists those developed in collaboration with / at TU Delft. The table further gives an indication of what is implemented, which papers describe the model, and what can be expected in terms of computational speed.

Overview

Name Repository Model Paper FLORIDyn Wake model EnKF Optimization Active development Authors Comp. speed Language
FLORIDyn 3.0 This repo Link 3D, centerline Gaussian M.Becker + Matlab
FLORIDyn 2.0 Link Link 3D, multichain Gaussian M.Becker - Matlab
FLORIDyn 1.0 Link 2D, multichain Zone FLORIS P.M.O. Gebraad
OFF Link Link 3D, centerline FLORIS M.Becker, M. Lejeune 0 Python
FLORIDyn.jl Link Link 3D, centerline Gaussian in progress U.Fechner ++ Julia

References

Citation of the FLORIDyn model: FLORIDyn - A dynamic and flexible framework for real-time wind farm control, M. Becker, D. Allaerts, J.W. van Wingerden, 2022, http://doi.org/10.1088/1742-6596/2265/3/032103

Used FLORIS model: Experimental and theoretical study of wind turbine wakes in yawed conditions, M. Bastankhah, F. Porté-Agel, 2020, http://doi.org/10.1017/jfm.2016.595

Additional references for smaller subcomponents can be found in the code or in the related publications.

Publications that use FLORIDyn

About

Matlab version of the Flow Redirection and Induction Dynamics model (FLORIDyn)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published