CFD-based Methodology for Wind Farm Layout Optimization by Enrico Giuseppe Agostino Antonini A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Department of Mechanical and Industrial Engineering University of Toronto c Copyright 2018 by Enrico Giuseppe Agostino Antonini
127
Embed
by Enrico Giuseppe Agostino Antonini · 2018. 11. 17. · Enrico Giuseppe Agostino Antonini Doctor of Philosophy Department of Mechanical and Industrial Engineering University of
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CFD-based Methodology for Wind Farm Layout Optimization
by
Enrico Giuseppe Agostino Antonini
A thesis submitted in conformity with the requirementsfor the degree of Doctor of Philosophy
Department of Mechanical and Industrial EngineeringUniversity of Toronto
In recent years, there has been a growing interest on renewable energy resources, such as solar, geother-
mal, wave, and wind. These resources provide energy derived from natural processes that are replenished
constantly over human timescales. Since they are not direct sources of pollution and greenhouse gases,
they can be considered the ideal candidates to tackle one of the most concerning problems of our time:
global warming. This is defined as the observed century-scale increase in planet’s average surface tem-
perature. The Intergovernmental Panel on Climate Change (IPCC) Fifth Assessment Report concluded
in 2013 that “it is extremely likely that human influence has been the dominant cause of the observed
warming since the mid-20th century” [148]. The largest human influence has been identified in the car-
bon dioxide and other human-made emissions into the atmosphere. To take action against this problem,
most of world governments (195 as of June 2018) have signed the Paris Agreement [156] by which the
signing countries aim to limit the increase of the global average temperature to below 1.5 C above
pre-industrial levels.
The current energy scenario, which can be visualized in Fig. 1.1 and 1.2, indicates that many efforts,
technological advancements, and regulations are still pending for a transition to a sustainable energy
generation future. Based on the International Energy Agency’s 2017 report [83], renewables contributed
to 18.8% of the global energy consumption and 23% of the global electricity generation in 2015. On the
other hand, fossil fuels, which are responsible for most of the greenhouse gas emissions, contributed to
79.3% and 66.4% of the global energy consumption and electricity generation, respectively.
Concerns on climate change and global warming, coupled with growing oil prices and government
support, are however driving increasing renewable energy legislation, incentives and commercialization
[14, 22, 135]. According to the International Renewable Energy Agency [84], renewable energies are
1
Chapter 1. Introduction 2
Figure 1.1: Energy balance in 2015 [83]. The figure on the left shows the world primary energy supplyby fuel, which is then transformed/refined into the final energy consumption, shown on the right.
Figure 1.2: World electricity generation by fuel in 2015 [83].
Chapter 1. Introduction 3
projected to reach a 36% share in the global energy consumption by 2030, doubling the renewable
energy use with respect to 2010. This scenario envisions wind energy as one of the fastest growing
renewable technologies with an grow rate of about 8% per year for the foreseeable future [62]. This
growing trend can already be observed in markets such as North America, Asia, Africa and Europe [82].
For example, Europe is set to have 20% of its energy demand met by renewables by 2020, where wind
is expected to supply about 12%-13% of total demand [51]. This has created a huge market for wind-
energy-related products and services, and has led to significant developments in wind energy science,
technology and policy [26].
Beside the positive consequences that wind energy generation would have on the environment, other
effects are commonly seen as positive on the social and political scenes. By observing the global map of
wind energy resource, shown in Fig. 1.3, it is possible to notice that wind energy is a resource widely
distributed on the planet. Higher wind power potentials are seen near coastal regions and over large flat
lands. As opposed to fossil-fuel reserves that are concentrated in few territories, the wide distribution
and accessibility that characterize wind energy as well as other renewable energies is certainly going to
promote a transition towards a decentralization of energy provision and systems. A growing consensus
now views this transition as a key strategy to address energy security issues in terms of availability,
affordability, and resilience [21, 22, 157]. In fact, energy independence and security could have a strong
impact on geopolitical tensions and armed conflicts that have tragically occurred in modern times.
Figure 1.3 also shows that wind power potential is quite variable from region to region. This potential
is the most important factor in determining the future success of a wind energy project [120]. Therefore,
the first step in the design of a wind energy project is the definition of the site thanks to scientific
forecasting methods and by considering the proximity to population centers. To consider is also that, as
more wind capacity is developed on-shore, both land use and environmental impact become increasingly
important constraints during the design process [136]. Given current trends, it is expected that new
installations would be increasingly likely to be close to human dwellings, thus stressing the importance
of environmental and public policy aspects of the design of wind energy systems [136, 163, 169, 171].
Most wind energy is nowadays produced by wind farms, which consist of hundreds of turbines and
take advantage of economies of scale to reduce procurement, permit issuance and project development
costs. Wind farm performance is however affected by the wakes generated by the turbines [159] which
can diminish their annual energy production by 10%-20% [72]. The wakes are regions of low wind speed
that are the result of the kinetic energy extracted by the turbines. The wakes lower the speed of the wind
entering the turbines placed downstream and, consequently, reduce their power production. Accurate
wake effect predictions and reliable wind farm layout design become therefore critical aspects to the
Chapter 1. Introduction 4
Figure 1.3: Global distribution of annual average onshore wind power potential [106].
economic success of a wind farm project.
The present research project aims therefore to define an innovative design framework that integrates
accurate wake effect predictions for the development of the next generation wind farms as part of
the strategy for promoting the transition to a renewable energy generation and reducing greenhouse
emissions. A review of the state of the art in wind farm wake modeling and layout optimization is
conducted and current research gaps are identified. Based on the literature review, a project plan is
defined which has the potential to advance our knowledge of wind farm modeling and simulation and to
create new and reliable design frameworks for the wind turbine industry.
1.1 State of the art in wind farm wake modeling and layout
optimization
This section aims to give an overview of the currently used models to simulate the wake effects in wind
farms, the algorithms to solve the wind farm layout optimization problem, and how they are combined.
1.1.1 Wake modeling
One important phenomenon that has to be investigated with regards to wind farms is the wake generated
by wind turbines, which lowers the wind speed experience by the turbines placed downstream and, as
a consequence, reduces their power production [11, 13, 15, 147]. Accurate modeling of wake effects is
therefore crucial for a correct estimation of the annual energy production and for an optimal design of
the wind turbines placement. Different approaches exist to model wind turbine wakes, namely analytical
Chapter 1. Introduction 5
and numerical models [159]. Whereas analytical wake models have the advantage of being simple and
computationally efficient, numerical models, which rely on Computational Fluid Dynamics (CFD), offer
higher accuracy and flexibility to handle different ambient conditions.
The wakes generated by wind turbines can be generally divided in two distinct regions: the near
wake, where the influence of the rotor blades on the flow field can be clearly distinguished, and the far
wake, where the effect of rotor blades is diminished by the mixing of undisturbed flow and the flow inside
the wake. The near-wake effects are usually restricted to a region up to 2-5 diameters downstream the
wind turbine, even though the transition from one region to the other is gradual and not well defined.
The near-wake models are used for predicting performance and loads of wind turbines. Typical
models describing the near wake are the Blade Element-Momentum (BEM) models [16, 74], vortex wake
models [5, 152] and CFD models [63, 75]. While some of these methods have been applied to study
the flow through wind turbines, they are computationally expensive or, in some cases, inadequate for
wind farm calculations. Far-wake models can be divided in analytical models, which are based on self-
similar velocity deficit profiles obtained from experimental and theoretical work, and CFD models, which
calculate the flow magnitudes at every point of the flow field [137]. From the viewpoint of wind farm
simulations, the far-wake models are the most suitable for this kind of simulations where the local effects
of rotor blades are no longer important due to the distance between wind turbines, and these will be
analyzed in the following sections.
Analytical models
Analytical wake models are based on self-similar velocity deficit profiles obtained from experimental and
theoretical work and have the advantage of being simple and computationally efficient. Among the most
used analytical wake models are the ones developed by Jensen [87], Larsen [103], and Frandsen et al. [56].
The constitutive equations use empirical constants that have to be tuned on experimental data [37, 118].
Ad hoc models for wakes overlapping from multiple turbines need also to be introduced for wind farm
power calculations [93, 99]: they usually assume simple superimposition of turbine wakes and neglect the
complex turbulent mixing occurring in wind farms. Because of these simplifications, the analytical wake
models are not capable of accurately dealing with flow structures introduced by atmospheric conditions,
changes in terrain roughness, speed-up effects around turbines or terrain features, and complex flow
phenomena such as wake meandering [9, 12, 18, 38, 102, 139, 150].
Jensen model In the development of his model, Jensen assumed a linearly expanding wake with
a velocity deficit that is only dependent of the distance behind the rotor [87]. The following expressions
Chapter 1. Introduction 6
are derived to describe the wake radius and center-line velocity:
R = R0 + αx;V
V0= 1− 1−
√1− CT
(1 + αx/R0)2
where R and R0 are the wake and rotor radius, respectively, V and V0 are the center-line wake velocity
and undisturbed wind speed, respectively, and x is the distance downstream the rotor. The value of α
is generally taken to be 0.075, which is adequate for land cases, whereas for offshore applications a value
of 0.04 is recommended.
Larsen model The Larsen model is based upon the assumption that Prandtl’s turbulent boundary
layer equations can be used to describe the wake behind a turbine, considering the flow incompressible,
stationary and axisymmetric [103]. The equation used to determine the velocity deficit at the position
x downstream (obtained with a first-order approximation) and the radius of the wake are:
V
V0= 1− 1
9
(CTA (x+ x0)
−2)1/3
R3/2
(3c21CTA (x+ x0)
)−1/2 −(
35
2π
)3/10 (3c21)−1/5
2
R =
(35
2π
)1/5 (3c21)1/5
(CTA (x+ x0))1/3
where A is the rotor area, c1 is the non-dimensional mixing length and x0 is another constant that
denotes the turbine’s position with respect to the applied coordinate system. The equations used to
estimate these two constants were given in Ref. [121] and were determined empirically.
Frandsen model A more recent analytical model has been proposed by Frandsen et al. [56] to
predict the wind speed deficit in wind farms with a regular layout, i.e. with straight rows of wind
turbines and equidistant spacing between units in each row and equidistant spacing between rows. The
model includes three different wake regimes. In the first regime single or multiple wake flow is present
without interaction between wakes, the second regime takes into account the mixing of different wakes,
and the third regime models the interaction between wake flow and the planetary boundary layer. The
wake radius, the wake expansion parameter β, and the wake velocity were given for the case without
wake interaction by:
R = R0
(βk/2 + α
x
2R0
)1/k
; β =1 +√
1− CT2√
1− CT=
(ReffR
)2
;V
V0= 1− 1
2
(1−
√1− 2
A0
ACT
)
where the values of k and α are 2 and 0.7, respectively.
Chapter 1. Introduction 7
(a) Jensen model (b) Larsen model (c) Frandsen model
Figure 1.4: Wake generated by a single turbine. V0 = 10 m/s, CT = 0.7. Distances are non-dimensional,normalized by the diameter of the turbine rotor. [131]
CFD models
The use of CFD wake models in wind farm investigations has been undergoing a rapid growth thanks
to improvements of computational technologies and resources. The first CFD study dates back to 1985,
when Crespo et al. [43] developed a CFD code to analyze the wake of wind turbines in the atmospheric
surface layer. Since then, especially in the last 15 years, many works have been proposed in literature
that covered numerical, modeling, and accuracy issues of CFD wind turbine simulations [137].
The CFD models calculate the flow magnitudes at every point of the flow field: they are based on
the solution of the Navier-Stokes (NS) equations. Two different approaches are commonly used to solve
the NS equations. The first one uses a time-averaging procedure for the solution, producing the so-called
Reynolds-averaged Navier-Stokes (RANS) equations, which require additional turbulence modeling to
close the system of equations. The second approach aims to reduce the range of time- and length-scales
of turbulence via a high-pass filtering, producing the so-called large eddy simulations (LES), which
also require additional modeling for small turbulence scales. CFD models require a substantially larger
computer capacity than analytical models, although their requirements are well within the capabilities
of modern computers, not only in the case of single wakes but also for multiple wakes occurring in a wind
farm. On the other hand, the solution of the entire flow field allows these models to be more accurate
and to take into account also terrain topography and atmospheric conditions.
RANS models RANS models used in wind farm simulation can be divided in two groups based
on the assumptions they use to consider the pressure gradient in the turbine region, namely parabolic
and elliptic models [23]. The parabolic models are obtained by neglecting both the diffusion term and
the pressure gradient in the stream-wise direction, which allows to shift the solution technique from
time marching to space marching, reducing the computational time required to converge to the final
solution. The solution of the flow field starts downstream the wind turbine where the pressure gradient
Chapter 1. Introduction 8
no longer dominates the flow by prescribing a velocity profile. Due to this assumption, the parabolic
models cannot solve the near-wake region where pressure gradient dominates the flow, and they can be
used only when there is a predominant flow direction in the simulation. One of the first parabolic models
was developed by Ainslie [2], who assumed axial symmetry for the flow and an eddy viscosity method
for turbulence. A different model that does not assume axial symmetry is UPMWAKE, developed by
Crespo and Hernandez [41]. The UPMWAKE model was the foundation for the WAKEFARM model
of the Energy Research Centre of the Netherlands (ECN) [138]. The UPMWAKE model was extended
to UPMPARK to calculate parks with many turbines, using a sequence of single-wake computations,
where the outflow of one wake forms the inflow condition on the next one [40]. The elliptic models are
based on the full solution of RANS equations, which allows to solve the flow field also in the near-wake
region. One of the first elliptic codes was developed by Crespo and Hernandez [42], who extended the
original parabolic code to an elliptic version. Other implementations of elliptic RANS models can be
found in Ref. [18, 27, 28, 29, 73, 90, 107, 111, 113, 143, 144] where these models are shown to be
capable of simulating different wind farm configurations, atmospheric conditions, terrain roughness and
topography.
Many RANS studies in literature focus on the turbulence modeling and how it affects the wake
velocity and energy predictions. One of the most used turbulence models is the k−ε model, which found
implementation in many works, e.g. [24, 41, 123, 133]. The results of the simulations using the k−ε model
showed quite good agreement with experimental measurements when the CFD codes used the parabolic
RANS equations (i.e., the pressure gradient is neglected and the velocity profile is prescribed behind the
wind turbine), whereas the agreement was poor when the full RANS equations was employed (elliptic
equations). This limitation was first observed by Rethore [132], who suggested that the cause may lie
in the limited validity of the eddy viscosity assumption (Boussinesq approximation) in the near-wake
region. Another turbulence model widely used is the k−ω model, whose most notable implementations
were conducted by Prospathopoulos et al. [127, 128]. Similarly to the k − ε model, the results of the
simulations using the k − ω model showed poor agreement with experimental observations. A different
approach that does not make use of the Boussinesq hypothesis and computes directly the Reynolds
stresses is the Reynolds stress model (RSM), which was tested by Cabezon et al. [24] in comparison
with the standard k − ε model.
Due to the aforementioned limitations, several authors have proposed modifications of the original
models to improve agreement with experimental data. El Kasmi and Masson [48] modified the k − ε
model adding a source term to the transport equation for the turbulent energy dissipation in a region in
close proximity to the rotor. Other modified versions use a realizable eddy viscosity formulation model
Chapter 1. Introduction 9
[24] or flow-dependent turbulent coefficients [158]. Prospathopoulos et al. [128] proposed a modification
of the k − ω model adjusting the turbulence model coefficients according to a lower turbulence decay.
Furthermore, the realizability constraint was applied to the k − ω model and its results were compared
to the standard model in Ref. [128].
LES models LES methods are based on filtered NS equations: they resolve the large energy-
containing eddies whereas they introduce mathematical models for smaller eddies that are strongly
affected by molecular viscosity and dissipation. Although LES models currently represent the simulation
tool with the highest fidelity, they are computationally too expensive for a design perspective. In fact,
they are mainly used to provide valuable and detailed information about the dynamics of wind turbine
wakes, to develop, test, and improve less expensive models, or to parametrize wind farm effects in weather
and climate models [20, 108].
Most LES studies on wind farm wakes have been conducted over the last 15 years, when sufficient
computational resources became available to the research community. LESs for wind farms were first
applied by Jimenez et al. [88] who showed the potential of using such simulations to capture the details
of wake flows. Subsequent studies have focused on the characterization of the wake flow dynamics for
different ambient and operating conditions [1, 33, 34, 35, 39, 44, 55, 81, 89, 161, 167]. More recent
works have instead focused on the hypothetical case of infinite wind farms to study the effect that these
would have on the atmospheric boundary layer and to understand the mechanisms of energy extraction
[25, 170, 168].
1.1.2 Layout optimization
The wind farm layout optimization (WFLO) has become a significant topic as a consequence of the
installation of an increasing number of wind farms. The main objective of a wind farm is to maximize
power production while minimizing costs, subject to constraints such as inter-turbine spacing constraints,
environmental setbacks, noise emissions, among others [94]. In this optimization process the decision
variables are the turbine locations and the objective is commonly the maximization of the annual energy
production of the farm or the minimization of its cost (i.e. initial investment and net present value
during the entire wind-farm life span) [77]. As regards to the domain representation, there have been
two approaches: continuous (the turbines can be placed anywhere in the domain) and discrete (the
domain is partitioned into a set of cells, at the center of which the turbines can be placed) [140]. The
last approach allows to lower considerably the possible locations for the wind turbines and therefore all
the interactions between turbines can be pre-calculated.
Chapter 1. Introduction 10
Common approaches found in the WFLO literature have focused on minimizing turbine wake in-
teractions based on analytical wake models to estimate the losses generated by the wakes. This is
because optimization methodologies that are integrated with CFD models face practical limits in terms
of computer requirements: optimization processes require a large number of evaluations, and each CFD
evaluation will usually have a significant computational cost. The number of required evaluations strictly
depends on the particular problem being solved as well as the optimization algorithm being used, but
it scales with the number of optimization variables (i.e., the number of turbines), and generally ranges
from hundreds to hundreds of thousands. A clear consequence is that a CFD-based optimization is only
possible when the number of required evaluations is relatively low and, moreover, when the duration of
a single CFD computation does not exceed a few hours at most [154]. These constraints have prevented
the use of CFD models in the WFLO problem.
The first studies on the coupling of CFD models with optimization to tackle the WFLO problem have
been recently conducted. Kuo et al. [100] proposed an algorithm that couples CFD with mixed-integer
programming (MIP) to optimize layouts on complex terrains. Thanks to the proposed methodology,
the study achieved a convenient trade-off between computational cost and solution quality. King et
al. [95, 96] developed a gradient-based approach to solve the WFLO problem which used an adjoint
method in its discrete formulation. A similar study was conducted by Funke et al. [57] on tidal turbine
array optimisation using a discrete adjoint approach. The adjoint method is a means to compute the
gradient required by gradient-based optimization methods when the objective function depends on a set
of state variables (for this case, the NS equations) [61]. Adjoint methods can generally be divided into
discrete and continuous methods [154]. Their main characteristic is that the total cost for the gradient
computation does not depend on the number of design variables but is approximately equal to that of a
single CFD evaluation. Thanks to this feature, the adjoint methods have been widely and successfully
used in aerodynamic shape optimization and geophysical tomography (e.g., [4, 85, 86, 114, 116, 122]).
Due to the complexity of the turbine wake interactions, heuristic methods, such as genetic algorithm
(GA), particle swarm optimization (PSO), and simulated annealing (SA), are widely used for layout
optimization [142]. Nonetheless, mathematical programming approaches have also been applied to the
layout problem. These two main approaches to solve the WFLO problem will be analyzed briefly.
Heuristic methods Genetic algorithm is a common and effective optimization algorithm, which
emulates the natural process of evolution as a means of progressing toward an optimum. The foundation
of GA is based on the theory of natural selection, where individuals having certain positive characteristics
(parents) have a better chance to survive and reproduce, and hence transfer their characteristics to their
Chapter 1. Introduction 11
offspring. Random modification of solutions (mutation) is also applied to introduce new features into
the population which might have been left out at the beginning of the optimization process. Among all
optimization methods reported in the literature, GA has been the most utilized algorithm to solve the
wind farm layout design problem. Applications can be found in Ref. [31, 49, 68, 101, 112, 141, 169, 171].
The idea of PSO originated from the concept of social model simulations that came from a swarm
of birds flocking. This simple idea of particles swarming towards a set of possible good solutions is also
suitable for wind farm layout design. The application of PSO to the WFLO problem is relatively new
and recent publications [32, 78, 79, 80, 124, 130, 162] have shown that PSO has comparable performance
to GA.
Simulated annealing is a well-known optimization algorithm that has been successfully applied to
a number of complex optimization problems. This algorithm draws from the idea of heat treatments
in metallurgy that allow a material to reach its equilibrium state. As opposed to GA and PSO, which
maintain a population of solutions in each iteration, SA maintains a single solution which is perturbed
throughout the execution of the algorithm. Successful applications of this algorithm to the WFLO
problem can be found in Ref. [17, 76].
Mathematical programming Many authors have proposed mathematical programming approaches
to tackle the WFLO problem. The most commonly used approach is to formulate mixed integer pro-
gramming (MIP) problem, which consists of an objective function and a mix of integer and continuous
variables and constraints. Examples of this applications have been proposed by Zhang et al. [172] and
Turner et al. [155]. Other mathematical programming approaches applied to the WFLO are pattern
search [45], random search [52], and interior-point method [119]. Recently, non-linear mathematical
programming that uses exact gradient information has showed great potential in tackling this prob-
lem. In particular, gradient-based methodologies using the exact derivatives of the objective function
and constraints were demonstrated to outperform genetic algorithms in terms of solution quality and
computational cost [70, 71].
1.1.3 Research gaps
The literature analyzed in the previous sections shows that research gaps are currently present for
problems that have not been answered appropriately or at all in the context of both wake modeling and
layout optimization. These can be identified as following:
• A consistent comparison of the influence of the different turbulence models on the wind farm
simulations is still missing. In fact, the k − ε and k − ω formulations followed independent paths
Chapter 1. Introduction 12
with regards to both model tuning and experimental validation. For example, the turbulence
constants of the k − ε and k − ω models for atmospheric surface layer and wake simulations were
determined respectively by Crespo et al. [43] and by Prospathopoulos et al. [127] with no formal
consistency between each other. The same can also be said for the RSM, where no such study
was conducted. This lack of consistency prevented an effective comparison. Also, one of the
most promising turbulence models, the shear-stress transport (SST) k − ω model, widely used in
aeronautical applications, is still missing from the literature about wind turbine simulations.
• Although RANS turbulence modeling in the context of wind turbine wake predictions has been
widely studied in literature, its effectiveness has not been always consistent. A general level
of agreement exists in identifying the k − ε and k − ω models as the least accurate for wake
predictions. For this reason, many authors have proposed modifications of the original models
to improve agreement with experimental data. However, some studies showed that CFD wake
models employing the original k − ε and k − ω models were able to provide good agreement with
experimental observations. For instance, in Ref. [12, 15] the k − ε model was used with the full
RANS equations resulting in accurate predictions of the power production of turbines operating
in wake conditions. In addition, the k − ε and k − ω models were shown to be as accurate as
the SST k − ω and Reynolds stress models in Ref. [7, 128]. The reason for this inconsistency
of wake model predictions found in some studies is very likely related to unsteady and large-
scale phenomena that, while affecting the experimental measurements, are not taken into account
in the simulations [59]. RANS wake models are usually set up as steady simulations whereas
experimental measurements are affected by unsteady phenomena that naturally occur in ambient
conditions [97]. These unsteady phenomena can be quantified by the uncertainty that is associated
with the statistics of wind speed and direction. Because wind speed variability is accounted for in
RANS simulations by the turbulence models and, in particular, by the turbulence kinetic energy,
the most significant contribution to the aforementioned limitations is therefore expected to be given
by the wind direction variability. This variability has, in fact, been shown to have a strong impact
on turbine-wake characteristics, such as velocity deficit [126]. Direct methods currently available
to account for these unsteady flow phenomena are unsteady RANS simulations (URANS) or LES,
which are computationally more expensive by orders of magnitude.
• Many different approaches have been proposed to tackle the WFLO problem, and have shown
promising results in terms of both effectiveness, optimal design and computational cost. The
common feature of the described algorithms is that they rely on analytical wake models (mostly
Chapter 1. Introduction 13
Jensen model) to compute the wake effect in wind farm. As pointed out in the previous section,
these models are effectively suitable for an optimization process when the wind farm is on a flat
terrain. However, their accuracy is proved to be low compared to other more complex and accurate
models, such as the CFD models that can deal with terrain features and different atmospheric
conditions. WFLO using CFD models is currently in its early stages, mainly because of practical
limits of CFD optimization in terms of computer requirements and optimization algorithms.
1.2 Thesis objective and proposed investigations
The goal of the present research project is to develop an accurate, efficient, and fast CFD-based opti-
mization methodology for wind farm layouts. It will take advantage of the most advanced optimization
algorithms for CFD applications and novel formulations of existing algorithms will be developed for the
WFLO problem.
The project is divided in three main tasks. The first task will be focused on the development of a
state-of-the-art CFD model able to accurately simulate the effects of wake losses in a wind farm. The
proposed CFD model will be validated against publicly available experimental data, in terms of both
flow field and turbulence quantities. The CFD package that will be used for this task is OpenFOAM,
an open-source CFD software package which provides out-of-the-box support for parallel computing in
clusters. Moreover, OpenFOAM offers users complete freedom to customize and extend its existing
functionality. We will leverage this flexibility to develop and implement wind turbine models based on
the actuator disk technique and elliptic RANS equations. Current research gaps in RANS models for
wind farms will be investigated and solutions proposed.
The second task will focus on the development of a fast optimization algorithm that can be fully
integrated with OpenFOAM to optimize wind farm layouts. In order to reduce the associated compu-
tational cost, the application of the most advanced optimization algorithms for CFD applications to
the WFLO problem will be investigated. A novel formulation of one of the most promising optimiza-
tion algorithms for CFD applications, the adjoint method, will be developed for the WFLO problem
and implemented in OpenFOAM. This process will also take advantage of existing and ongoing work
in our research group in both multi-objective evolutionary strategies and mathematical programming
approaches which maximize the expected power output.
In the third and final task, the proposed CFD-based optimization approach will be tested on wind
farm layouts under several scenarios: different wind farm configurations, wind resource distributions and
terrain topography. This objective will allow to have an innovative, fast, and accurate tool available to
Chapter 1. Introduction 14
the wind energy community, enabling a paradigm shift to simulation-based wind farm optimization, as
opposed to current work that relies only on low-accuracy, analytical models. This novel approach will
allow wind farm designers to further reduce in the cost of wind energy, allowing the electricity produced
by wind farms to be competitive with fossil fuels, thus ensuring the continued growth of wind energy.
The proposed investigations of the present project in wake modeling and layout optimization are
summarized as follows:
• A study is conducted to compare in a consistent way the principal turbulence models for RANS
equations present in literature, namely the k−ε, k−ω, and Reynolds stress model, to introduce the
SSTk−ω model as a innovative turbulence model for wind turbine simulations, and to investigate
and assess the influence of different turbulence models on the results of the CFD simulations.
Consistent turbulence model constants for atmospheric surface layer and wake flows are derived
according to appropriate experimental observations.
• An investigation is conducted on the limitations and inconsistency of the RANS models in the
predictions of wake effects in wind farms. The discrepancies and the inconsistency of the turbulence
models are hypothesized to arise from wind direction uncertainty caused by large-scale unsteady
phenomena, which though present in the experimental measurements are not accounted for in
the simulations. An approach is therefore proposed to overcome these limitations by Modeling
Uncertainty using Simulation Ensembles (MUSE), i.e., a set of CFD results for different wind
directions to generate a single CFD prediction. The predictions of CFD model are post-processed
with this innovative method for CFD simulations that accounts for the wind direction uncertainty
associated with the specific wind farm data set.
• An optimization methodology is presented for the WFLO problem that integrates the high accuracy
and flexibility offered by the CFD models and that overcomes the computationally high costs of a
CFD-based optimization. To this end, an adjoint method is developed and used in its continuous
formulation for the gradient computation. The adjoint formulation is derived for three different flow
scenarios, namely, laminar, frozen-turbulence, and turbulent flows. The derived adjoint equations
are implemented in OpenFOAM by taking advantage of the top-level syntax of the code and of
the similarity between the Navier-Stokes and adjoint equations. The gradient calculation using the
developed adjoint method is implemented in a gradient-based optimization methodology to solve
the WFLO problem.
Chapter 1. Introduction 15
1.3 Thesis outline
Chapter 2 presents an analysis of the turbulence models for wind turbine wake simulations in atmospheric
boundary layers. These models are compared in a consistent way by defining appropriate turbulence
model constants. The results are validated against publicly available experimental data. Modifications
are also proposed to improve agreement with experimental observations. Chapter 3 illustrates an inves-
tigation of the limitations and inconsistency of the previously analyzed turbulence models. As a result
of this investigation, an approach to overcome these limitations is proposed. In Chapter 4, an innovative
continuous adjoint formulation for the wind farm layout optimization is formulated and implemented for
a 2D case. This formulation is first verified against traditional approaches for gradient computation and
then applied to optimize the layout of a 16-turbine wind farm. Chapter 6 presents instead preliminary
results of the developed adjoint formulation in 3D cases. These results fully demonstrate that this CFD
methodology can effectively optimize wind farm layouts with different wind farm configurations, wind
resource distributions and terrain topography. In Chapter 6, conclusions are drawn and future directions
are suggested.
Chapter 2
Analysis of Turbulence Models for
Wind Turbine Wake Simulations
The work presented in this chapter aims to compare in a consistent way the principal turbulence models
present in literature, namely the k − ε, k − ω, and Reynolds stress model, to introduce the SST k − ω
model as a innovative turbulence model for wind turbine simulations, and to investigate and assess the
influence of the different turbulence models on the results of the CFD simulations. The comparison is
made consistent by a proper adjustment of the turbulence model constants according to appropriate
experimental observations of atmospheric surface layer and wake flows. The assessment of the tur-
bulence models is conducted by comparing the CFD results with the publicly available experimental
measurements of the velocity field and turbulence quantities from two stand-alone wind turbines in the
Sexbierum and Nibe wind farms, respectively. Modifications of the derived turbulence model constants
are also investigated in order to improve agreement with experimental data.
The outline of the chapter is the following. In Sec. 2.1, we present the case studies that will be used
to test and validate the CFD model with the different turbulence models. The CFD methodology is
described in Sec. 2.2 along with an overview of turbulence models used to close the RANS equations.
Section 2.3 describes how the turbulence model constants have been reformulated for wind farm appli-
cations. In Sec. 2.4, we provide details about the numerical implementation and boundary conditions
of the CFD model. Section 2.5 presents the results obtained by RANS simulations with the different
turbulence models. Conclusions are summarized in Sec. 2.6.
16
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 17
Table 2.1: Wind turbine characteristics and wind conditions of Sexbierum and Nibe wind farms
RSM Cµ = 0.0333C1ε = 2.16 C2ε = 2.67 σR = 0.8197 σε = 1.84C1 = 1.8 C2 = 0.6 C ′1 = 0.5 C ′2 = 0.3
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 28
(a) Top view
(b) Lateral view (c) Front view
Figure 2.2: Schematic layouts of the domain
2.4 Numerical setup
The computational domain and mesh of the two cases were generated with blockMesh and snappy-
HexMesh, two mesh utilities of OpenFOAM for mesh generation and refinement, respectively. The
Cartesian coordinate system is defined with x, y, and z being respectively the streamwise, lateral and
vertical directions. Figure 2.2 illustrates schematic layouts of the domain. The dimensions of the domain
are a function of the rotor diameter. The domain includes the actuator disk region and a refined region
surrounding the disk with a double mesh resolution in order to capture the most significant gradients in
the flow field.
The dimensions of the domain were carefully determined in order not to influence the flow-field
solution and to avoid useless domain regions. In particular, larger dimensions were tested and were
subsequently decreased according to the following rule: a smaller domain is accepted only if the flow
solution does not vary by more that 1% with respect to the largest domain tested (with dimensions
as double as the ones presented here), ideally considered as the solution of an infinite domain. The
dimensions that need a detailed discussion are the distance between the inlet and the wind turbine, and
the height of the domain. In the first case, there has to be enough distance before the wind turbine to
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 29
Figure 2.3: Schematic of the boundary conditions used in the simulations.
allow the flow field perturbed by the wind turbine to propagate upstream without being influences by the
inlet boundary conditions. A distance of 3D was found to correctly satisfy this condition. In the second
case, a too short domain height would cause flow blockage and would promote a faster, non-physical
wake recovery. A height of 5D was determined according to these considerations and to practical wind
engineering reference guideline, which suggests a value of 5H, being H the height of any obstacle (in this
case the wind turbine rotor). The other dimensions were basically chosen in order to have the flow-field
solution as far as the experimental measurements are available for comparison.
For the solution of the RANS equations, the convergence criterion was set so that the residuals of
all the equations were below 10−5. A stricter convergence criterion was found to provide a negligible
difference on the solution.
2.4.1 Boundary conditions
The inlet boundary condition was defined with the equations relative to the SBL. Given the flow char-
acteristics, i.e., Uinf , TIx, and H, the values for z0 and u∗0 were derived with Eqs. 2.15 and 2.18. The
velocity, turbulence kinetic energy (or Reynolds stresses), and turbulence dissipation rate (or specific
dissipation rate) were then prescribed according to Eqs. 2.14 and 2.16, depending on the turbulence
model used. The outlet boundary condition was defined as a pressure outlet, with zero gradient for the
velocity and turbulence quantities. The top boundary condition was defined by prescribing constant
values of velocity, turbulence kinetic energy (or Reynolds stresses), and turbulence dissipation rate (or
specific dissipation rate) at the domain height, whereas zero gradient was set for the pressure. The side
boundary condition was defined as zero gradient for all the variables. The ground was defined as a rough
wall, with wall functions that took care of the turbulence quantities. A schematic of these boundary
condition is illustrated in Fig. 2.3.
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 30
2.4.2 Wall functions
A proper treatment of the ground surface is essential to correctly simulate SBL flows. A general require-
ment of CFD simulations consists in having a very fine mesh in proximity of any surface in order to
capture the large velocity gradients and to compute a correct wall shear stress. In SBL simulations, this
is impossible because the surface roughness prevents a full solution of the boundary layers. In fact, the
first wall-adjacent cell should be at least the double of the surface roughness, which is in conflict with
the requirement of a high mesh resolution. In these cases, wall functions based on log-law boundary
layers for rough walls are used to calculate the turbulent viscosity and wall shear stress. Blocken et al.
[19] discussed the problem of the wall treatment for these particular flows, suggesting remedies when the
simulations are run with Ansys Fluent or CFX (which adopt wall functions based on an equivalent sand-
grain roughness, kS , equivalent to approximately 30z0). OpenFOAM, differently from the previously
mentioned CFD packages, has a wall function which is based on the actual surface roughness length, z0,
and which is derived from Eq. 2.14. This was used in the present work and allowed to have a higher
resolution close to the wall than the one reached with Ansys Fluent and CFX. A value of approximately
0.01D for the first cell at the wall was found to guarantee a correct simulation of SBL flows, achieving
horizontally homogeneity (i.e., zero streamwise gradients) of the SBL in an empty domain. This value
is also consistent with other works present in literature [128, 24].
2.4.3 Mesh sensitivity analysis
A mesh sensitivity analysis was conducted in order to reduce spatial discretization errors in the CFD
simulations and to guarantee a mesh-independent solution. Different grid resolutions were tested for
each turbulence model and the relative error of the designated flow variables was measured. The global
grid spacing was decreased progressively by a factor of 1.5, starting from the coarsest case where the
global spacing was 0.225D. The resolution in the refined region surrounding the wind turbine was as
double as the global resolution. In the region close to the wall, the resolution was also higher: the first
cell at the wall was fixed to a height of 0.01D and this value was progressively increased moving away
from the wall, up to the size given by the global resolution. The height of the region where this mesh
refinement took place was 0.5D.
Given the aforementioned considerations, four different global grid spacings were tested, namely
0.225D, 0.150D, 0.100D, and 0.067D (see Tab. 2.5 and 2.6). The values that were monitoread are the
rotor normal average velocity and the streamwise velocity and turbulence quantities at two locations
downstream the wind turbine, namely 2.5D and 8D for the Sexbierum case, and 2.5D and 7.5D for the
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 31
Table 2.5: Mesh sensitivity analysis for the Sexbierum case. The monitored values reported in the tableare the rotor normal average velocity and the streamwise velocity at 2.5D downstream. For each of thesetwo quantities, the value obtained with each of the turbulence models is reported.
Rotor normal average velocity [m/s] Streamwise velocity at 2.5D [m/s]Grid resolution [D] k − ε k − ω SST k − ω RSM k − ε k − ω SST k − ω RSM0.225 7.82 7.86 7.26 7.35 8.13 8.24 6.05 5.560.150 7.89 7.93 7.38 7.46 8.11 8.22 5.86 5.580.100 7.92 7.97 7.44 7.48 8.10 8.22 5.73 5.530.067 7.99 8.02 7.51 7.53 8.08 8.20 5.69 5.58
Table 2.6: Mesh sensitivity analysis for the Nibe case. The monitored values reported in the table arethe rotor normal average velocity and the streamwise velocity at 2.5D downstream. For each of thesetwo quantities, the value obtained with each of the turbulence models is reported.
Rotor normal average velocity [m/s] Streamwise velocity at 2.5D [m/s]Grid resolution [D] k − ε k − ω SST k − ω RSM k − ε k − ω SST k − ω RSM0.225 5.84 5.92 3.95 4.09 6.69 6.89 4.15 3.810.150 5.92 6.00 4.37 4.65 6.68 6.88 3.81 3.720.100 6.39 6.44 5.75 5.82 6.66 6.84 3.78 3.830.067 6.42 6.49 5.80 5.87 6.66 6.83 3.77 3.85
Nibe case. The number of cells obtained for the different resolutions was approximately 40·, 130·, 400·,
and 1300 · 103, respectively. A global grid spacing of 0.1D was found to guarantee a mesh independent
solution: the percentage difference of the calculated velocities and turbulence quantities for all the
turbulence models with respect to a lower grid spacing (0.067D) was found to be less than 1%. This
result is consistent with other computational studies on wind turbine wake simulations [24, 128, 158].
2.5 Results and discussion
This section includes the results obtained from the developed CFD wake model when applied to the
stand-alone Sexbierum and Nibe wind turbine cases. The simulated wind speed and turbulent quantities
were compared with the real wind turbine measurements in order to assess the implemented turbulence
models and the CFD model as a whole. Root-mean-square errors (RMSE) were calculated between the
experimental data and the simulations results and are reported in Tab. 2.7. The simulations were solved
with simpleFoam, the OpenFOAM steady-state solver for incompressible, turbulent flows, that run on
a Inter(R) Core(TM) i7-4790 computer with 3.60 Ghz clock time using 6 processors. The number of
iterations required to reach the convergence of the solution was about 400 for the k−ε and k−ω models,
300 for the SST k−ω model, and 800 for the RSM. The computational time required for the simulations
to converge ranged from approximately 20 minutes for the SST k−ω model to 40 minutes for th RSM.
Figures 2.4, 2.5, 2.6, and 2.7 show the normalized wind speed and the turbulence kinetic energy
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 32
downstream the Sexbierum wind turbine as a function of the wind direction. The comparison with ex-
perimental data was conducted at three downstream locations, namely 2.5D, 5.5D, and 8D downstream
the wind turbine, in order to assess the numerical results obtained with the four turbulence models. The
wind direction refers to relative direction of the incoming flow where 0 indicates the direction behind
the center of the rotor at which the maximum wind speed deficit is expected.
With regard to the results for the baseline coefficients, the wind speed was captured well by the
SST k − ω and Reynolds stress models for the three locations, but it was highly overestimated by the
k − ε and k − ω models, especially at 2.5D downstream where the RMSEs were the highest (0.1859
and 0.1936, respectively). This overestimation is consistent with previous works that highlighted the
limitations of these two models [132, 128]. The reason of the failure is very likely caused by the incorrect
prediction of the eddy viscosity in situations of adverse pressure gradients, such as the one experienced in
the near wake of the wind turbine. Indeed, the results with the SST k−ω model, whose eddy viscosity
is bounded to prevent the aforementioned behavior, were accurate and very similar to the predictions of
the RSM, which does not rely on the the turbulent-viscosity hypothesis.
Similar results can be observed for the turbulence kinetic energy in the Sexbierum case. The k − ε
and k − ω models were unable to predict the peaks of turbulence kinetic energy generated by the tip
vortexes which are present in the near wake of a wind turbine. Further downstream, the turbulence
kinetic energy profile was more homogeneous and the predictions of the two models were improved. The
SST k − ω and Reynolds stress models provided a turbulence kinetic energy profile which was similar
to the experimental data but the predicted value was slightly underestimated. Also in this case, their
predictions improved in the far wake providing a good agreement with the experimental data.
Figures 2.8, 2.9, 2.10, and 2.11 show the normalized wind speed and the turbulence intensity down-
stream the Nibe wind turbine as a function of the wind direction. The streamwise turbulence intensity
could not be computed directly from the eddy-viscosity CFD simulations (k− ε, k−ω and SST k−ω),
but was instead obtained with the inverse of Eq. 2.19 assuming that the anisotropy present in the SBL is
retained also in the wind turbine wake. Similarly to the previous case, the comparison with experimental
data was conducted at three downstream locations, namely 2.5D, 4D, and 7.5D downstream the wind
turbine.
The prediction of wind speed in the Nibe case by the baseline turbulence models presented similar
characteristics to the previous case. At the location 2.5D downstream the wind turbine the results
provided by the SST k−ω and Reynolds stress models matched very well the experimental observations
(RMSEs of 0.0614 and 0.0510, respectively), whereas the agreement was not as good for the locations
further downstream where an underestimation of the wind speed was observed. This underestimation
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 33
Table 2.7: Root-mean-square errors (RMSE) between the experimental data and the simulations resultswhen considering the wind direction range between -30 and 30. The RMSEs are classified by case(Sexbierum and Nibe), by quantity of interest (normalized wind speed (NWS), normalized turbulencekinetic energy (NTKE), and turbulence intensity (TI)), by downstream distance, and by turbulencemodel.
k − ε k − ωWind Turbine Quantity Distance baseline 1 2 baseline 1 2
Figure 2.4: Wind speed and turbulence kinetic energy downstream the Sexbierum wind turbine as afunction of wind direction for the k − ε model with the baseline and modified sets of coefficients
Figure 2.5: Wind speed and turbulence kinetic energy downstream the Sexbierum wind turbine as afunction of wind direction for the k − ω model with the baseline and modified sets of coefficients
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 35
Figure 2.6: Wind speed and turbulence kinetic energy downstream the Sexbierum wind turbine as afunction of wind direction for the SST k − ω model with the baseline and modified sets of coefficients
Figure 2.7: Wind speed and turbulence kinetic energy downstream the Sexbierum wind turbine as afunction of wind direction for the RSM with the baseline and modified sets of coefficients
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 36
of the far-wake velocity is likely caused by unsteady phenomena (meandering of the wake) that were
not taken into account in the simulations. The k − ε and k − ω models, instead, provided a wind speed
significantly higher than the observed (the highest RMSEs were 0.1848 and 0.1936, respectively).
Focusing on the turbulence intensity provided by the baseline turbulence models, it is possible to see
that the k − ε and k − ω models exhibited the same incorrect behavior as previously discussed. The
predicted turbulence intensity profile did not show the characteristic peaks in the near wake of the wind
turbine, and the predicted values were also generally higher that the experimental data for all the three
locations. A much better agreement was observed using the SST k−ω and Reynolds stress models, both
in terms of intensity and profile. The similar values of turbulence intensity obtained by the SST k − ω
and Reynolds stress models supports the assumption made to calculate it. A remark has to be made
on the low level of turbulence intensity observed experimentally for wind directions higher than 20
(right side of the figures): winds coming from those directions experience open, shallow water and are
characterized by lower turbulence intensity which was not taken into account in the simulations.
The modified sets of turbulence constants, determined following the proposition of Prospathopoulos
et al. [128], had the effect of decreasing the wind speed and the wind speed recovery. This is particularly
evident for the k−ε and k−ω models, whose predictions are improved with respect to the baseline set of
coefficients in the two cases analyzed. The highest RMSEs decreased respectively to 0.1328 and 0.1480
for the Sexbierum case and to 0.1119 and 0.1324 for the Nibe case. The improvement was even more
evident for the other locations. This trend suggests that decreasing the decay exponent is beneficial
for the k − ε and k − ω models. On the other hand, the effect of decreasing the decay exponent was
deleterious on the predictions of the SST k − ω model, especially for the locations at 5.5D and 8D for
the Sexbierum case, and 4D and 7.5D for the Nibe case. No significant effect was instead observed for
the prediction of the RSM, where the results changed negligibly.
These modified sets of turbulence constants influenced also the turbulence quantities. In particular,
it is possible to notice that the predictions of the k − ε and k − ω models were improved with respect
to the models using the baseline coefficients: the turbulence kinetic energy in the Sexbierum case and
the turbulence intensity in the Nibe case showed the characteristic peaks in the near wake of the wind
turbines. Instead, this influence was not beneficial for the SST k − ω model, whose results were more
inaccurate. With regard to the RSM, no significant effect was observed as for the wind speed.
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 37
Figure 2.8: Wind speed and turbulence intensity downstream the Nibe wind turbine as a function ofwind direction for the k − ε model with the baseline and modified sets of coefficients
Figure 2.9: Wind speed and turbulence intensity downstream the Nibe wind turbine as a function ofwind direction for the k − ω model with the baseline and modified sets of coefficients
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 38
Figure 2.10: Wind speed and turbulence intensity downstream the Nibe wind turbine as a function ofwind direction for the SST k − ω model with the baseline and modified sets of coefficients
Figure 2.11: Wind speed and turbulence intensity downstream the Nibe wind turbine as a function ofwind direction for the RSM with the baseline and modified sets of coefficients
Chapter 2. Analysis of Turbulence Models for Wind Turbine Wake Simulations 39
2.6 Conclusions
The present study was conducted in order to compare in a consistent way the principal turbulence models
present in literature, namely the k−ε, k−ω, and Reynolds stress model, to introduce the SST k−ω model
as a innovative turbulence model for wind turbine simulations, and to investigate and assess the influence
of the different turbulence models on the results of the CFD simulations. The turbulence models were
implemented in simulations of two stand-alone wind turbines modeled with the constant-distribution
actuator disk approach. The wind turbines operated in atmospheric environment which was modeled
with the atmospheric surface layer theory. Consistent turbulence model constants for atmospheric surface
layer and wake flows were derived according to appropriate experimental observations.
The results considered in this study included quantities such as wind speed, turbulence kinetic energy
and turbulence intensity in the wake region of the two stand-alone turbines. The results showed that
the SST k − ω model performed as good as the the RSM, which is recognized as the most complete
model with general applicability. The results obtained with these two models and with the baseline set
of coefficients matched quite accurately the experimental observation, both in terms of wind speed and
turbulence quantities. On the other hand, the simulations using the k − ε and k − ω models provided
poor predictions of wake flows, as already documented in literature.
Modified sets of coefficients were also investigated in order to improve agreement with experimental
data. These sets of coefficients improved the predictions of the k−ε and k−ω models, which were however
not as good as the predictions from the baseline SST k−ω and RSM. The effect of the modified sets of
coefficients on these latter models was not effective, and was even deleterious for the SST k − ω.
From the results of this study it is possible to conclude that the SST k−ω can be used as an effective
turbulence model for wind turbine simulations without any particular modification of its coefficients. Its
results were showed to be similar to those of the RSM model but obtained at a much faster computation
time.
Chapter 3
Wind Farm Simulations
incorporating Wind Direction
Uncertainty
In the present chapter, we aim to investigate the limitations and inconsistency of the RANS wake models
and to propose an innovative approach to overcome them. A CFD model was initially developed using
the actuator disk technique to simulate the wind turbines and the surface boundary layer approximation
to simulate the ambient conditions. The developed CFD model was implemented to simulate three
different wind farms, namely, Sexbierum, Nibe, and Horns Rev, with publicly available experimental
measurements. The main turbulence models present in literature and available in common CFD software
packages, namely, the k− ε, k−ω, SST k−ω and Reynolds stress models, were used to close the RANS
equations and their results compared. Following the same approach of other studies (e.g., [24, 41,
133, 127, 128, 143]), the validation of the developed CFD model with different turbulence closures was
conducted by comparing the CFD predictions with both observed wind speeds and power production of
the selected wind farms.
To account for the wind direction variability, we subsequently introduced a method to model the wind
direction uncertainty using simulation ensembles, i.e., a set of CFD results for different wind directions
is post-processed to generate a single CFD prediction. Our results showed that RANS simulations using
the SST k − ω and Reynolds stress models were consistently more accurate when considering wind
speeds and power production in the wake region of the considered wind farms. These are therefore
40
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 41
to be preferred over the k − ε and k − ω models. The result also showed that the proposed approach
for considering wind direction uncertainty was able to overcome the limitations and inconsistency of
previous works. Overall, this method improved the agreement between the experimental data and CFD
models with the suggested turbulence closures by accounting for the uncertainty in the wind direction
reported in the data sets.
The outline of the chapter is the following. In Sec. 3.1, we present the case studies that will be used to
test and validate the CFD model and the innovative post-processing technique. The CFD methodology
is described in Sec. 3.2 along with an overview of turbulence models used to close the RANS equations.
Section 3.3 describes the modeling assumptions for the wind turbines and the surface boundary layer that
are integrated in the CFD model. In Sec. 3.4, we provide details about the numerical implementation
and boundary conditions of the CFD model. The innovative post-post-processing technique, called in
this paper MUSE (Modeling Uncertainty with Simulation Ensembles), is presented in Sec 3.5. Section
3.6 compares the results obtained directly from the RANS simulations and the results obtained after the
averaging process with the MUSE method. Conclusions are summarized in Sec. 3.7.
3.1 Case studies
The validation of the proposed approach for CFD models, which will be described in the following
sections, was conducted using the experimental data sets from the Sexbierum [36], Nibe [151], and
Horns Rev [72] wind farms. Table 3.1 summarizes the wind turbine characteristics and wind conditions.
3.1.1 Sexbierum wind farm
The Dutch Experimental Wind Farm at Sexbierum is located in the Northern part of The Netherlands at
approximately 4 km distance from the seashore. The wind farm is located in flat homogeneous terrain,
mainly grassland used by farmers. The wind farm has a total of 5.4 MW installed capacity consisting of
18 turbines of 300 kW rated power each. The wind turbines in the wind farm are HOLEC machines with
three WPS 30/3 blades, a rotor diameter of 30.1 m, and a hub height of 35 m. Performance curves are
reported in Fig. 3.1a. The campaign concerned measurement of the wind speed, turbulence and shear
stress behind a single wind turbine at distances of 2.5, 5.5 and 8 rotor diameters, respectively. The free
stream wind conditions at hub height were Uinf = 10 m/s and TIx = 10%. For these conditions, the
thrust coefficient was CT = 0.75. The wind direction bin width was 2.5.
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 42
Table 3.1: Wind turbine characteristics and wind conditions of Sexbierum and Nibe wind farms
RSM Cµ = 0.0333C1ε = 1.42 C2ε = 1.83 σR = 0.8197 σε = 2.25C1 = 1.8 C2 = 0.6 C ′1 = 0.5 C ′2 = 0.3
Taking this into account, it is possible to reduce the range of applicability of the turbulence models
to the particular flow characteristics of wind farms in the surface boundary layer by recalibrating the
turbulence model constants based on experimental measurements. For example, Antonini et al. [6, 7]
derived and tested consistent turbulence model constants for each of the aforementioned turbulence
models for SBL and wind turbine simulations (see Tab. 3.2). In this work, we used these constants
for all our predictions, so that our results reflect the most-accurate versions of each turbulence model,
recalibrated for our specific application.
3.3 Wind turbine and surface boundary layer modeling
This section provides a description of the approach used to model in our computational domain the wind
turbines and the surface boundary layer where the turbines operate.
3.3.1 Wind turbine modeling
The wind turbine was modeled as an actuator disk which is characterized by a cylindrical volume, defined
by the rotor swept area, where a distributed force, defined as axial momentum source, F , is applied.
The main limitation of this model is that it does not provide a detailed description of the wind turbine
geometry and therefore cannot capture the flow dynamics occurring on the rotor blades. However, it
is able to capture adequately the wake effect generated by the wind turbine and to compute its power
output, as required for the employment in wind turbine and wind farm simulations [3, 132, 145]. From
the definition of thrust coefficient, it can be derived that the axial force is a function of the reference
wind speed:
F =1
2ρπD2
4CTU
2ref , (3.3)
where ρ is the air density, D is the rotor diameter, Uref is the upstream wind speed, and CT is the
thrust coefficient, obtained from the thrust coefficient curve of the wind turbine at the specified Uref .
The power generated can be computed as the product of the axial force and the average velocity over
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 47
the actuator disk volume V :
P = FUx = F1
V
∫V
UxdV. (3.4)
In the case of wind turbines that operate in the wake of others, the value for the upstream wind speed
is not readily available. Ideally, the reference wind speed for a turbine operating in wake condition is
the speed that would be present at the turbine location without the turbine itself. Evaluating this speed
would require therefore an additional simulation for each given wind boundary condition. Because of
the high computational cost associated, two different approaches were used in literature to estimate the
reference wind speed with simpler procedures. A common choice is to use the wind speed upstream of
the rotor, at a distance of one (1D) or two (2D) rotor diameters as an estimate of the reference speed.
However, this method cannot always guarantee an accurate estimation, so a validation step is typically
recommended on a case-by-case basis. A different approach was introduced by Prospathopoulos et al.
[128], which is based on an iterative calculation that uses the definition of the axial induction factor, a,
and thrust coefficient curve of the specific wind turbine. In the present work, however, the authors chose
to calculate the reference wind speed using the ideal method: an additional simulation for each given
wind boundary condition was run to calculate the speed that would be present at the turbine location
without the turbine itself. This procedure was conducted only for the case of multiple wind turbines,
and it allowed to have the most accurate solution for the reference wind speed.
3.3.2 Surface boundary layer modeling
The atmospheric boundary layers (ABL) is used to model the wind conditions and characteristics usually
encountered in real wind turbine and wind farm flows. For an homogeneous and stationary flow, the
wind shear profile can be described, according to Panofsky and Dutton [115], as:
∂Ux∂z
=u∗κl, (3.5)
where Ux is the mean streamwise wind speed, z is the height above ground, u∗ is the local friction
velocity, l is the local length scale, and κ is the von Karman constant (≈ 0.4). Within the ABL, the
friction velocity decreases with z, vanishing at the edge of the ABL according the following relation:
u∗ = u∗0
(1− z
zmax
)α, (3.6)
where zmax is the height of the ABL and α depends on the state of the boundary layer, ranging from
2/3 to 3/2 [69]. The height of an ABL can extend up to some kilometers, depending on the atmospheric
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 48
stability [115]. The first 10% of the ABL, which is usually called the surface boundary layer (SBL),
can be approximated by a constant friction velocity equal to u∗0. Also, in the SBL, the length scale is
assumed equal to the height (lSL = z).
The length scale, l, is influenced by the atmospheric stability, which describes the combined effects of
mechanical turbulence and heat convection, and the height of the ABL [115]. Three classes of atmospheric
stability can be defined: unstable, neutral, and stable conditions. The experimental data set for two
of the case studies analyzed in this work, Sexbierum and Nibe, was reported to experience neutral or
near-neutral conditions, whereas, for the Horns Rev case, the experimental measurements were recorded
under unstable conditions. In spite of the substantial difference in the phenomena that drive the different
stability conditions, the measurements obtained under neutral and unstable conditions are usually very
close to each other in terms of both wind speed/power production and turbulence intensity. This can
be seen with the measurement campaign conducted at the Horns Rev wind farm [72], where neutral
and unstable conditions are even grouped together because of their similarity. For this reason, the
case studies analyzed in this work will take into account only the surface boundary layer under neutral
conditions, which is a reasonable approximation for the lowest part of the atmospheric boundary layer
where wind turbines operate [115].
Under the previously discussed hypothesis, a logarithmic velocity profile can be derived from Eq. 3.5
by integration:
Ux =u∗0κln
(z
z0
), (3.7)
where z0 is the surface roughness length. This parameter is solely used for describing the wind speed
profile, in fact, it is not a physical length, but rather a length scale representing the roughness of the
ground (reference values for different terrain types can be found in Ref. [115]). The friction velocity can
be calculated once a reference velocity is known at a specific height:
u∗0 =κUx,ref
ln(zrefz0
) . (3.8)
Introducing the equation for the wind profile into the turbulence models, it can be derived that the
turbulent kinetic energy, turbulent dissipation rate, and specific dissipation rate have the following
expressions, respectively [134, 127]:
k =u2∗0√Cµ
, ε =u3∗0κz
, ω =u∗0√β∗κz
. (3.9)
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 49
Panofsky and Dutton [115] extrapolated average values for the Reynolds stresses from different ex-
perimental data sets and these are given as a function of the friction velocity: uxux = (2.39u∗0)2,
uyuy = (1.92u∗0)2, uzuz = (1.25u∗0)
2, uxuz = −u2
∗0, uxuy = uyuz = 0. From the value of the xx-
Reynolds stress, Prospathopoulos et al. [127] derived a useful relation between the surface roughness
length and the streamwise turbulence intensity, TIx, which is a common parameter used to characterize
the flow turbulent conditions. Following the definition of turbulence intensity, it is possible to write:
TIx =ux
Ux,ref= 2.39
u∗0Ux,ref
. (3.10)
Introducing Eq. 3.8 on the right hand side of Eq. 3.10, it is possible to rearrange the equation in order
to find the value of the surface roughness length as a function of the turbulence intensity:
z0 = zrefexp
(−0.980
TIx
). (3.11)
Starting from the definition of turbulent kinetic energy, it is also straightforward to derive a relation
between the turbulent kinetic energy and the streamwise turbulence intensity:
k =1
2(uxux + uyuy + uzuz) = 5.48u2
∗0 = 0.959TI2xU
2x,ref . (3.12)
3.4 Numerical setup
The computational domain and mesh of the three cases were generated with blockMesh and snappy-
HexMesh, two mesh utilities of OpenFOAM for mesh generation and refinement, respectively. The
Cartesian coordinate system is defined with x, y, and z being respectively the streamwise, lateral and
vertical directions. Figure 3.2 illustrates schematic layouts of the domain used for the Sexbierum and
Nibe cases. The dimensions of the domain are a function of the rotor diameter (D). The domain includes
the actuator disk region and a refined region surrounding the disk with a double mesh resolution in order
to capture the most significant gradients in the flow field. For the Horns Rev case, two turbines were
instead included in the domain.
The dimensions of the domain were carefully determined in order to not influence the flow-field
solution and to avoid useless domain regions. A detailed sensitivity analysis can be found in Ref. [6, 7]
and the same procedure was followed in this work. The upstream distance from the wind turbine and
the domain height were set to 3D and 5D, respectively. For the Horns Rev case, the second wind turbine
was place at a distance of 7D downstream. The other dimensions were basically chosen in order to have
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 50
(a) Top view
(b) Lateral view (c) Front view
Figure 3.2: Schematic layouts of the domain
the flow-field solution as far as the experimental measurements are available for comparison. The global
grid spacing was set to 0.1D, whereas the resolution in the refined region surrounding the wind turbine
was as double as the global resolution in order to capture the main gradients in the flow field. In the
region close to the wall, the resolution was also higher: the first cell at the wall was fixed to a height
of 0.01D and this value was progressively increased moving away from the wall, up to the size given by
the global resolution. The height of the region where this mesh refinement took place was 0.5D. For
the solution of the RANS equations, the convergence criterion was set so that the residuals of all the
equations were below 10−5.
3.4.1 Boundary conditions
The inlet boundary condition was defined with the equations relative to the SBL. Given the flow char-
acteristics, i.e., Uinf , TIx, and H, the values for z0 and u∗0 were derived with Eqs. 3.8 and 3.11. The
velocity, turbulence kinetic energy (or Reynolds stresses), and turbulence dissipation rate (or specific
dissipation rate) were then prescribed according to Eqs. 3.7 and 3.9, depending on the turbulence model
used. The outlet boundary condition was defined as a pressure outlet, with zero gradient for the velocity
and turbulence quantities. The top boundary condition was defined by prescribing constant values of
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 51
velocity, turbulence kinetic energy (or Reynolds stresses), and turbulence dissipation rate (or specific
dissipation rate) at the domain height, whereas zero gradient was set for the pressure. The side boundary
condition was defined as zero gradient for all the variables. The ground was defined as a rough wall,
with wall functions that took care of the turbulence quantities.
3.4.2 Wall functions
A proper treatment of the ground surface is essential to correctly simulate SBL flows. A general require-
ment of CFD simulations consists in having a very fine mesh in proximity of any surface in order to
capture the large velocity gradients and to compute a correct wall shear stress. In SBL simulations, this
is impossible because the surface roughness prevents a full solution of the boundary layers. In fact, the
first wall-adjacent cell should be at least the double of the surface roughness, which is in conflict with
the requirement of a high mesh resolution. In these cases, wall functions based on log-law boundary
layers for rough walls are used to calculate the turbulent viscosity and wall shear stress. Blocken et al.
[19] discussed the problem of the wall treatment for these particular flows, suggesting remedies when
the simulations are run with ANSYS Fluent or CFX, which adopt wall functions based on an equiva-
lent sand-grain roughness, kS , equivalent to approximately 30z0. In contrast, OpenFOAM uses a wall
function based on the actual surface roughness length, z0, that is derived from Eq. 3.7. This was used
in the present work and allowed us to have a higher resolution close to the wall than the one possible
with ANSYS Fluent and CFX. A value of approximately 0.01D for the height of the first cell at the wall
was found to guarantee a correct simulation of SBL flows, achieving horizontally homogeneity (i.e., zero
streamwise gradients) of the SBL in an empty domain. This value is also consistent with other works
present in literature [24, 128].
3.5 Modeling uncertainty with simulation ensembles (MUSE)
The results from simulations run with steady conditions are not directly comparable with results from
field measurements. The reason is that field measurements are given as an average of recordings in a
certain period of time, classified by a specific range of wind direction, wind speed, turbulence intensity
and atmospheric stability. Within each period, wind intensity and direction change in time and produce
an uncertainty associated with the average value of a measuring period. The wind direction variability is
expected to have the most significant impact on turbine-wake characteristics, such as velocity deficit [126].
Causes of uncertainty on the wind direction can be identified in spatial and temporal de-correlation of the
wind direction between the measurement and the turbine locations, large-scale turbulence of the incoming
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 52
boundary layer flow that drives the meandering of the wakes [50], and sensor inaccuracy and uncertainty,
among others [72]. Gaumond et al. [58] suggested that the discrepancies of numerical simulations for
narrow wind direction sectors found in different studies are not caused by wake modeling inaccuracies
but rather by the large wind direction uncertainty included in the data sets. Subsequently, Gaumond
et al. [59] proposed a method to take into account the wind direction uncertainty post-processing the
results from analytical wake models, improving the agreement of the results. This technique is applied
in this study in order to compare the results from the CFD wake model with field measurements. With
this approach, we propose to Model Uncertainty with Simulation Ensembles (MUSE): we show that a
weighted average of several CFD RANS results covering a wide range of wind directions can effectively
take into account the large-scale turbulence of the incoming boundary layer flow causing wind direction
variability. As such, this method can be considered a computationally faster alternative to URANS or
LES models, which are usually needed to simulate large-scale flow phenomena with transient changes in
the flow field.
The wind direction uncertainty is assumed to have a Gaussian distribution around an average value.
The probability density of the Gaussian distribution relative to a wind direction, θ, is thus:
fg (θ) =1
σθ√
2πexp
[−(θ − θ
)22σ2
θ
], (3.13)
where θ is the average wind direction and σθ is the standard deviation associated with the wind di-
rection. The standard deviation of this distribution is usually provided by the experimental data set.
For the Nibe wind farm, the standard deviation was σθ = 5. For the Sexbierum wind farm, the wind
direction uncertainty was not reported in the data set. Nevertheless, Pena et al. [118] derived from
numerical simulations of the same case and experimental measurements of a different site with similar
wind conditions a value in the range of 2−3.5. A value of 3 is therefore adopted in this study. Lastly,
for the Horns Rev wind farm, Hansen et al. [72] stated that the wind direction uncertainty associated
with the measurements could reach values of more than 7 because of the large distance between the
wind measuring station and the operating wind turbines. However, Gaumond et al. [59] in their post-
processing calculations with the wind direction uncertainty found that values in the range of 5 − 7
provided better wake deficit predictions. Therefore, in this study, a value of 6 was chosen as a trade-off
between the previous considerations.
Once the flow field is obtained from the steady-state simulations, the velocity downstream the wind
turbine can be expressed as a function of the wind direction, θ, and the downstream distance, d, given
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 53
Figure 3.3: Example of weighted averaging. A moving weighted averaging process based on a Gaussiandistribution is applied to all wind directions . A Gaussian distribution centered at θ = 0 with σθ = 5
is plotted for clarification purposes.
the aforementioned input conditions:
U = f (θ, d) . (3.14)
A method to model wind direction uncertainty with simulation ensembles is then used: a weighted
average is applied to a set of steady-state CFD results for different wind directions to generate a single
CFD prediction based on the given standard deviation associated with the data set. The resulting
velocity for a specific direction, θ, and distance, d, is obtained as a weighted averaged of the simulated
velocities in the range of θ ± 3σθ at the same distance, where the weights are given by the Gaussian
distribution:
U(θ, d)
=
∫ θ+3σθ
θ−3σθ
U (θ, d) fg (θ) dθ. (3.15)
The process is repeated for all the directions at the same downstream distance. The same method can
also be applied to the power generation of a turbine operating in wake conditions where the resulting
power can be calculated as follows:
P(θ, d)
=
∫ θ+3σθ
θ−3σθ
P (θ, d) fg (θ) dθ. (3.16)
Figure 3.3 shows an example of the averaged results obtained from a CFD simulation when the MUSE
method is applied. It can be seen that the averaging process has the effect of decreasing the center-line
wind speed deficit and broadening the wake width.
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 54
Table 3.3: Root-mean-square errors (RMSE) between the experimental data and the simulations resultswhen considering the wind direction range ±30 for the Sexbierum and Nibe cases, and ±15 for theHorns Rev case. The RMSEs are classified by case (Sexbierum, Nibe, and Horns Rev), by quantity ofinterest (normalized wind speed (NWS) and normalized power (NP)), by downstream distance, and byturbulence model.
k − ε k − ωWind Turbine Quantity Distance Original MUSE Original MUSE
Figure 3.4: Normalized wind speed downstream the Sexbierum wind turbine as a function of winddirection for the different turbulence models and for different downstream distance.
Figure 3.5: Normalized wind speed downstream the Nibe wind turbine as a function of wind directionfor the different turbulence models and for different downstream distance.
(a) 7.0D downstream
Figure 3.6: Normalized power production of turbine 17 operating in the wake of turbine 07 at the HornsRev wind farm as a function of wind direction for different turbulence models. The continuous linescorrespond to Eq. 3.18 fitted to the normalized power data for each of the turbulence models.
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 57
SST k − ω and Reynolds stress models (RMSEs of 0.1349 and 0.0866, respectively).
The results obtained from the simulations showed the particular characteristics of the turbulence
models as well as the inconsistency in wake effect predictions that was found also in literature. The
k − ε and k − ω models provided very similar results between each other. The only difference between
the two models lies in a source term in the ω equation that, in these particular simulations, did not
produce a significant contribution. Their inaccuracy, which is usually agreed upon in literature, can be
seen particularly in the Sixberium case and in the near wake of the Nibe wind turbine as opposed to the
accurate wind speed predictions provided by the SST k − ω and Reynolds stress models. However, the
results using the k− ε and k− ω models were more accurate that those of the SST k− ω and Reynolds
stress models for the far wake of the Nibe wind turbine and for the Horns Rev wind farm.
Better predictions are usually expected by the SST k − ω model and Reynolds stress models. The
advantage of the former relies on the bound that is introduced in the eddy viscosity of the model and
that overcomes the limitation of its parent models. The RSM has instead the advantage of solving all
the Reynolds stresses and therefore it is not affected by the eddy-viscosity approximation. Nevertheless,
the results clearly showed that the predictions had high discrepancies for the Horns Rev case and at the
locations of 4 and 7.5D for the Nibe case.
The discrepancies and the inconsistency of the turbulence models are believed to rely in the wind
direction uncertainty, which was not taken into account in the simulations. The result of using the
MUSE method is showed in the next section where these limitations are overcome.
3.6.2 Results with MUSE Method
The results from the CFD simulations were post-processed with the MUSE method using a Gaussian
distribution for the wind direction uncertainty. An averaging process was used to take into account the
wind direction variability characterizing the specific site.
Figures 3.8 and 3.7 show the post-processed wind speed in the wake of the Nibe and Sexbierum wind
turbines, respectively. The averaged wind speed from the Sexbierum case did not vary much with respect
to the original predictions. This is due to the fact that the wind direction uncertainty was low for this
case and the effect on the results was not significant. On the other hand, the averaged results from the
Nibe case showed a clear improvement with respect to the original predictions when the SST k−ω and
Reynolds stress models were used: at 5.5D, the RMSEs decreased from 0.0619 and 0.0776 to 0.0462
and 0.0582, respectively, whereas at 7.5D, the RMSEs decreased from 0.0505 and 0.0435 to 0.0401 and
0.0392, respectively. In this case, the wind direction uncertainty was higher and, therefore, a wider
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 58
range of wind speeds was included in the averaging process, resulting in a more significant effect on the
results. As expected, no improvements were registered for the k − ε and k − ω models, which were seen
to overestimate the wind speed in the original results. The inclusion of the wind speed uncertainty for
these two models was even more deleterious for the predictions.
Figure 3.9 shows instead the normalized averaged power production of turbine 17 operating in the
wake of turbine 07 at the Horns Rev wind farm as a function of wind direction for different turbulence
models. The MUSE method was applied to the fitted power distribution curve in order to have more
data to process. The results showed a significant difference with respect to the original simulation
results. This is due to the high wind direction uncertainty that was associated with the data set and
that was used to post-process the simulation results. It is possible to notice that the predictions of power
production given by using the SST k − ω and Reynolds stress models were much more accurate than
in the previous case: the RMSEs decreased from 0.1349 and 0.0866 to 0.0461 and 0.0392, respectively.
On the other hand, when using the k− ε and k−ω models, the post-processed results provided a higher
power production and the discrepancy became consistent with the other wind farm simulations (e.g.
[24, 143, 7]) where the wake wind speed was overestimated.
The inclusion of the wind direction uncertainty with the proposed MUSE method showed that the
results directly obtained from the CFD simulation are not always comparable with the experimental
observations. This is particularly noticeable in the far wake regions when the wind direction uncer-
tainty was relatively high. By using the MUSE method, the RANS simulations using the SST k − ω
and Reynolds stress models were shown to be consistently more accurate for wake predictions and are
therefore to be preferred over the k− ε and k− ω models. This result clarifies and gives an explanation
to the sometime inconsistent behavior of the turbulence models highlighted in our results and in the
literature. Overall, this method improved the predictions of the CFD RANS model when either of the
suggested turbulence models is used. The improvements are more significant where large-scale unsteady
phenomena resulted in uncertainty in the wind direction as reported in the experimental data sets.
3.7 Conclusions
In the present work, we conducted an investigation of the limitations and inconsistency of the RANS
wake models in the predictions of wake effects in wind farms. A CFD model was developed which used
the actuator disk technique to simulate the wind turbines and the surface boundary layer approximation
to simulate the ambient conditions. The developed CFD model was implemented for three different wind
farms, namely, Sexbierum, Nibe, and Horns Rev, with publicly available experimental measurements.
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 59
Figure 3.7: Normalized averaged wind speed downstream the Sexbierum wind turbine as a function ofwind direction for the different turbulence models and for different downstream distance.
Figure 3.8: Normalized averaged wind speed downstream the Nibe wind turbine as a function of winddirection for the different turbulence models and for different downstream distance.
(a) 7.0D downstream
Figure 3.9: Normalized averaged power production of turbine 17 operating in the wake of turbine 07 atthe Horns Rev wind farm as a function of wind direction for different turbulence models.
Chapter 3. Wind Farm Simulations incorporating Wind Direction Uncertainty 60
The main turbulence models present in literature, namely, the k − ε, k − ω, SST k − ω and Reynolds
stress models were used to close the RANS equations and their results compared.
The results obtained from the simulations were compared to the experimental measurements of wind
speeds and power production in the wake region of the selected wind farms. The CFD results showed
the inconsistency in wake effect predictions that was also found in the literature. The simulation using
the k− ε and k−ω models provided inaccurate predictions for the Sixberium case and in the near wake
of the Nibe wind turbine. Despite their known limitations, their results were more accurate for the far
wake of the Nibe wind turbine and for the Horns Rev wind farm. On the other hand, the SST k−ω and
Reynolds stress models provided opposite results: accurate wind speed predictions for the Sexberium
case and in the near wake of the Nibe wind turbine and high discrepancies for the Horns Rev wind farm.
The discrepancies and the inconsistency of the turbulence models were hypothesized to arise from
wind direction uncertainty caused by large-scale unsteady phenomena, which though present in the ex-
perimental measurements were not accounted for in the simulations. We therefore proposed an approach
to overcome these limitations by Modeling Uncertainty using Simulation Ensembles (MUSE), i.e., a set
of CFD results for different wind directions to generate a single CFD prediction. The predictions of
CFD model were post-processed with this innovative method for CFD simulations that accounts for the
wind direction uncertainty associated with the specific wind farm data set. The proposed MUSE method
can be considered a computationally faster alternative to URANS or LES models, when the goal is to
account for the effect of large-scale, transient flow phenomena causing wind direction variability.
The results in terms of wind speed and power output showed that this technique corrects the pre-
dictions of the CFD model which would be otherwise inaccurate. Specifically, RANS simulations using
the SST k − ω and Reynolds stress models were shown to be consistently more accurate for wake pre-
dictions and are therefore to be preferred over the k− ε and k−ω models. The results showed also that
the discrepancy found between CFD models using the SST k − ω or Reynolds stress models and field
measurements are not related to the inaccuracy of the CFD models but to the uncertainty in the wind
direction.
Chapter 4
Continuous Adjoint Formulation for
WFLO: A 2D Implementation
In the present chapter, we describe an optimization methodology that integrates the high accuracy and
flexibility offered by the CFD models and that overcomes the computationally high costs of a CFD-
based optimization. To this end, we present an adjoint method in its continuous formulation for the
gradient computation. To the authors’ best knowledge, this is the first continuous formulation of the
adjoint method applied to the gradient computation in the WFLO problem. The continuous adjoint
formulation allows for a derivation of the general adjoint equations, before any discretization is being
applied, and therefore allows also for a more flexible implementation in CFD software packages. Here we
present a formulation for different conditions in the flow equations, namely, laminar, frozen-turbulence
and turbulent flows. To verify the developed formulation, gradients calculated under these different
flow conditions are compared with gradients computed with traditional central-difference schemes. The
gradient calculation using the developed adjoint method is then incorporated into a gradient-based
optimization methodology and applied to a set of 2D case studies with a wide variety of wind resource
profiles.
The outline of the chapter is the following. In Sec. 4.1, we present general framework of the adjoint
method and its computational advantage. The continuous adjoint formulation is described in Sec. 4.2
for the three cases of the flow equations. Section 4.3 illustrates the verification of the developed adjoint
method by comparing its results with a central difference discretization approach. In Sec. 4.4, we present
the wind farm layout optimization methodology and its application on a 2D wind farm. Conclusions are
summarized in Sec. 4.5.
61
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 62
4.1 The adjoint method
This section illustrates the general framework underlying the adjoint method, as first conceptualized by
Jameson [85], and its computational advantages. Suppose that the governing equations of a system can
be expressed as G (φ,α) = 0, where G is the set of differential equations expressed in vector form (e.g.,
the RANS equations), φ is the vector of state variables (e.g., the flow field variables), and α is a vector
of the design variables (e.g., the wind turbine coordinates). The system of the governing equations
implicitly states that the state variables, φ, are function of the design variables, α. A scalar objective
function that measures a quantity of interest (e.g., the total power/energy production of the wind farm)
can be expressed as the integral of a user-defined function, J [φ (α) ,α], over a certain volume, ΩO.
Optimization problems are formulated such that the optimal design variables need to be found within
certain constraints to maximize the objective function, namely:
maxα
∫ΩO
J [φ (α) ,α] dΩ,
subject to G [φ (α) ,α] = 0 in Ω,
k (α) = 0,
h (α) ≤ 0,
(4.1)
where h and k are additional equality and inequality constraints on the design variables α, such as upper
and lower bounds on a control input (e.g., wind farm site boundaries, wind turbines interspacing), and
Ω is the entire domain over which the constraints are applied.
Gradient-based optimization algorithms require the gradient of the objective function with respect
to all of the control parameters, i.e., d(∫
ΩOJdΩ
)/dα. The derivation of this gradient with the adjoint
method can be shown starting from the definition of the Lagrangian function:
L =
∫ΩO
JdΩ +
∫Ω
φTGdΩ, (4.2)
where φ is the vector of the Lagrange multipliers, also called adjoint variables. As G is everywhere zero
by construction, the Lagrangian and its variation are always equal in value to the objective function and
its variation (i.e., L = J and δL = δ(∫
ΩOJdΩ
)) while φ can be arbitrarily chosen. By applying the
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 63
chain rule, the variation of the Lagrangian can be shown to be:
δL =∂
∂α
(∫ΩO
JdΩ
)δα+
∂
∂α
(∫Ω
φTGdΩ
)δα+
+
∫ΩO
(∂J
∂φ+ φT
∂G
∂φ
)dφ
dαδαdΩ +
∫Ω\ΩO
(φT
∂G
∂φ
)dφ
dαδαdΩ.
(4.3)
Since the objective function is typically a simple user-defined function, its partial derivatives with respect
to the design variables, ∂(∫
ΩOJdΩ
)/∂α, and state variables, ∂J/∂φ, are straightforward to calculate
numerically and analytically, respectively. The partial derivative of the constraints with respect to the
design variables, ∂(∫
ΩφTGdΩ
)/∂α, is equal to zero whenever the state equations, G, are and remain
satisfied. However, this is not the case when volume source terms in the state equations are themselves
a function of the design variables. In such cases, in the partial derivative, a term representing the
source position shift needs to be defined and this creates an imbalance in the state equations that can
be computed numerically. The partial derivative of the constraints with respect to the state variables,
∂G/∂φ, can be determined with classic derivation rules. Lastly, dφ/dα is the most expensive term
to compute for high-dimensional design and state spaces. In the adjoint approach, this last term is
eliminated by choosing the adjoint variables such that:
∂J
∂φ+ φT
∂G
∂φ= 0 in ΩO,
φT∂G
∂φ= 0 in Ω \ ΩO,
(4.4)
These are called the adjoint equations and their solution usually requires a computational time that is
comparable to the solution of the flow equations. With the values of the adjoint variables, it is therefore
easy to calculate the total gradient needed for the optimization algorithm:
d
dα
(∫ΩO
JdΩ
)=dL
dα=
∂
∂α
(∫ΩO
JdΩ
)+
∂
∂α
(∫Ω
φTGdΩ
). (4.5)
4.2 Continuous adjoint formulation for the wind farm layout
optimization problem
The formulation of the adjoint method needs to be derived for every problem to which it is applied.
Specifically, this requires the derivation and the calculation of the partial derivative terms highlighted
in the previous section. The formulation of the adjoint method for the wind farm layout optimization
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 64
problem starts with the definition of the design variables, α, which are the coordinates of the wind
turbines within the wind farm:
α = [(x1, x2)k] k = 1, ...,K, (4.6)
where K is the total number of wind turbines.
Each wind turbines is modeled as an actuator disk, which is characterized by a cylindrical volume,
defined by the rotor swept area, where a distributed force, defined as axial momentum source, F , is
applied. The actuator disk model offers a convenient trade-off between computational cost and accuracy:
even if it does not provide a detailed description of the wind turbine geometry it is able to adequately
capture its wake effect for the intended application in wind farm simulations and optimization [145, 3].
The axial force applied on the flow field as function of the reference wind speed is:
F =1
2ρπD2
4CTU
2ref , (4.7)
where ρ is the air density, D is the rotor diameter, Uref is the upstream wind speed, and CT is the
thrust coefficient, obtained from the thrust coefficient curve of the wind turbine at the specified Uref .
The power generated can be computed as the product of the axial force and the average velocity over
the actuator disk volume V :
P = Fvn = F1
V
∫V
vndΩ = f
∫V
vndΩ, (4.8)
where vn is the average normal velocity over the wind turbine rotor volume, V . Because of the 2-
dimensional problem formulation, the actual wind turbine rotor volume is a rectangular prism with unit
height and rectangular base whose width is equal to the rotor diameter.
The objective function for the WFLO is the annual energy production (AEP) of the wind farm, which
is a function of both the wind farm layout and the wind resource. Without loss of generality, herein we
present a simplified version of the problem in which the objective function is the total power produced
by the wind turbines under a single wind state, i.e.:
P =
∫ΩO
JdΩ =
∫ΩO
fkvndΩ, (4.9)
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 65
where
ΩO =
K∑k=1
Vk, (4.10)
fk ∈ Vk. (4.11)
For WFLO, given the statistical distribution of wind speeds and directions, the formulation above (Eq.
4.9) is the elemental building block required to calculate the expected AEP, as follows:
AEP = 8760
S∑s=1
T∑t=1
ps,tPs,t, (4.12)
where S and T are the number of wind speed and direction bins, respectively, ps,t is the probability of
occurrence for each wind speed and direction bin, and Ps,t is the total power produced by the turbines,
Eq. 4.9, for a given wind speed and direction.
The governing equations for the present WFLO are the Navier-Stokes equations (i.e., the continuity
(C) and momentum (M) equations) for steady, incompressible flow, which in the context of the adjoint
formulation are the constraints of the problem, G:
C :∂vi∂xi
= 0 in Ω, (4.13)
Mi :
vj∂vi∂xj
+∂p∗
∂xi− ∂
∂xj(2νeffSij) = 0 in Ω− ΩO,
vj∂vi∂xj
+∂p∗
∂xi− ∂
∂xj(2νeffSij) + fk,i = 0 in Vk k = 1, ...,K,
(4.14)
where vi,j is the mean velocity component; p∗ is the mean kinematic pressure (i.e., p/ρ); fk is the
constant source term generated by the k-th turbine (modeled as an actuator disk); i, j are indexes over
the coordinate directions; Sij is the mean rate-of-strain tensor, defined as:
Sij =1
2
(∂vi∂xj
+∂vj∂xi
); (4.15)
and νeff is the effective viscosity, which for a laminar case is simply equal to the fluid kinematic viscosity,
νeff = ν = µ/ρ, and for turbulent flows is the sum of the fluid and turbulent viscosity, νeff = ν + νturb.
The turbulent viscosity is the result of the Boussinesq’s hypothesis to model the Reynolds stresses that
arise after the Reynolds averaging operation. Turbulence modeling is required to calculate this viscosity
and close the Navier-Stokes equations, and, consequently, more equations need to be considered as
constraints of the problem. In the present formulation we adopted the k − ω turbulence model to close
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 66
the RANS equation, but the current approach can similarly be extended to other one- and two-equation
turbulence models. For the k−ω turbulence model, the turbulent viscosity is given by the ratio between
the turbulence kinetic energy, k, and the specific dissipation rate, ω. The equations to calculate these
two variables are the following:
T1 : vj∂k
∂xj− 2
k
ωS2 + β∗kω − ∂
∂xj
[(ν + σ∗
k
ω
)∂k
∂xj
]= 0 in Ω, (4.16)
T2 : vj∂ω
∂xj− 2αS2 + βω2 − ∂
∂xj
[(ν + σ
k
ω
)∂ω
∂xj
]= 0 in Ω, (4.17)
where α, β, β∗, σ, σ∗ are empirical constants of the model, and S is the modulus of the mean rate-of-
strain tensor, defined as:
S =√SijSij . (4.18)
The state variables, also called field variables, φ, for this problem are therefore:
φ =
(p∗, vi) Laminar case,
(p∗, vi, k, ω) Turbulent case.
(4.19)
The derivation of the adjoint formulation depends on the state equations that govern the original
system and on the problem assumptions. Three cases can be identified for the adjoint formulation:
laminar, turbulent, and frozen-turbulence cases. The first two cases are the results of the original
laminar and turbulent equations respectively, whereas the latter is the results of turbulent equations
when the frozen-turbulence hypothesis is used. Under this assumption, the variation of the turbulence
field is neglected (i.e., the turbulent viscosity, although non-uniform in space, is assumed not to depend
on the mean velocities), and only changes of the mean flow are taken into account, described through
the system for continuity and momentum. Although the gradient obtained by freezing the turbulence
field is incomplete, this assumption is a convenient simplification that is considered standard for adjoint
methods [47], and as such it is also considered in the present work. Our results, shown later in this
chapter, will show that this assumption introduces inaccuracies that we deemed inacceptable for the
purpose of optimization.
The Lagrangian function that results for the laminar and frozen-turbulence cases is:
L =
∫ΩO
fkvndΩ +
∫Ω
(p, vi) · (C,Mi) dΩ, (4.20)
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 67
(a) Volume shift perpendicular to axial direction. (b) Volume shift longitudinal to axial direction.
Figure 4.1: Schematic illustrating the calculation of material partial derivatives.
whereas for the turbulent case, the Lagrangian function is given by:
L =
∫ΩO
fkvndΩ +
∫Ω
(p, vi, k, ω
)· (C,Mi, T1, T2) dΩ, (4.21)
where the adjoint variables, φ, for each of the cases are the following:
φ =
(p, vi) Laminar and frozen-turbulence cases,(p, vi, k, ω
)Turbulent case.
(4.22)
The derivation of the terms given in Eq. 4.3 and used to calculate the total gradient follows classical
techniques from calculus of variations. The first terms analyzed here are the partial derivatives with
respect to the design variables. As opposed to the traditional shape optimization formulations, the
WFLO problem does not require surface sensitivities which would in turn require surface displacements
and mesh deformation. In the current problem, the calculation of the wind turbine position sensitivities
entails instead the displacements of the volumes where the source terms are applied without the need
of mesh deformation. In fact, the source terms will be shifted over different regions depending of the
chosen displacements to calculate the partial derivatives with respect to the design variables (see Fig.
4.1 for clarification purposes).
When considering the partial derivative of the objective function, the resulting expression is the
following:
∂
∂α
(∫ΩO
JdΩ
)=
∂
∂α
(∫ΩO
fkvndΩ
). (4.23)
The calculation of this term requires the normal average velocity over the shifted volumes illustrated in
Fig. 4.1 for each of the design variables. This can be computed numerically with a central difference
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 68
discretization at no additional cost given that the field variables are already known:
∂
∂α
(∫ΩO
JdΩ
)=
∂
∂ [(x1, x2)k]
(∫Vk
fkvndΩ
)k = 1, ...,K. (4.24)
When considering instead the partial derivative of the augmented constraints, it can be seen that
the displacements of the source terms affect only the momentum equations, whereas the other state
equations remain equal to zero. The resulting expression is therefore the following:
∂
∂α
(∫Ω
φTGdΩ
)=
∂
∂α
(∫Ω
vi ·MidΩ
). (4.25)
If the state equations remained satisfied everywhere in Ω when calculating the partial derivative in Eq.
4.25, this term would result equal to zero. However, because the turbine (source term) positions are the
design variables of the problem and their displacements need to be defined and applied to calculate the
derivative, an imbalance in the momentum equations is created. This imbalance is equal to the source
term and is present with a positive value in the regions where the shifted volumes do not overlap with
the original turbine volume or with a negative value where the original volume does not overlap with
shifted volumes. In formulas, this can be expressed as:
∂
∂α
(∫Ω
φTGdΩ
)=
∂
∂ [(x1, x2)k]
(∫Vk,imb
fkvndΩ
)k = 1, ...,K, (4.26)
where Vk,imb refers to the region where the momentum equations result imbalanced when a central
difference approximation is used to discretize the derivative and a volume shift is applied. The final
result can be computed numerically once the adjoint variables are known.
The two partial derivatives calculated in Eq. 4.25 and 4.26 are the fundamental components used to
obtain the final value of the objective function gradient. However, other terms are needed to calculate
the required adjoint variables. For this purpose, the last two terms given in Eq. 4.3, namely the partial
derivatives with respect to the field variables, need to be calculated. First, the partial derivative of the
objective function can be easily calculated as:
∫ΩO
∂J
∂φδφdΩ =
∫ΩO
∂
∂φ(fkvn) δvndΩ =
∫ΩO
fk,iδvidΩ. (4.27)
The second term is the partial derivative of the augmented constraints and it requires instead a few
algebraic manipulations to obtain a convenient relation that can be subsequently used for the adjoint
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 69
equations. To derive it, the following rule for integration by parts for multivariable calculus will be used:
∫Ω
∂g
∂xihdΩ =
∫Γ
ghnidΓ−∫
Ω
∂h
∂xigdΩ. (4.28)
Also, depending on the cases previously discussed (i.e., laminar, frozen-turbulence, and turbulent),
different equation will be derived. The following sections will illustrate the two different derivations.
4.2.1 Adjoint equations for the laminar and frozen-turbulence cases
The adjoint equations and boundary conditions for the laminar and frozen-turbulence cases are derived
by developing the last term required:
∫Ω
φT∂G
∂φδφdΩ =
∫Ω
p
−∂δvi∂xi
dΩ+
∫Ω
vi
δvj
∂vi∂xj
+ vj∂δvi∂xj
+∂δp∗
∂xi− ∂
∂xj(2νeffδSij)
dΩ, (4.29)
where
δSij =1
2
(∂δvi∂xj
+∂δvj∂xi
). (4.30)
The integration by parts is used (twice for the diffusion term) to obtain the final expression:
∫Ω
φT∂G
∂φδφdΩ =−
∫Ω
− ∂p
∂xiδvi − vi
∂vi∂xj
δvj + vj∂vi∂xj
δvi +∂vi∂xi
δp∗ +∂
∂xj
(2νeff Sij
)δvi
dΩ+
+
∫Γ
− pniδvi + vivjnjδvi + viniδp
∗ − vi2νeffδSijnj + 2νeff Sijnjδvi
dΓ,
(4.31)
where
Sij =1
2
(∂vi∂xj
+∂vj∂xi
). (4.32)
After collecting terms with the variations of the field variables, the resulting expression is the following:
∫Ω
φT∂G
∂φδφdΩ =−
∫Ω
δp∗
[∂vi∂xi
]+ δvi
[vj∂vi∂xj− ∂p
∂xi− vj
∂vj∂xi
+∂
∂xj
(2νeff Sij
)]dΩ+
+
∫Γ
δp∗[vini
]+ δvi
[vivjnj − pni + 2νeff Sijnj
]− vi2νeffδSijnj
dΓ.
(4.33)
The adjoint equations can be eventually determined to eliminate the variations of the field variables.
By summing the partial derivatives of the objective function in Eq. 4.27 and of the augmented constraints
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 70
in Eq. 4.33, the adjoint equations for the laminar and frozen-turbulence cases are:
∂vi∂xi
= 0 in Ω, (4.34)−vj
∂vi∂xj
+∂p
∂xi− ∂
∂xj
(2νeff Sij
)+ vj
∂vj∂xi
= 0 in Ω− ΩO,
−vj∂vi∂xj
+∂p
∂xi− ∂
∂xj
(2νeff Sij
)+ vj
∂vj∂xi
+ fk,i = 0 in Vk k = 1, ...,K,
(4.35)
δp∗[vini
]= 0 in Γ, (4.36)
δvi
[vivjnj − pni + 2νeff Sijnj
]= 0 in Γ, (4.37)
vi2νeffδSijnj = 0 in Γ. (4.38)
4.2.2 Adjoint equations for the turbulent case
The adjoint equations and boundary conditions for the turbulent case are derived, as in the previous
case, by developing the last term required:
∫Ω
φT∂G
∂φδφdΩ =
∫Ω
p
−∂δvi∂xi
dΩ +
∫Ω
vi
δvj
∂vi∂xj
+ vj∂δvi∂xj
+∂δp∗
∂xi+
− ∂
∂xj
[2
(δk
ω− k
ω2δω
)Sij + 2
(ν +
k
ω
)δSij
]dΩ+
+
∫Ω
k
δvj
∂k
∂xj+ vj
∂δk
∂xj+
− 2δk
ωS2 + 2
k
ω2δωS2 − 2
k
ωδ(S2)
+ β∗δkω + β∗kδω+
− ∂
∂xj
[σ∗(δk
ω− k
ω2δω
)∂k
∂xj+
(ν + σ∗
k
ω
)∂δk
∂xj
]dΩ+
+
∫Ω
ω
δvj
∂ω
∂xj+ vj
∂δω
∂xj− 2αδ
(S2)
+ 2βωδω+
− ∂
∂xj
[σ
(δk
ω− k
ω2δω
)∂ω
∂xj+
(ν + σ
k
ω
)∂δω
∂xj
]dΩ,
(4.39)
where
δ(S2)
= 2Sij∂δvi∂xj
. (4.40)
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 71
The integration by parts is used (twice for the diffusion term) to obtain the final expression:
∫Ω
φT∂G
∂φdΩ = −
∫Ω
− ∂p
∂xiδvi − vi
∂vi∂xj
δvj + vj∂vi∂xj
δvi +∂vi∂xi
δp∗ +
+∂
∂xj
[2
(ν +
k
ω
)Sij
]δvi −
∂vi∂xj
[2
(δk
ω− k
ω2δω
)Sij
]+
− k ∂k∂xj
δvj + vj∂k
∂xjδk − ∂
∂xj
(4kk
ωSij
)δvi+
− k(−2
S2
ωδk + 2
k
ω2S2δω + β∗ωδk + β∗kδω
)+
+∂
∂xj
[(ν + σ∗
k
ω
)∂k
∂xj
]δk − ∂k
∂xj
[σ∗(δk
ω− k
ω2δω
)∂k
∂xj
]+
− ω ∂ω∂xj
δvj + vj∂ω
∂xjδω − ∂
∂xj(4ωαSij) δvi − 2βωωδω+
+∂
∂xj
[(ν + σ
k
ω
)∂ω
∂xj
]δω − ∂ω
∂xj
[σ
(δk
ω− k
ω2δω
)∂ω
∂xj
]dΩ+
+
∫Γ
−pniδvi + vivjnjδvi + viniδp∗+
− vi[2
(δk
ω− k
ω2δω
)Sij + 2
(ν +
k
ω
)δSij
]nj + 2
(ν +
k
ω
)Sijnjδvi+
+ kvjnjδk − 4kk
ωSijnjδvi+
− k[σ∗(δk
ω− k
ω2δω
)∂k
∂xj+
(ν + σ∗
k
ω
)∂δk
∂xj
]nj+
+
(ν + σ∗
k
ω
)∂k
∂xjnjδk+
+ ωvjnjδω − 4ωαSijnjδvi+
− ω[σ
(δk
ω− k
ω2δω
)∂ω
∂xj+
(ν + σ∗
k
ω
)∂δω
∂xj
]nj+
+
(ν + σ
k
ω
)∂ω
∂xjnjδω
dΓ.
(4.41)
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 72
After collecting terms with the variations of the field variables, the resulting expression is the following:
∫Ω
φT∂G
∂φδφdΩ = −
∫Ω
δp∗
∂vi∂xi
+
+ δvi
vj∂vi∂xj− ∂p
∂xi− vj
∂vj∂xi− k ∂k
∂xi− ω ∂ω
∂xi+
+∂
∂xj
[2
(ν +
k
ω
)Sij
]− ∂
∂xj
(4kk
ωSij
)− ∂
∂xj(4ωαSij)
+
+ δk
vj∂k
∂xj+
∂
∂xj
[(ν + σ∗
k
ω
)∂k
∂xj
]− 1
ω2Sij
∂vi∂xj
+
−σ∗
ω
∂k
∂xj
∂k
∂xj− σ
ω
∂ω
∂xj
∂ω
∂xj+ 2
k
ωS2 − β∗kω
+
+ δω
vj∂ω
∂xj+
∂
∂xj
[(ν + σ
k
ω
)∂ω
∂xj
]+
k
ω22Sij
∂vi∂xj
+
+σ∗k
ω2
∂k
∂xj
∂k
∂xj+σk
ω2
∂ω
∂xj
∂ω
∂xj− 2
kk
ω2S2 − β∗kk − 2βωω
dΩ+
+
∫Γ
δp∗ [vini] +
+ δvi
[vivjnj − pni + 2
(ν +
k
ω
)Sijnj +
−(
4kk
ω+ 4ωα
)Sijnj
]− vi2
(ν +
k
ω
)δSijnj+
+ δk
[kvjnj +
(ν + σ∗
k
ω
)∂k
∂xjnj −
viωSijnj +
− σ∗k
ω
∂k
∂xj− σω
ω
∂ω
∂xj
]− k
(ν + σ∗
k
ω
)∂δk
∂xjnj+
+ δω
[ωvjnj +
(ν + σ
k
ω
)∂ω
∂xjnj +
vik
ω2Sijnj +
+σ∗kk
ω2
∂k
∂xj+σωk
ω2
∂ω
∂xj
]− ω
(ν + σ
k
ω
)∂δω
∂xjnj
dΓ.
(4.42)
By eliminating the variations of the field variables and by summing the partial derivatives of the objective
function in Eq. 4.27 and of the augmented constraints in Eq. 4.42, the adjoint equations for the turbulent
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 73
case are:
∂vi∂xi
= 0 in Ω, (4.43)
−vj∂vi∂xj
+∂p
∂xi− ∂
∂xj
[2
(ν +
k
ω
)Sij
]+ vj
∂vj∂xi
+
+k∂k
∂xi+ ω
∂ω
∂xi+
∂
∂xj
[4
(kk
ω+ αω
)Sij
]= 0 in Ω− ΩO,
−vj∂vi∂xj
+∂p
∂xi− ∂
∂xj
[2
(ν +
k
ω
)Sij
]+ vj
∂vj∂xi
+
+k∂k
∂xi+ ω
∂ω
∂xi+
∂
∂xj
[4
(kk
ω+ αω
)Sij
]+ fk,i = 0 in Vk k = 1, ...,K,
(4.44)
− vj∂k
∂xj− ∂
∂xj
[(ν + σ∗
k
ω
)∂k
∂xj
]+
1
ω2Sij
∂vi∂xj
+
+σ∗
ω
∂k
∂xj
∂k
∂xj+σ
ω
∂ω
∂xj
∂ω
∂xj− 2
k
ωS2 + β∗kω = 0 in Ω,
(4.45)
− vj∂ω
∂xj− ∂
∂xj
[(ν + σ
k
ω
)∂ω
∂xj
]− k
ω22Sij
∂vi∂xj
+
− σ∗k
ω2
∂k
∂xj
∂k
∂xj− σk
ω2
∂ω
∂xj
∂ω
∂xj+ 2
kk
ω2S2 + β∗kk + 2βωω = 0 in Ω,
(4.46)
δp∗[vini
]= 0 in Γ, (4.47)
δvi
[vivjnj − pni + 2
(ν +
k
ω
)Sijnj − 4
(kk
ω+ ωα
)Sijnj
]= 0 in Γ, (4.48)
vi2
(ν +
k
ω
)δSijnj = 0 in Γ, (4.49)
δk
[kvjnj +
(ν + σ∗
k
ω
)∂k
∂xjnj −
viωSijnj −
σ∗k
ω
∂k
∂xj− σω
ω
∂ω
∂xj
]= 0 in Γ, (4.50)
k
(ν + σ∗
k
ω
)∂δk
∂xjnj = 0 in Γ, (4.51)
δω
[ωvjnj +
(ν + σ
k
ω
)∂ω
∂xjnj +
vik
ω2Sijnj +
σ∗kk
ω2
∂k
∂xj+σωk
ω2
∂ω
∂xj
]= 0 in Γ, (4.52)
ω
(ν + σ
k
ω
)∂δω
∂xjnj = 0 in Γ. (4.53)
4.3 Verification
In this section, the verification of the proposed continuous adjoint method is carried out by comparing
its results in terms of gradient computation with a finite difference discretization, defined according to:
d
dα
(∫ΩO
JdΩ
)=
∫ΩO
J (αn + δαn) dΩ−∫
ΩO
J (αn − δαn) dΩ
2δαnn = 1, ..., N, (4.54)
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 74
where δαn is a small variation of the n-th design variable. As opposed to the adjoint method, the
gradient calculated with the central difference discratization requires two function evaluations for each
of the design variables. This form of verification has been extensively used in literature to assess the
accuracy of the derivatives (e.g., [4, 30, 47, 116]). It is important to note that, although the continuous
adjoint formulation calculates the exact gradient, its implementation requires the discretization of the
equations over the same computational mesh of the primal simulation. Hence, both the central difference
and adjoint method results are approximations to the underlying gradient, for which there are no closed-
form expressions available.
The continuous adjoint method was therefore applied to the verification case shown in Fig. 4.2, which
consists in finding the gradient of the power production of a turbine placed in the wake of another with
respect to its turbine coordinates. For this case, a 2D domain was used and the results were obtained
for the three formulations of the adjoint equations. To have a robust verification and to capture both
stream-wise and cross-wise variations, the gradient components were calculated for the two directions of
the domain and on a regular grid of downstream and cross-stream positions. The downstream positions
were set to 10D and 15D, with a cross-stream spacing of 0.5D, where D is the turbine rotor diameter
equal to 80 m.
Figure 4.2: Schematic of the layout for the verification case. The two grey areas represent the volumeswhere the wind turbine momentum sources are applied. The black dots indicate the different positionswhere the second wind turbine is placed when the gradient is calculated.
The mathematical formulation of this adjoint problem was implemented in OpenFOAM [153]. The
implementation took advantage of the top-level syntax of the code, which is very close to the conventional
mathematical notation for tensors and partial differential equations [164]. Thanks to the high degree of
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 75
similarity between the state and the adjoint equations, the latter ones were elegantly coded in a similar
way to the NS equations. Second-order discretization was subsequently applied to the adjoint equations
for the interpolation of the adjoint variables. Similarly to the NS equations, the semi-implicit method
for pressure-linked equations (SIMPLE) algorithms was used to solve simultaneously the set of adjoint
equations by an iterative scheme.
4.3.1 Boundary conditions
The boundary conditions for the wind turbines simulation were set with realistic values for wind speed
and turbulence quantities. Even though the simulated system is 2-dimensional, an atmospheric boundary
layer (ABL) was assumed to be present at the inlet. The relations that govern an ABL can be found in
Ref. [6]. Given the ABL characterizing parameters, i.e., undisturbed speed at reference height, Uref=10
m/s, reference height, H=60 m, and surface roughness, z0=0.0018 m, the turbulence kinetic energy and
specific dissipation rate were calculated and then prescribed at the inlet along with the wind speed.
The outlet boundary condition was defined as pressure outlet, with zero gradient for the velocity and
turbulence quantities. The side boundary condition was defined as zero gradient for all the variables.
With regards to the adjoint simulation, the definition of the boundary conditions requires a specific
discussion. In traditional cases of shape design optimization, the boundaries of the domain are subject to
variation depending on the design variables. Therefore the variation of the boundaries and the definition
of the adjoint boundary conditions are crucial for an accurate gradient calculation (see Ref. [149] for
a detailed analysis). In the present WFLO problem, the boundaries are not subject to any variation
and they do not carry any objective function. Because of these circumstances, their influence on the
gradient calculation was seen to be negligible. The boundary conditions on Γ for the present problem
can therefore be fulfilled by the following solution:
vi = 0 in Γ,
∂p
∂xi= 0 in Γ,
k = 0 in Γ,
ω = 0 in Γ.
(4.55)
This solution enabled a straightforward implementation, a stable convergence of the iterative scheme,
and accurate results when considering the gradient calculation.
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 76
(a) 10D downstream (b) 15D downstream
Figure 4.3: Gradient computation for the laminar case. The figures show the results obtained by theadjoint method compared to a central difference discretization approach for the different lateral positionsof the second wind turbine at 10D and 15D downstream.
4.3.2 Verification results
The results of the developed adjoint formulation were compared to those of a central difference (CD)
approach, which can be considered as the best achievable solution for numerical gradient computations.
Figures 4.3, 4.4 and 4.5 show the values of the gradient obtained by the three different adjoint formu-
lations and the CD approach. Tables 4.1, 4.2 and 4.3 report evaluation metrics when comparing the
adjoint formulations and the CD approach. These are: the relative magnitude of the gradient computed
with the adjoint method:
‖∇Jrel‖ =‖∇JAM‖‖∇JAM,max‖
· 100; (4.56)
the percentage difference in the absolute value of the gradients computed by the adjoint method with
respect to the central difference approach:
err∇J =‖∇JAM‖ − ‖∇JCD‖‖∇JCD,max‖
· 100; (4.57)
the angular difference in the direction between the gradient calculated with the adjoint method and the
central difference approach, according to:
errθ = ‖θAM − θCD‖ . (4.58)
For the laminar case, the adjoint method could capture almost exactly the gradient given by the central
difference approach for all the downstream positions. A maximum difference of 1.2% in the absolute value
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 77
(a) 10D downstream (b) 15D downstream
Figure 4.4: Gradient computation for the frozen-turbulence case. The figures show the results obtainedby the adjoint method compared to a central difference discretization approach for the different lateralpositions of the second wind turbine at 10D and 15D downstream.
(a) 10D downstream (b) 15D downstream
Figure 4.5: Gradient computation for the frozen-turbulence case. The figures show the results obtainedby the adjoint method compared to a central difference discretization approach for the different lateralpositions of the second wind turbine at 10D and 15D downstream.
Table 4.1: Percentage difference in the absolute value and angular difference in the direction of thegradients computed by the central difference approach and the adjoint method in the laminar case.
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 78
Table 4.2: Percentage difference in the absolute value and angular difference in the direction of thegradients computed by the central difference approach and the adjoint method in the frozen-turbulencecase.
Table 4.3: Percentage difference in the absolute value and angular difference in the direction of thegradients computed by the central difference approach and the adjoint method in the turbulent case.
and a maximum difference of 1.5 in the direction were observed. When the frozen-turbulence assumption
was used for the turbulence equations, higher discrepancies were seen between the results of the two
methods, with a maximum difference of 12.0% in absolute value and a maximum difference of 72.3 in the
direction. These higher discrepancies are explainable by the fact that the frozen-turbulence assumption
is a simplification of the adjoint derivation and, consequently, the gradient obtained is incomplete.
The fully turbulent formulation of the adjoint method had results that overall were comparable to the
laminar case in terms of accuracy both in the absolute value and direction. However, for both the frozen-
turbulence and turbulent results, high discrepancies were observed in the direction values for the cases
where the second turbine was in the outermost lateral positions (2.0 and 2.5D cross-stream positions).
This is related to the fact that the two components of the gradient approached a value of zero and the
small discrepancies observed in streamwise components generated a large direction variation. In these
positions, the magnitude of the gradient is however significantly lower and almost negligible with respect
to the wake region and therefore this behavior is not expected to affect the optimization process.
In terms of computational cost, the central difference approach required 4 simulations to compute
the gradient. However, CD requires in general 2N system solutions, where N is the number of design
variables (in the WFLO, there are two design variables per wind turbine). Instead, the adjoint method
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 79
required the solution of the adjoint system and 4 numerical integrations (with negligible computational
cost) to compute the gradient, regardless of the number of design variables. For the present verification
case where the gradient of only one turbine was calculated, the computational cost of the adjoint method
was 75% lower than the central difference approach. Higher reductions are however expected when more
wind turbines are considered, such as the application case in the following section.
Overall, the results presented for this verification case showed that the adjoint method can effectively
replace a traditional central difference approach for gradient computation and significantly reduce the
amount of time required for the process. The adjoint method will be therefore integrated, in place
of a central difference discretization, in the gradient-based optimization methodology illustrated in the
following section.
4.4 Optimization methodology for the WFLO problem
The gradient calculation performed with the adjoint method is an essential component of the optimization
methodology, which aims to find the optimal placement of a given number of wind turbines within a
wind farm domain to maximize the AEP. The optimization methodology, illustrated in Fig. 4.6, starts
with the wind rose, i.e., the site-specific statistical distribution of the wind resource, and an initial wind
farm layout. Initially, CFD simulations are used to calculate the AEP of that particular configuration.
If convergence/termination criteria in the iterative loop are not met, adjoint CFD simulations are then
used to calculate the gradient of the objective function, i.e., the gradient of the AEP with respect
to the turbine positions. Using the calculated gradients, turbine positions are updated to create a
new turbine layout, which is then evaluated with a CFD simulation. These steps are repeated until
convergence/termination criteria are met.
This methodology was entirely developed and implemented to run autonomously. Two separate
routines were coded to take care of the calculation of the AEP and of the gradient. In these routines,
the original and adjoint CFD simulations are automatically set up and run using OpenFOAM, and the
results of interest are generated and passed to the rest of the loop. The overall optimization process,
which consists of running the two aforementioned routines, updating the turbine position, and monitoring
the convergence, is handled by a sequential quadratic programming (SQP) algorithm as implemented in
the open-source library NLopt [91, 98]. A stopping criterion is applied so that the optimization run is
stopped when changes in the objective function from one iteration to the next are less than 0.01%.
The developed optimization methodology was applied to optimize a 2D wind farm layout consisting
of 16 wind turbines using the fully turbulent formulation. The domain used for the CFD and adjoint
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 80
Figure 4.6: Flow chart reproducing the optimization methodology used to solve the wind farm layoutoptimization problem
Figure 4.7: Schamatic of the 2D domain used to test the optimzation methodology.
simulations had a dimension of 40Dx40D, whereas the wind turbines were constrained to be within a
17D-radius circumference, as shown in Fig 4.7. This circular sub-domain was introduced as a compu-
tational convenience, to allow us to efficiently rotate the wind farm layout depending on the specified
wind direction, rather than rotating the boundary conditions. A minimum distance of 1D between
wind turbines was set as additional constraint to avoid any overlap of wind turbines generated by the
optimization algorithm.
The convergence behavior of gradient-based optimization methods is highly dependent on the starting
design configuration [70, 71]. Due to the local character of gradient information, gradient-based opti-
mization methods are only guaranteed to perform local optimization, i.e., they converge to the nearest
locally optimal solution, but they cannot guarantee that the globally optimal solution is found. To over-
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 81
(a) Regular initial layout (b) Random initial layout
Figure 4.8: Initial layouts used as inputs for the optimization process.
Table 4.4: Normalized AEP and improvement with respect to the initial configuration obtained at theend of the optimization for each of the initial wind farm layouts and for each of the wind roses (WR)used.
come this limitation, the initial solution should be located in the basin of attraction of a global optimum
to get a global optimum solution. Because of that, and to analyze the dependence of the gradient-based
methodology to the initial configuration, two initial layouts were tested, namely a regular layout (com-
monly used in wind farms) and a random layout (see Fig. 4.8). With these initial layouts, seven different
wind roses were chosen to conduct a comprehensive analysis of the proposed methodology. Six of these
wind roses were composed of evenly weighted wind directions, whereas the last one was representative
of a more realistic scenario with a predominant wind direction (see Fig. 4.9 and 4.10). For all wind
resource distributions, the wind speed was considered constant at 10 m/s.
The results obtained from the optimization are reported in Fig. 4.9 and 4.10 for a regular and a
random initial layout, respectively. For each wind rose reported on the left, the final optimal layout is
shown in the center along with the value of the normalized AEP through the iterations on the right. The
normalized AEP is defined as the ratio between the actual AEP and the AEP that would be generated
by the same turbines operating in isolation. Convergence was reached in approximately 30-60 iterations
of the optimization loop for all the cased analyzed. The results of the optimization process in terms of
normalized AEP are reported in Tab. 4.4.
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 82
Figure 4.9: Optimization results obtained from a regular initial layout. For each wind rose on the left,the final optimal layout is shown in the center along with the value of the normalized annual energyproduction (AEP) through the iterations on the right.
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 83
Figure 4.10: Optimization results obtained from a random initial layout. For each wind rose on the left,the final optimal layout is shown in the center along with the value of the normalized annual energyproduction (AEP) through the iterations on the right.
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 84
For the cases with a regular initial layout, it is possible to notice that for evenly weighted wind
roses the generated optimal layouts retained a certain degree of regularity. For example, the layouts
for 4 and 12 directions were symmetric about a 90 rotation; the layouts for 2 and 6 directions were
instead symmetric about a horizontal or vertical line passing by the center of the domain. These
characteristics of symmetry of the layouts for evenly weighted wind directions and for uniform wind
speed are usually considered an indication of an effective optimization algorithm. Obviously, these
characteristics of regularity could not be seen in the optimal layouts for other case of a random initial
layout.
Looking at the results in terms of normalized AEP for the optimal layouts, it is interesting to notice
that the actual AEP was greater, up to a maximum of 8%, than the one that would be generated by the
same turbines operating in isolation. The reason for this interesting result can be explained by looking at
two different aspects. First, the CFD simulations allow to accurately resolve the flow field and to capture
the real behavior of wakes. In fact, besides creating a wind speed reduction in the wake of wind turbines,
wakes also generate a local speed-up effect just outside of the wake region to compensate the wind speed
deficit within the wake. The optimization algorithm took advantage of this flow characteristic and,
depending on the wind rose, tried to move the wind turbines toward these favorable positions where the
speedups were higher. This speedup effect is more pronounced in 2D simulations like the ones conducted
in the present study, whereas its effect should be lower in 3D simulations [95]. Second, the wind farm
had a low turbine density because it consisted only of 16 wind turbines that could be spread over a wide
area. This fact allowed the optimization algorithms to find favorable locations with speed-up effects for
almost all the turbines. If the wind farm have had a higher wind turbine density, it is unlikely that the
normalized AEP would have had a value greater than 1 because of the higher wake losses. It is also
possible to notice that as the wind roses became less sparse, the maximum normalized AEP dropped
from 1.07-1.08 for both the unidirectional wind roses to 1.00-1.01 for the 12-direction wind roses. This
indicates that as the wind rose has more wind directions, it is more difficult to find favorable positions
with speed-up effects for all the wind turbines and some of them end up in locations of partial wake
shading.
With regards to the convergence behavior of the optimization algorithm, the results show that,
as expected, the optimal layouts found with the proposed methodology were highly dependent on the
initial layout. The optimal layouts obtained starting from a regular layout were very different from those
obtained when the optimization started from an random layout. In terms of AEP, it was observed that
the optimal layouts obtained when a random layout was used as a starting point resulted in higher energy
than those obtained starting from a regular layout, on average by 4.5%. In both cases, the algorithm can
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 85
be said to have converged to a local maxima, though the maximum of the objective function was higher
in the random layout case. Another interesting observation that can be made from the results is that, for
a regular initial layout and when the wind rose had directions aligned with the wind turbine arrangement
(2- and 4-direction wind roses), the optimization algorithm seemed to be trapped in a local optimum in
the early stages of the optimization loop. This issue was not observed when the optimizations started
from an random initial layout. This is evidence of the non-linear nature of the optimization problem,
with strong interactions between the wind resource profile and the wind turbine layout.
Overall, the developed optimization methodology based on the adjoint method for the gradient
computation could effectively improve the AEP of a given wind farm layout by changing its turbine
positions. The improvements ranged from about 7% for the case of a 12-direction non-uniform wind rose
and regular initial layout, to 37% for the case of a unidirectional wind rose and regular initial layout. On
average, the improvements were of 18% and 12% for the regular and random initial layouts, respectively.
4.5 Conclusions
In the present chapter, we developed an optimization methodology for the WFLO problem that integrates
the high accuracy and flexibility offered by the CFD models and that overcomes the computationally
high costs of a CFD-based optimization. To this end, we developed and used an adjoint method in its
continuous formulation for the gradient computation. The adjoint formulation was derived for three
different flow scenarios, namely, laminar, frozen-turbulence, and turbulent flows. The derived adjoint
equations were implemented in OpenFOAM by taking advantage of the top-level syntax of the code and
of the similarity between the Navier-Stokes and adjoint equations. The gradient calculation using the
developed adjoint method was implemented in a gradient-based optimization methodology to solve the
2D WFLO problem.
The developed adjoint formulation was first verified on a simplified 2-turbine wind farm where only
the gradient of the wind turbine operating in wake conditions was considered. The results obtained
with adjoint method in terms of gradient computations where generally accurate when compared to the
results obtained with a central difference discretization. The calculated gradients showed higher accuracy
for laminar and turbulent flow regimes, while lower accuracy was observed for the frozen-turbulence
case. Overall, the results showed that the adjoint method could effectively replace a traditional central
difference approach for gradient computation and significantly reduce the amount of time required for
the process.
The gradient calculation performed with the adjoint method was implemented in an optimization
Chapter 4. Continuous Adjoint Formulation for WFLO: A 2D Implementation 86
methodology to solve a 2D WFLO problem. A hypothetical 16-turbine wind farm was defined with
two different initial layouts, with turbine positions either set on a regular grid or random. Seven wind
roses were also defined as inputs for the optimization for a comprehensive analysis. Six of them were
formed by evenly weighted wind directions and one with a realistic wind rose with a predominant wind
direction. The optimization methodology could effectively improve the AEP of the given wind farm
layouts by changing its turbine positions on average by 18% and 12% for the regular and random initial
layouts, respectively.
The proposed approach exhibited the typical local convergence behavior of gradient-based optimiza-
tion approaches. In this work, we used two different initial layouts (symmetric/regular, and random)
for the optimization, since we were interested in observing the behavior of the algorithm in these cases.
However, in practical applications where more assurance is needed of having obtained a globally optimal
solution, different optimization approaches could be used. At the very least, multiple optimization runs
with different initial layouts must be performed, and the best solution among them should be chosen.
Overall, the developed continuous adjoint formulation and its results showed that significant im-
provements can be achieved in terms of computational time with respect to traditional approaches for
gradient computation, such as the central difference approach, without diminishing the accuracy. The
developed gradient-based optimization methodology using the adjoint method showed instead that it is
possible to effectively improve the wind farm AEP. The optimization methodology showed also to benefit
from the use of CFD models which offer a more detailed representation of the flow field in wind farms
by, for example, capturing speed-up effects just outside of wake regions that cannot be observed with
analytical wake models. This 2D continuous adjoint formulation for the WFLO is a first step toward a
more general 3D formulation that could enable an optimization of wind farm layouts in complex terrain.
Chapter 5
Toward WFLO in Complex Terrain
In the present chapter, we show the application of a gradient-based WFLO methodology to 3D wind
farms in both flat and complex terrain. The calculations of the gradients are performed by a contin-
uous adjoint method for turbulent flows. To verify the adjoint formulation, gradients calculated with
this method are compared with gradients computed with traditional central-difference schemes in a 3D
domain. The gradient calculation using the verified adjoint method is then incorporated into a gradient-
based optimization methodology and applied to a set of 3D case studies with flat and complex terrains.
Additionally, we compare the results of the 2D and 3D methodologies when these are applied to the
same initial configurations to highlight the advantages that the latter has over the former.
The outline of the chapter is the following. Section 5.1 describes the modeling assumptions for the
wind turbines and the surface boundary layer that are integrated in the CFD and adjoint simulations.
In Sec. 5.2, we verify the continuous adjoint formulation by comparing the results obtained under the
frozen-turbulence and fully turbulent flow conditions with a central difference discretization method.
In Sec. 5.3, we present the wind farm layout optimization methodology that incorporates the terrain
topography and its application to a wind farm both in flat and complex terrains. We also compare this
methodology with the previously developed 2D implementation. Conclusions are summarized in Sec.
5.4.
5.1 Wind turbine and surface boundary layer modeling
This section provides a description of the approach used to model in our computational domain the wind
turbines and the surface boundary layer where the turbines operate.
87
Chapter 5. Toward WFLO in Complex Terrain 88
5.1.1 Wind turbine modeling
The wind turbines were modeled as actuator disks which are characterized by a cylindrical volume,
defined by the rotor swept area, where a distributed force, defined as axial momentum source, F , is
applied. From the definition of thrust coefficient, it can be derived that the axial force is a function of
the reference wind speed:
F =1
2ρπD2
4CTU
2ref , (5.1)
where ρ is the air density, D is the rotor diameter, Uref is the upstream wind speed, and CT is the
thrust coefficient, obtained from the thrust coefficient curve of the wind turbine at the specified Uref .
The power generated can be computed as the product of the axial force and the average velocity over
the actuator disk volume V :
P = FUx = F1
V
∫V
UxdV. (5.2)
In the present study, a reference turbine with 80 m rotor diameter and 70 m hub height is chosen and
modeled in the wind farm simulations. It is also assumed to operate at 10 m/s and to have a thrust
coefficient of 0.75.
5.1.2 Surface boundary layer modeling
The atmospheric boundary layers (ABL) is used to model the wind conditions and characteristics usually
encountered in real wind turbine and wind farm flows. For an homogeneous and stationary flow, the
wind shear profile can be described, according to Panofsky and Dutton [115], as:
∂Ux∂z
=u∗κl, (5.3)
where Ux is the mean streamwise wind speed, z is the height above ground, u∗ is the local friction
velocity, l is the local length scale, and κ is the von Karman constant (≈ 0.4). In the present study, only
the lower part of the atmospheric boundary layer (ABL) under neutral conditions is considered. The
lowest part of the ABL, which is usually called the surface boundary layer (SBL), can be approximated
by a constant friction velocity equal to u∗0. Also, in the SBL, the length scale is assumed equal to the
height (lSL = z). Under these assumptions, a logarithmic velocity profile can be derived from Eq. 5.3
by integration:
Ux =u∗0κln
(z
z0
), (5.4)
Chapter 5. Toward WFLO in Complex Terrain 89
Figure 5.1: Schematic of the layout for the verification case. The two grey areas represent the volumeswhere the wind turbine momentum sources are applied. The black dots indicate the different positionswhere the second wind turbine is placed when the gradient is calculated.
where z0 is the surface roughness length. This equation will be used to model the atmospheric conditions
in the wind farm simulations, assuming that the turbines are places over grass terrain with a surface
roughness of 0.0018 m.
5.2 Verification of the 3D continuous adjoint formulation for
WFLO
In this section, the verification of the continuous adjoint method is conducted for 3D simulations. Its
results in terms of gradient computation were compared with a finite difference discretization. This
form of verification has been extensively used in literature to assess the accuracy of the derivatives (e.g.,
[4, 8, 30, 47, 116]). The continuous adjoint method was therefore applied to the verification case shown
in Fig. 5.1, which consists in finding the gradient of the power production of a turbine placed in the
wake of another with respect to its turbine coordinates. For this case, a 3D domain was used and
the results were obtained for the frozen-turbulence and turbulent formulations of the adjoint equations.
The gradient components were calculated for the two directions of the domain and for a regular grid
of downstream and cross-stream positions. The downstream positions were set to 4D and 6D, with a
cross-stream spacing of 0.5D, where D is the turbine rotor diameter.
The results of the adjoint formulation were compared to those of a central difference (CD) approach,
which can be considered as the best achievable solution for numerical gradient computations. Figures
5.2 and 5.3 show the values of the gradient obtained by the two different adjoint formulations and the
Chapter 5. Toward WFLO in Complex Terrain 90
(a) 4D downstream (b) 6D downstream
Figure 5.2: Gradient computation for the frozen-turbulence case. The figures show the results obtainedby the adjoint method compared to a central difference discretization approach for the different lateralpositions of the second wind turbine at 4D and 6D downstream.
CD approach. Tables 5.1 and 5.2 report evaluation metrics when comparing the adjoint formulations
and the CD approach. These are: the relative magnitude of the gradient computed with the adjoint
method:
‖∇Jrel‖ =‖∇JAM‖‖∇JAM,max‖
· 100; (5.5)
the percentage difference in the absolute value of the gradients computed by the adjoint method with
respect to the central difference approach:
err∇J =‖∇JAM‖ − ‖∇JCD‖‖∇JCD,max‖
· 100; (5.6)
the angular difference in the direction between the gradient calculated with the adjoint method and the
central difference approach, according to:
errθ = ‖θAM − θCD‖ . (5.7)
When the frozen-turbulence assumption was used for the adjoint equations, high discrepancies were
seen between the results of the two methods, with a maximum difference of 24.1% in absolute value and
a maximum difference of 121.5 in the direction. On the other hand, the fully turbulent formulation of
the adjoint method had results that overall were accurate for most part of wake region with a maximum
discrepancy of 5.7% in the absolute value. High discrepancies in the gradient direction can instead
be observed for the cases where the second turbine was in the outermost lateral positions. This is
Chapter 5. Toward WFLO in Complex Terrain 91
(a) 4D downstream (b) 6D downstream
Figure 5.3: Gradient computation for the turbulent case. The figures show the results obtained by theadjoint method compared to a central difference discretization approach for the different lateral positionsof the second wind turbine at 4D and 6D downstream.
Table 5.1: Relative magnitude of the gradient computed with the adjoint method, ‖∇Jrel‖, and errors inmagnitude, err∇J , and direction, errθ, between the gradient calculated with the adjoint method and thecentral difference approach on a grid of locations downstream of the turbine for the frozen-turbulencecase.
Table 5.2: Relative magnitude of the gradient computed with the adjoint method, ‖∇Jrel‖, and errorsin magnitude, err∇J , and direction, errθ, between the gradient calculated with the adjoint method andthe central difference approach on a grid of locations downstream of the turbine for the turbulent case.
Chapter 5. Toward WFLO in Complex Terrain 92
explainable by the fact that the two components of the gradient approached a value of zero and even
a small discrepancy in one of the two can generate a large direction variation. In these positions,
the magnitude of the gradient is however significantly lower and almost negligible with respect to the
wake region and therefore this behavior is not expected to affect the optimization process. Overall, the
continuous adjoint method for 3D simulations had results that were very similar to those obtained for
2D simulations. In fact, the verification showed again the accuracy of the turbulent formulation and the
significant saving in computational cost. The successful verification of the 3D formulation of the adjoint
method enables its application to any kind of 3D system and therefore it will be implemented in the
optimization methodology for complex terrains in the following section.
5.3 Optimization methodology for the WFLO problem in com-
plex terrains
The gradient calculation performed with the adjoint method is used in a gradient-based optimization
methodology to find the optimal placement of a given number of wind turbines within a wind farm
domain to maximize the AEP. The optimization methodology, illustrated in Fig. 5.4, starts with the
wind rose, i.e., the site-specific statistical distribution of the wind resource, and an initial wind farm
layout. The wind farm is positioned on a terrain for which the geometry is known. Initially, CFD
simulations are used to calculate the AEP of that particular configuration. If convergence/termination
criteria in the iterative loop are not met, adjoint CFD simulations are then used to calculate the gradient
of the objective function, i.e., the gradient of the AEP with respect to the turbine positions. Using the
calculated gradients, turbine positions are updated to create a new turbine layout. These steps are
repeated until convergence/termination criteria are met.
The developed optimization methodology was applied to optimize a wind farm layout consisting
of 5 wind turbines using the fully turbulent formulation. The domain used for the CFD and adjoint
simulations had a dimension of 12Dx12Dx6D, whereas the wind turbines were constrained to be within
a 3D-radius circumference. A minimum distance of 1D between wind turbines was set as additional
constraint to avoid any overlap of wind turbines generated by the optimization algorithm. The terrains
used to test the optimization were of two kinds, flat and complex. For the complex terrain, we defined a
Gaussian-shaped hill in the middle of the domain, whose geometry is given by the following expression:
z (x, y) = H exp
−
[(x− x0)
2
2σ2+
(y − y0)2
2σ2
], (5.8)
Chapter 5. Toward WFLO in Complex Terrain 93
Figure 5.4: Flow chart reproducing the optimization methodology used to solve the wind farm layoutoptimization problem in complex terrians
(a) 2D case, flat terrain (b) 3D case, flat terrain (c) 3D case, complex terrain
Figure 5.5: Illustration of the domains used for the application of the 2D and 3D methodologies.
where H is the maximum height of the hill, σ is the standard deviation of the Gaussian function, and x0
and y0 are the coordinates of the maximum height of the hill. For the present case, the height and the
standard deviation were set to 0.5D and 1D, respectively. To highlight the advantages of the present
methodology for 3D systems, this was also compared to the previously developed 2D methodology for the
same initial configurations and boundary conditions. As such, we had in total three different domains,
as shown in Fig. 5.5. To analyze the dependence of the gradient-based methodology to the initial
configuration, two initial layouts were tested, namely a regular layout (commonly used in wind farms)
and a random layout (see Fig. 5.6). The wind rose used to characterize the wind distribution was instead
assumed to be composed of six evenly weighted wind directions with a constant wind speed of 10 m/s.
The results obtained from the optimization are reported in Fig. 5.7 and 5.8 for a regular and a
random initial layout, respectively. The normalized AEP is defined as the ratio between the actual AEP
and the AEP that would be generated by the same turbines operating in isolation on a flat terrain.
Convergence was reached within 10 iterations of the optimization loop for all the cased analyzed. The
Chapter 5. Toward WFLO in Complex Terrain 94
(a) Wind rose (b) Regular initial layout (c) Random initial layout
Figure 5.6: Wind rose and initial layouts used as inputs for the optimization process.
Table 5.3: Normalized AEP and improvement with respect to the initial configuration obtained at theend of the optimization for each of the initial wind farm layouts and for each of the cases tested.
results of the optimization process in terms of normalized AEP are reported in Tab. 5.3.
For the cases with a regular initial layout, it is possible to notice that the generated optimal layouts
retained a certain degree of regularity, which can be explained by the symmetry of both the wind rose
and the initial layout. The layouts were, in fact, symmetric about a horizontal or vertical line passing
by the center of the domain. These characteristics of symmetry of the layouts for evenly weighted wind
directions and for uniform wind speed are usually considered an indication of an effective optimization
algorithm.
(a) 2D case, flat terrain (b) 3D case, flat terrain (c) 3D case, complex terrain
Figure 5.7: Optimal layouts obtained at the end of the optimization process starting from a regularinitial layout.
Chapter 5. Toward WFLO in Complex Terrain 95
(a) 2D case, flat terrain (b) 3D case, flat terrain (c) 3D case, complex terrain
Figure 5.8: Optimal layouts obtained at the end of the optimization process starting from a randominitial layout.
Differences can be highlighted between 2D and 3D results for a flat terrain scenario. It is possible
to notice that even if the layouts look quite similar, the turbines in the 2D cases are further apart.
This can be explained by the different modeling implementation of the wind turbines. Whereas the 3D
case used actual cylinders to model the wind turbines, in the 2D case the actual turbine volumes were
modeled with a rectangular prism with unit height and rectangular base whose width is equal to the
rotor diameter. Because of this, the 2D modeling inherently generates wake effects that are higher and
therefore induces the optimization to move the turbines further apart.
Looking at the results in terms of normalized AEP for the optimal layouts, it is interesting to notice
that the actual AEP was greater in some cases than the one that would be generated by the same
turbines operating in isolation and on a flat terrain. For instance, this occurred in the 2D case with a
regular initial layout. The reason for this result can be explained by the fact that the CFD simulations
allow to accurately resolve the flow field and to capture the local speed-up effect just outside of the
wake regions. The optimization algorithm took advantage of this feature and moved the turbines toward
these favorable positions where the speedups were higher. Although the optimal layout of the 3D cases
in flat terrain were very similar to the 2D cases, the AEP results of the former ones did not clearly
show to benefit from this flow characteristic. As also suggested in previous studies [95], this indicates
that speedup effects generated by the turbine presence are more pronounced in 2D simulations. A value
of normalized AEP greater than one was observed also for the 3D cases in complex terrain. This can
be explained by the fact that the Gaussian-shaped hill, similarly to the turbines, induced a speed-up
effect above it that created an increase in the energy captured by the turbines. A consequence of this
effect can be seen in the optimal layout for the 3D case in complex terrain with a random initial layout
(see Fig. 5.8c). In fact, differently from the other two cases with the same initial layout, it is possible
to notice that one of the turbines remains in the middle of the domain on top of the hill where the
Chapter 5. Toward WFLO in Complex Terrain 96
speedup and therefore the energy increase are expected to be maximum. These results ultimately show
the advantages that CFD models have over the simplified wake models currently used for the wind farm
layout optimization, which cannot capture the complex flow dynamics occurring in wind farms.
Overall, the optimization methodology applied to 3D systems and based on the adjoint method for
the gradient computation could effectively improve the AEP of a given wind farm layout by changing
its turbine positions. The improvements ranged from about 3% for the 3D case in flat terrain with a
random initial layout, to 6% for the 3D case in flat terrain with a regular initial layout.
5.4 Conclusions
In the present work, we applied a gradient-based WFLO methodology to 3D wind farms in both flat
and complex terrain. This methodology integrates the high accuracy and flexibility offered by the CFD
models and uses the adjoint method to calculate the required gradients. The adjoint method was first
verified on a simplified 3D 2-turbine wind farm where only the gradient of the wind turbine operating
in wake conditions was considered. The results obtained with adjoint method using the fully turbulent
formulation were generally accurate in terms of gradient computations when compared to the results
obtained with a central difference discretization. The gradient calculation performed with the adjoint
method was therefore used in the optimization methodology to solve the 3D WFLO problem.
A hypothetical 5-turbine wind farm was defined with two different initial layouts, with turbine
positions either set on a regular grid or random. A wind rose with six evenly weighted wind directions
and constant wind speed was defined as input for the optimization. Two different kinds of terrain were
considered, flat and complex. For the flat terrain scenario, the present methodology for 3D systems
was also compared to the previously developed 2D methodology for the same initial configurations and
boundary conditions. For the complex terrain, we defined instead a Gaussian-shaped hill in the middle
of the domain, which could only be handled by the present 3D methodology.
The optimization methodology for 3D wind farms could effectively improve the AEP of the given
wind farm layouts from 3% to 6% depending of the initial layout and terrain topography. It was, in
fact, the first CFD-based methodology being applied to the wind farm layout optimization in complex
terrain. The methodology showed also the benefits of using CFD models which offer a more detailed
representation of the flow field in wind farms by, for example, capturing speed-up effects just outside of
wake regions and around terrain features.
Chapter 6
Conclusions and Future Directions
In this chapter, we present a summary of the conclusions of the works that contributed to the final CFD-
based methodology for wind farm layout optimization and we also present directions and suggestions for
future research.
6.1 Outcomes and their impact
The main contribution of this thesis is a new methodology for the wind farm layout optimization that
integrates CFD models and takes advantage of an innovative formulation of the adjoint method for
gradient calculations. Within this overarching contribution, important results can be highlighted for
each of the works conducted in this thesis:
• We compared in a consistent way the principal turbulence models for RANS equations present in
literature, namely the k− ε, k− ω, and Reynolds stress model, and we introduced the SST k− ω
model as a innovative turbulence model for wind turbine simulations. We showed that the SST k−
ω model performed as good as the the RSM when calculating turbine-wake characteristics, such as
wind speed, turbulence kinetic energy and turbulence intensity, whereas the simulations using the
k − ε and k − ω models provided poor predictions of wake flows. As a result of this comparison,
we showed that the SST k − ω can be used as an effective turbulence model for wind turbine
simulations.
• We investigated the limitations and inconsistency of the RANS models in the predictions of wake
effects in wind farms. We hypothesized that the discrepancies found in some cases between experi-
mental and simulation results arise from wind direction uncertainty caused by large-scale unsteady
97
Chapter 6. Conclusions and Future Directions 98
phenomena, which though present in the experimental measurements were not accounted for in the
simulations. We therefore proposed an approach to account for the wind direction uncertainty by
modeling it using simulation ensembles. Our results showed that the proposed method significantly
improves the agreement of the CFD predictions with the available experimental observations when
wind speed and power production in wake regions are considered. These results suggested that
the discrepancies between CFD predictions and experimental data reported in previous works,
attributed to inaccuracy of the CFD models, can be explained instead by the uncertainty in the
wind direction reported in the data sets.
• We presented an innovative continuous adjoint formulation for gradient calculations within the
framework of a gradient-based wind farm layout optimization. The optimization methodology
integrates CFD models and, thanks to the adjoint method, overcomes the computationally high
costs of a CFD-based optimization. We derived adjoint formulations for different conditions in the
flow equations, namely, laminar, frozen-turbulence and turbulent flows. The proposed formulation
was implemented in a 2D domain and successfully verified by comparing the calculated gradients
with finite-difference approximations. Gradient calculations using the developed adjoint method
were implemented in a gradient-based optimization methodology to solve a 2D wind farm layout
optimization problem under a wide array of wind resource scenarios. Our results showed that the
annual energy production of a given wind farm layout can be effectively improved within 30 to 60
iterations, depending on the initial layout and wind resource distribution. Improvements in AEP
were found to be in the range of 7-37%, with an average of 15%.
• We improved the developed optimization methodology so to handle 3D systems and therefore
to account for the terrain topography. The adjoint method for 3D simulations was verified by
comparing the calculated gradients with a finite-difference discretization method. We applied the
gradient-based optimization methodology using the verified adjoint method to a wind farm both
in flat and complex terrain. We showed that the methodology could effectively improve the AEP
of the given wind farm layouts by changing the turbine positions on average by 3% and 6% for the
regular and random initial layouts, respectively. It was, in fact, the first CFD-based methodology
being applied to the wind farm layout optimization in complex terrain. The methodology showed
the benefits of using CFD models which offer a more detailed representation of the flow field in
wind farms by, for example, capturing speed-up effects just outside of wake regions and around
terrain features that cannot be observed with analytical wake models.
Overall, we showed that CFD RANS models can effectively be used in wind farm simulations when proper
Chapter 6. Conclusions and Future Directions 99
turbulence modeling is chosen and when uncertainties in wind direction are properly considered. We
enabled the use of these CFD models in the wind farm layout optimization by developing an innovative
adjoint formulation for gradient computations. Our contributions advanced our knowledge of wind farm
modeling and simulation and created a new and reliable CFD-based design framework for the wind
turbine industry.
6.2 Future directions
In this section, we suggest some future research directions that arise thanks to the successful development
of the proposed CFD-based methodology or from aspects that have not been considered in this study.
Application of the proposed methodology to real wind farms
The developed CFD-based methodology for WFLO has not been applied to real wind farms. We consider
this as the first step that should be conducted after this work. Simulation and optimization of real
wind farms demand however publicly available experimental measurements for the model validation and
extensive computational resources for the optimization process. Whereas measurements from real wind
farms are becoming more accessible thanks to a growing wind energy community [10, 28, 139], access to
sufficient computational resources is currently seen as the bottleneck for such applications.
Uncertainty quantification of RANS models for wind farm simulations
CFD, especially RANS, models represent a significant part of the simulation tools used for wind farm
modeling and performance estimation and are expected to be next widely-used simulation tool for wind
farm design and optimization. In the present study, we investigated the effect of the wind direction
uncertainty and we proposed a method to effectively account for it. However, significant uncertainties
are believed to be generated by the modeling assumptions for the Reynolds stresses in the momentum
equations [66, 67, 160]. The quantification of such uncertainty is of fundamental importance to enhance
the predictive capabilities of RANS simulations in the context of wind farm simulations.
CFD-based wind farm layout optimization under uncertainty
In the present study when developing the optimization methodology, we implicitly assumed that the
inputs and boundary conditions for the optimization did not have any uncertainty associated. This is
of course not the case: the wind resource can have variations from year to year, the terrain roughness
is usually not constant over the entire wind farm land, and the terrain topography is generally not
Chapter 6. Conclusions and Future Directions 100
accurate. Uncertainties for these and other variables need necessary to be accounted for in a robust
optimization methodology. Some studies have been conducted to account for the uncertainty of some of
these factors in wind farm simulation and optimization [54, 110, 129], but a comprehensive methodology
is still missing, especially when CFD models are used.
Optimal control of wind farm energy production
After a wind farm has been designed and installed in place, optimal control of energy production becomes
the next target for the wind farm operators. Wind farm control has been extensively studied in literature.
Simultaneously controlling the performance of each wind turbine has been shown to be an effective
strategy for optimal energy extraction [53]. Techniques for performance control can be identified as
pitch and yaw control [65]. Adjoint methods are suitable for this kind of applications [64] and we believe
that the developed adjoint formulation could be used as the basis for an innovative methodology for
optimal control of wind farm energy production.
Bibliography
[1] M. Abkar and F. Porte-Agel. Influence of atmospheric stability on wind-turbine wakes: A large-
eddy simulation study. Physics of Fluids, 27(3), 2015.
[2] J. F. Ainslie. Calculating the flowfield in the wake of wind turbines. Journal of Wind Engineering
and Industrial Aerodynamics, 27:213–224, 1988.
[3] I. Ammara, C. Leclerc, and C. Masson. A Viscous Three-Dimensional Differential/Actuator-Disk
Method for the Aerodynamic Analysis of Wind Farms. Journal of Solar Energy Engineering,
124(4):345, 2002.
[4] W. K. Anderson and V. Venkatakrishnan. Aerodynamic design optimization on unstructured grids
with a continuous adjoint formulation. Computers & Fluids, 28(4-5):443–480, 1999.
[5] E. G. A. Antonini, G. Bedon, S. De Betta, L. Michelini, M. Raciti Castelli, and E. Benini. In-
novative Discrete-Vortex Model for Dynamic Stall Simulations. AIAA Journal, 53(2):479–485,
2015.
[6] E. G. A. Antonini, D. A. Romero, and C. H. Amon. Analysis and Modifications of Turbulence
Models for Wind Turbine Wake Simulations in Atmospheric Boundary Layers. In Proceedings of the
ASME 2016 International Mechanical Engineering Congress & Exposition, volume 6B, Phoenix,
Arizona, USA, nov 2016.
[7] E. G. A. Antonini, D. A. Romero, and C. H. Amon. Analysis and Modifications of Turbulence
Models for Wind Turbine Wake Simulations in Atmospheric Boundary Layers. Journal of Solar
Energy Engineering, 140(3):031007, 2018.
[8] E. G. A. Antonini, D. A. Romero, and C. H. Amon. Continuous adjoint formulation for wind farm
layout optimization: A 2D implementation. Applied Energy, 228:2333–2345, 2018.
101
Bibliography 102
[9] D. Astolfi, F. Castellani, and L. Terzi. A Study of Wind Turbine Wakes in Complex Ter-
rain Through RANS Simulation and SCADA Data. Journal of Solar Energy Engineering,
140(3):031001, 2018.
[10] M. Ayala, J. Maldonado, E. Paccha, and C. Riba. Wind Power Resource Assessment in Complex
Terrain: Villonaco Case-study Using Computational Fluid Dynamics Analysis. Energy Procedia,
107(September 2016):41–48, 2017.
[11] R. J. Barthelmie, S. T. Frandsen, M. N. Nielsen, S. C. Pryor, P.-E. Rethore, and H. E. Jørgensen.
Modelling and Measurements of Power Losses and Turbulence Intensity in Wind Turbine Wakes
at Middelgrunden Offshore Wind Farm. Wind Energy, pages 517–528, 2007.
[12] R. J. Barthelmie, K. S. Hansen, S. T. Frandsen, O. Rathmann, J. G. Schepers, W. Schlez,
J. Phillips, K. G. Rados, A. Zervos, E. S. Politis, and P. K. Chaviaropoulos. Modelling and Measur-
ing Flow and Wind Turbine Wakes in Large Wind Farms Offshore. Wind Energy, 12(5):431–444,
2009.
[13] R. J. Barthelmie and L. E. Jensen. Evaluation of wind farm effi ciency and wind turbine wakes at
the Nysted offshore wind farm. Wind Energy, 13:573–586, 2010.
[14] R. J. Barthelmie and S. C. Pryor. Potential contribution of wind energy to climate change miti-