energy yield assessment and site suitability using openfoam - crasto, castellani (sowe 2016)
TRANSCRIPT
Giorgio CRASTO, Francesco CASTELLANI
Fourth Symposium on OpenFOAM® in Wind Energy. TU Delft 2-4 May 2016
Energy Yield Assessment and Site Suitability using OpenFOAM
Calculation of AEP by means of CFD
In this study is presented a computation of Annual Energy Production (AEP or P50) for two selcted sites:
–Hundhammer: it’s a Norwegian small island with one single ridge NW-SE oriented. In Hundhammer 17 wind turbines are deployed. A terrain description is available in the evaluation version of WindSim. Production not available.
–Test case 2: is a N-S oriented ridge; forested areas are present nearby with high roughness, up to 1.4m of roughness length. Production available.
2/23
Current Workflow
3/23
Grid generator -> terrain fitted coordinates; similar to the Terrain Block Mesher developed at the Fraunhofer Institute
•Writing of the case folder •Meshlab for .asc to .stl conversion
RANS simulations for a prescribed number of wind directions and neutral stratification. •The standard k-epsilon turbulence modelling
•SIMPLE solver (uncompressible, steady state)
Post processing: wind data, park layout, power CT curves and wind speed (U0, U1, U2) plus TKE (k) at met masts and turbines are combined to obtain the AEP.
GNU Octave 4.0
2.3.1 / 3.0.1
Test case 1: Hundhammer
4/23
Digital terrain model - Elevation (m).
Satellite picture (Google Earth)
Test case 1: Hundhammer
5/23
Structured mesh created with the blockMesh.
The lower boundary fits to the ground.
The height of the first cell is set to 1.08m
=10.8*max(z0(x,y))
Test case 1: Hundhammer
6/23
While the roughness length z0 is also mapped.
Test case 1: Hundhammer
7/23
All cases (wind directions) converge smoothly to the
default residuals.
Residuals:
P 1e-3;
U 1e-4;
"(k|epsilon)" 1e-4
Version 2.3.1
Post processing
8/23
U0, U1 and k are sampled at the anemometers and
hubs locations.
A wind rose is therefore estimated at each hub
location, accounting for wakes by means of the
Jensen/Park model, see Katic et al (1986).
The energy production can be computed starting from
a wind rose (occurances vs wind and directions bins)
or a time history (all time steps).
Katic I, Højstrup J, Jensen N O. A Simple model for Cluster
Efficiency. EWEC 1986 Proceedings. 7-9 October 1986, Rome (IT)
Post processing
9/23
Looking at the gross AEP first, the numbers are very
similar and the two CFD models acted in a similar
manner;
More differences are found in the productions with
wakes; even if in both cases the Jensen model is
used, its implementation could be different.
AEP gross
[Gwh/y]
AEP with
wakes
[Gwh/y]
Wakes
losses [%]
WindSim
Eval. 7.0
136.1010 129.2864 5,01
OpenFOAM
and Octave
136.8124 131.9814 3,53
Test case 2: from Lucky Wind SpA
The considered site counts 12 turbines (600kW) deployed along the ridge;
Since the main wind direction is West-East wakes losses are very low.
For this case OF 3.0.1 has been used (some differences on settings compared to OF 2.3.1)
A detailed grid is designed, with snappyHexMesh
10/23
blockMesh + snappyHexMesh
11/23
blockMesh => boundary-fitted grid ok
blockMesh + snappyHexMesh with 2 levels and 2 cells per level
blockMesh + snappyHexMesh
12/23
With the wall-functions counting for variable roughness
mapFields is used from structured mesh to mesh after snappyHexMesh
1. First meshing (blockMesh)
2. 1° level snappyHexMesh
3. 2° level snappyHexMesh
The goal is to achieve a variable heigth of the ground adjacent
cell, according to the roughness lenght z0 mapped at the site.
terrain.stl
nCellsBetweenLevels = 1 means
normal 2:1 refinement restriction,
larger means slower refinement.
nCellsBetweenLevels 1 and 2 have been tested
blockMesh + snappyHexMesh
13/23
From SOWE 2015 (Crasto and Paraggio):
Reynolds Averaged Navier-Stokes (RANS)
Standard k-e turbulence model
Effects of model constant se on the wall-functions
Periodic BC
Mass flow given
0,000
0,005
0,010
0,015
0,020
0,025
0,030
0,035
0,040
0 5 10 15 20 25
z0 o
bta
ine
d b
y in
terp
ola
tio
n h
/2-1
00
m]
ratio first cell over roughness length (h/z0)
se 1.44
se 1.30
se 1.11
~11.8
Height of first (ground
adjacent) cell ~ 11.8 *
0.03m = 0.354m
Simulations 2D, rectangular domain
14/23
Standard k-e model simpleFoam (incompressible) First cell height 2m (= 66.67*z0) Convergence criteria based on residuals:
15/23
Residuals:
p 5e-4
U 1e-5
"(k|epsilon)" 1e-5
Further settings
Discretization schemes
16/23
divSchemes { default none; div(phi,U) bounded Gauss upwind; // bounded Gauss linearUpwind grad(U); div(phi,T) bounded Gauss upwind; div(phi,k) bounded Gauss upwind; // bounded Gauss linearUpwind grad(k); div(phi,epsilon) bounded Gauss upwind;// bounded Gauss linearUpwind grad(epsilon); div((nuEff*dev2(T(grad(U))))) Gauss linear; }
laplacianSchemes { default Gauss linear limited corrected 0.333; }
AEP computation
17/23
Assumed wind turbine rated power (kW): ............ 600
Averaged turbine power at reference (kW): ......... 228.059
AEP at reference (MWh): ........................... 1997.7971
AEP Park no wakes (MWh): .......................... 22430.0914
AEP Park wakes (MWh): ............................. 22209.2461
Capacity factor at reference (%): ................. 38.0098
Wakes losses (%): …................................ 0.98459
Power at each turbine computed at each sampling time (10 minutes).
To be compared against real SCADA data.
Power history
18/23
Ongoing the comparison against SCADA data with 10 min stepping.
A file containing the estimated average power for each turbine at each
time step.
X T03
X T04
○ Met Mast
X T05
X T12
X T01
X T02
Power history
19/23
Ongoing the comparison against SCADA data with 10 min stepping.
A file containing the estimated average power for each turbine at each
time step.
X T03
X T04
○ Met Mast
X T05
X T12
X T01
X T02
Power history
20/23
Ongoing the comparison against SCADA data with 10 min stepping.
A file containing the estimated average power for each turbine at each
time step.
X T03
X T04
○ Met Mast
X T05
X T12
X T01
X T02
~800m
Conclusions & ...
21/23
A new mesher has been developed to make a terrain fitted structured mesh OR a mesh over which run the snappyHexMesh; Possibility to deal with variable roughness; Post processing to compute AEP or power-histories; Wakes are accounted with a Jensen model
Conclusions & Future Steps
22/23
Comparison of predicted power history against SCADA data (on going); Probably need to improve the gridding to make a variable height of first cell; Run Bolund and other test cases; Stability (thermal effects); Coriolis; WAT export.
Aknowlodgements
23/23
The authors whish to thank the «Lucky Wind SpA» to provide the wind and production data for the test case 2.