EM_2013_021_-_Broek-vd_-_MSc_

EM_2013_021_-_Broek-vd_-_MSc_
Towards High-Fidelity Aeroelastic
Analysis of Wind Turbines
Coupling and verification
EM 2013.021
Dr. T. Ashuri
Ir. E.A. Ferede
Professor:
Prof.dr.ir. F. van Keulen
Specialization: Engineering Mechanics
Type of report: MSc thesis
Date:
2013-08-04
Master of Science Thesis
S.F. van den Broek
Report No:
Coaches:
Precision and Microsystems Engineering
Towards
HIGH FIDELIT Y AEROELASTIC
analysis of
WIND TURBINES
m
Coupling and Verification
Sander van den Broek
August 2013
Submitted in partial fulfillment of the requirements
for the degree of Master of Science in Mechanical Engineering
to the
Department of Precision and Microsystems Engineering
Faculty of Mechanical, Maritime and Materials Engineering
Delft University of Technology
This thesis was typeset using the LATEX typesetting
system originally developed by Leslie Lamport,
based on TEX created by Donald Knuth.
The formatting of this thesis is based on
the master thesis of Elvind Uggedal.
The cover is based on the cover of the DCSC
master thesis template. The photo on the cover
is taken by the author, it features one of one of
the testing turbines at NREL’s NWTC site at
Louisville, CO, USA.
The body text is set 12/14.5pt on a 26pc measure with
Minion Pro designed by Robert Slimbach.
This neohumanistic font was first issued by Adobe
Systems in 1989 and have since been revised.
Other fonts include Sans and Typewriter from
Donald Knuth’s Computer Modern family.
a
ABSTRACT
The design of wind turbines is a multidisciplinary process. Most of the
codes currently used in industry and academia use low fidelity models, which are not suitable for detailed design. This thesis describes the
development of an aerostructural model for wind turbines with a high
fidelity structural solver.
This is done by coupling an existing high fidelity structural solver
with an aerodynamic solver. Coupling is done by interfacing the components in Python. The aeroelastic solution is computed using the
non-linear block Gauss-Seidel method. The code makes it possible to
do steady-state analysis of a wind turbine blade. A high-fidelity model
is created based on a Sandia National Labs model detailing the design
of a 5 MW turbine.
Results from a comparative study between a low fidelity model and
the developed model of this work show that the structural torsion has a
significant effect on the performance of large wind turbines. Torsional
degrees of freedom are not included in most low fidelity models. This is
a clear indication that current aeroelastic codes have severe limitations
when used to design flexible blades. The developed model makes it
possible to model bend-twist coupling due to composite layups as well
as geometry. Future work will focus on time-domain simulation of the
aeroelastic response and high-fidelity optimization.
i
CONTENTS
Abstract
i
Contents iii
List of Figures
v
List of Tables vii
Nomenclature ix
Preface xiii
1
Introduction
1.1
1.2
1.3
1.4
1.5
1
Background 1
Motivation 2
Research questions 3
Research method 3
Thesis outline 4
Theoretical background
2
Wind turbine aerodynamics
3
Wind turbine structures 29
2.1
2.2
3.1
3.2
9
Wind turbine aerodynamic design 9
Blade Element Momentum theory 13
Structural design 29
Mechanical analysis of composites 33
Implementation of aeroelastic framework
4
Aeroelastic coupling and modeling 45
4.1
4.2
4.3
4.4
4.5
Overview of the aerostructural framework 45
pyAeroStruct 45
pyTACS, the TACS-pyAeroStruct interface 47
AeroDyn interface 48
pyAeroDyn, the AeroDyn-pyAeroStruct interface 52
iii
4.6
4.7
5
pyAeroDyn functions 55
Modeling an aeroelastic problem 65
Verification of developed code 69
5.1
5.2
5.3
Verification of composite plate 69
Turbine model used for verification 70
Results of turbine blade model 72
Conclusions
6
Conclusions and future work 81
6.1
6.2
Conclusions 81
Future work 82
Bibliography 85
Appendices
iv
LIST OF FIGURES
1.1
Cumulative global wind energy capacity.
1
2.1
2.2
2.3
2.4
2.5
2.6
Torque extraction of blade. 10
Apparent wind speed along the blade. 11
Planform shape of turbine blade. 12
Steam turbine model of wind turbine. 14
Pressure and velocity throughout the steam turbine. 15
Notation of rotating annular stream as well as trajectory of
air particle. 17
2.7 Change in angular momentum. 18
2.8 BEM elements. 20
2.9 Flow onto turbine blade. 21
2.10 Forces acting on the turbine blades. 21
2.11 NACA 0012 lift and drag coefficients. 22
2.12 Definition of the coordinates used in the skewed wake correction model. 25
3.1
3.2
3.3
3.4
Cross section of turbine blade. 30
Displacements and their relationship to the midplane. 38
Coordinates of the composite’s plies. 40
Kinematic assumptions in first order shear theory. 42
4.1
4.2
4.3
4.4
Relationship between codes 46
Location of blade node. 51
Plot of the intermediate mesh. 56
The intermediate mesh and the structural mesh plotted at
the same time. 56
4.5 Intermittent mesh representation of an aerodynamic element. 56
4.6 Graphical representation of the dimensions used for mesh
generation. 57
4.7 Nodes of example element 59
4.8 Process used to determine the traction forces applied to the
nodes. 62
4.9 Mean traction force distribution 62
4.10 Moment traction force distribution 63
4.11 Moment correction traction force distribution 64
4.12 Total traction force distribution 64
v
4.13 Process used to create the structural mesh. 65
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
vi
Deformed plate. 69
Relative error between TACS and ANSYS for test case. 70
Deformation results for a variety of mesh sizes. 72
Mass distribution along the span of the blade with interpolation. 73
Power curve with FAST control settings. 73
Pitch angle effect on power coefficient. 73
Pitch angle setting of "tuned" TACS vs FAST controlled
model. 74
Power output of "tuned" TACS compared to other models.
74
x-direction deflection [m]. 76
y-direction deflection [m]. 76
z-direction deflection [m]. 76
x-rotation [deg]. 77
y-rotation [deg]. 77
z-rotation [deg]. 77
LIST OF TABLES
5.1
5.2
5.3
5.4
5.5
Orthotropic material properties 69
Deformation results for the composite plate test case [mm]. 69
Mass calculation results, ANSYS and FAST models are NuMAD model results. 72
Mass distribution along elements 72
Deflection and twist of the blade at 11 m/s wind conditions
FAST vs "tuned" TACS. 76
vii
NOMENCLATURE
Mathematical notation
a
Scalar
a
Vector
A
Matrix
Latin symbols
A
Area
a
Axial flow induction factor
a′
Angular induction factor
B
Number of blades
C
Stiffness matrix
c
Chord length
CD
Drag coefficient
CL
Lift coefficient
Cp
Power coefficient
CT
Thrust coefficient
D
Orientation matrix
d
Distance from aerodynamic center to LE/TE
E
Young’s modulus
E
Tolerance
Fθ
Tangential force
FL
Lift force
G
Shear modulus
g
Gravitational acceleration
h
Height
h
Laminate thickness (Chapter 3)
I
Mass moment of inertia
L
Angular momentum
Lelm Length of element
M
Mass (Chapter 2)
M
Moment per unit length (Chapter 4)
m2
Pa
m
m
Pa
N
N
Pa
9.80665 m/s2
m
m
kg⋅m2
N⋅m⋅s
m
kg
N⋅m/m
ix
m
N
ni
nshaft
p
p
p
pcent
Q
Q
Qhub
Qtip
R
R
r
Rhub
S
S
t
T
taf
u
U
v
W
w
yac
yoff
Mass flow
kg/s
Force per unit length
N/m
Position vector of node i
m
Shaft direction vector
m
Pressure
Pa
Momentum (chapter 2)
kg⋅m/s
Element position vector (chapter 4)
m
Spanwise location of the center of the element
m
Reduced transformed stiffness matrix
Reduced stiffness matrix for unidirectional lamina
Hub correction factor
Tip correction factor
Rotation matrix
Rotor radius
m
Local radius
m
Hub radius
m
Planform area
m2
Compliance matrix
Pa−1
Torque exerted by blade
N⋅m
Torque
N⋅m
Airfoil thickness
N⋅m
Deflection in x-direction
m
Wind velocity
m/s
Deflection in y-direction
m
Effective wind velocity
m/s
Deflection in z-direction
m
y-direction relative position of the aerodynamic center
y-direction offset of blade
-
Greek symbols
α
Angle of attack
β
Angle of inflow
γ
Twist angle (Chapter 2)
γ
Shear strain (Chapter 3)
γ
In plane deflection angle (Chapter 4)
ε
Strain
θ
Fiber orientation (Chapter 3)
θ
Blade azimuth angle (Chapter 4)
κ
Angle of deflection (Chapter 3)
x
rad
rad
rad
rad
rad
rad
rad
κ
λr
ν
ξ
ρ
σ′
σ
τ
υ
Φ
ϕ
ϕ
χ
ψ
ψ
Ω
ω
Shaft tilt angle (Chapter 4)
Tip speed ratio
Poisson’s ratio
Pitch angle (Chapter 4)
Density
Local solidity (Chapter 2)
Stress (Chapter 3)
Shear stress
Out of plane deflection angle (Chapter 4)
Angle to mid-surface
Airfoil inflow angle (Chapter 2)
Element twist (Chapter 4)
Skew wake angle
Ellipsoidal coordinate (Chapter 2)
Precone angle (Chapter 4)
Blade rotational velocity
Wake rotational velocity
rad
rad
kg/m3
Pa
Pa
Pa
rad
rad
rad
rad
rad
rad
rad
rad/s
rad/s
Subscripts
0
Undeformed
∞
Upstream
1
In the 1-direction (Chapter 3)
2
In the 2-direction
3
In the 3-direction
BA
Blade attached coordinate system
d
At the disk
EL
Element coordinate system
GL
Global coordinate system
mc
Moment correction
mtr Mean traction force
R
Root-side of the element
T
Tip-side of the element
w
In the wake (down-steam)
x
In the x-direction (Chapter 3)
y
In the y-direction (Chapter 3)
z
In the z-direction (Chapter 3)
Superscripts
+
Front of the actuator disk
xi
−
Back of the actuator disk
Abbreviations
BEM Blade element momentum method
CAD Computer aided design
GFRP Carbon-fiber reinforced polymer
CK
Coupled Krylov method
CLT Classical lamination theory
CNK Coupled Newton-Krylov method
ECN Energieonderzoek Centrum Nederland
FEA Finite element analysis
FF
Full-field turbulent flow
FRP Fiber reinforced polymer
FSDT First order shear deformation theory
GFRP Glass-fiber reinforced polymer
HAWT Horizontal-axis wind turbine
HH Hub height
IEC International Electrotechnical Commission
LBGS Linear block Gauss-Seidel
NASA National Aeronautics and Space Administration
NLBGS Nonlinear block Gauss-Seidel
NREL National Renewable Energy Lab
NuMAD Numerical Manufacturing And Design Tool
NWTC National Wind Technology Center
SWIG Simplified Wrapper and Interface Generator
TACS Toolkit for the Analysis of Composite Structures
xii
PREFACE
This thesis was written between fall 2012 and summer 2013. The majority
of the work was done at the University of Michigan. I was also fortunate
enough to be spend two weeks of my research at National Wind Technology Center (NWTC) of the National Renewable Energy Lab (NREL)
in Colorado.
I would like to thank Prof. Joaquim Martins for hosting me during
my stay at the University of Michigan. The funding for my research was
made possible by the Justus & Louise van Effen research grant. I am very
thankful to Prof. Fred van Keulen for supporting my application to this
grant.
In addition to this I would like to thank my supervisors, Turaj Ashuri
and Etana Ferede. They were very supportive of my research and were
always available for questions. My office mates, Gaetan Kenway and
Marco Ceze, who were always up for discussing things on my mind. A
thank you to Prof. van Bussel who made my stay at NREL possible. And
of course Jason Jonkman, who hosted me during my stay at NREL. He
was very helpful in making me feel welcome, discussing options and
inviting me to developmental meetings.
And let me not forget my friends and family, both in the US and
in the Netherlands. In particular my parents, who supported me going
abroad for over 7 months. Douglas Leavy and family, who hosted me in
Colorado, and proofread my thesis. The lunch group in Michigan always
provided a welcome diversion during the day and featured stimulating
conversation.
Sander van den Broek
Ann Arbor, MI. USA
August 2013
xiii
INTRODUCTION
1.1
background
The trend the last few years has been to reduce dependency on fossil fuels.
This is done by creating an energy mix which consists of multiple fuel
sources. Wind energy is promoted by many countries through subsidies
(Saidur et al., 2010). The usage of wind energy has rapidly increased over
the last few years. This is illustrated in Figure 1.1. Renewable sources
are expected to produce more energy than natural gas sources by 2016
(Goossens, 2013).
Rapid increase in population, expected by 2040, as well as emerging economies in Asia and Africa, will lead to a significant increase in
global energy usage. Other green alternatives, such as nuclear fusion
and wave energy are at the proof of concept stage (Tokimatsu et al., 2003;
Ashuri et al., 2012). The finite supply of fossil fuels combined with the
environmental impact of their usage warrant an increase in the usage
of renewable energy (ExxonMobil, 2013). This is reflected in the global
annual spending on renewable energy (REN21, 2013, p. 15).
Wind energy production will increase greatly over the next few
decades. There are plans in the US to increase wind energy’s contribution
Figure 1.1: Cumulative wind energy usage. Figure from WikiMedia Commons,
source of data is from Global Wind Energy Council (2012).
1
1
to the national energy production to 20% by 2030 (DoE, 2008). The
contribution in 2008 was a mere 2%. The rapid increase in installed
capacity means that even small increases in efficiency will have a very
large effect. This has further peaked the interest in industry and academia
to design wind turbines with more advanced tools.
1.2
motivation
Modern wind energy is a relatively young sector compared to aerospace
and it did not become a serious research field until the oil crisis in
the 1970’s (Burton et al., 2011). When it comes to design, aeroelastic
analysis and optimization in the field of aerospace engineering is far
more advanced. There are several reasons for this:
• Aviation has been an active industry for over 100 years. Research
in wind energy began roughly 40 years ago.
• Both World Wars as well as the Cold War allocated a significant
amount of defense money into the research and development of
military aircraft.
• Development of wind turbines is spearheaded by the cost of energy.
Wind turbine manufacturers are not fully aware of the potential
design improvements possible with higher fidelity aeroelastic models.
Considering these facts, many advances in aerospace can be adapted
and used for wind turbine design. The majority of these design codes
currently used for wind turbines in academia and industry are of a relatively low fidelity (Ashuri and Zaaijer, 2007). These design codes tend
to use linear beam or modal models for the structure and blade element
momentum to do an aeroelastic analysis. Higher fidelity models exist,
but they are generally limited to mono-disciplinary analysis (Hansen
et al., 2006).
The majority of the research in this thesis was performed at the University of Michigan’s MDOlab. The MDOlab has extensive experience
in high fidelity optimization of aircraft configurations (Haghighat et al.,
2012; Mader and Martins, 2012). It also has a number of powerful tools,
one of which is TACS (Kennedy, 2012) used as a structural solver. Another is pyAeroStruct, an aerostructural managing code (Kenway et al.,
2012). These tools are designed with aircraft configurations in mind, but
could potentially be adapted for usage in wind turbine design.
The goal of this thesis is to modify and adapt the MDOlab tools to do
aerostructural analysis of wind turbines. This work is similar to previous
work done by Yan (2012). The work of Yan not been verified or validated.
2
This means its results are somewhat questionable. His aerodynamic code
is also oversimplified.
This thesis uses AeroDyn, a wind turbine aerodynamic solver. It
is coupled with TACS, a high fidelity structural solver. The resulting
aeroelastic code is compared and verified with a lower fidelity code.
The resulting code will be used for future research in e.g.
• Time domain analysis.
• (Multi-fidelity) optimization.
1.3
research questions
There are a number of research questions which will be addressed in the
course of this thesis. The main questions are:
1. What required changes and modifications to the exisiting MDOlab
codes must be made to support wind turbine blade design?
2. How can AeroDyn be coupled with the existing MDOlab codes?
3. How do the results of the coupled code compare to a low-fidelity
model?
1.4
research method
This thesis is part of a broader effort being undertaken at the University of
Michigan. It’s important to limit the scope of this project to a reasonable
size for a master thesis. Other researchers will investigate other aspects of
this effort not included in this thesis. Research is limited to the following
items:
• Changes to existing codes should be limited to minimize the necessary verification and validation.
• Limit the aeroelastic analysis to steady state solutions.
• Do not do any optimization, but when possible accommodate this
for future research.
The first step taken during this research is an extensive literature
study on wind turbine aerodynamic and structural theories widely used
to make aeroelastic codes. This includes the blade element momentum
(BEM) for aerodynamic and classical lamination theory (CLT) for structural disciplines. These items are written down for use in the thesis.
3
After becoming familiar with the basic theories, the AeroDyn interface is investigated. This is done by learning Fortran, studying the
manual (Laino and Hansen, 2002; Jonkman and Jonkman, 2013) and
learning to write Fortran test programs.
Once familiar with AeroDyn and its interface at the Fortran level,
research is done into wrapping the code to the Python level. This is
achieved by learning Python and learning to wrap Fortran codes using
F2py. Once familiar with wrapping simple codes AeroDyn is wrapped.
With a functional Python-wrapped AeroDyn interface, research is
done into the existing codes and how they can be interfaced. This is
done by talking to people from the MDOlab and studying code examples.
The existing AeroDyn wrapper is then incorporated into these codes
allowing for aeroelastic analysis.
Once generated, the code must be verified against an existing code.
Applicable models were discussed while visiting NREL’s NWTC in
Golden, CO. The model is then created using the tools developed by the
MDOlab (when possible).
The verification model is then compared to the results. Any differences found between the codes are to be analyzed and physically
explained.
1.5
thesis outline
Chapter 2 starts the literature research with an overview of the aerodynamic effects of wind turbines. It also gives a derivation of BEM, with
an emphasis on the implementation of BEM in AeroDyn.
The structural considerations of wind turbines are reviewed in Chapter 3. This chapter concerns the structure of wind turbine blades and
how they are affected by certain variables. The section also gives a review
of the classical lamination theory which is used in composite analysis. It
also briefly discusses other composite models.
Chapter 4 discusses the interface of AeroDyn and the method in
which it’s coupled to TACS. It also includes a brief overview of the aeroelastic solver and its convergence criteria.
Chapter 5 compares the composite model of TACS to ANSYS and the
aeroelastic response with that of FAST. In order to analyze multi-lamina
composites, certain additions were made to TACS and pyTACS to get the
constitutive class working. The rest of the chapter discusses the choice
4
of a verification model and the results of the model compared to the
reference model.
Results and future work are discussed in Chapter 6. Particular emphasis is placed on the role of the code in wind turbine analysis and how
it compares to the landscape of current analysis codes.
5
PART I
THEORETICAL BACKGROUND
WIND TURBINE
AERODYNAMICS
This chapter discusses the aerodynamic design of wind turbines. The
first part of the chapter discusses the aerodynamic considerations of
wind turbines. The final part of the chapter discusses Blade Element
Momentum (BEM). BEM is the method used in this thesis to calculate
the aerodynamic loads acting onto the structure.
2.1
wind turbine aerodynamic
design
2.1.1
The site
The amount of kinetic energy contained in wind depends on the velocity
squared. It is therefore imperative to the wind turbine design to have a
good idea of the wind speed distribution on the site.
An ideal site would have a constant wind speed that allows for a
constant energy production. In practice, however, there are times in
which there’s hardly any wind and other times in which there are strong
gusts. Designing a wind turbine to be able to extract the energy of these
strong gusts is usually not economically feasible.
Wind speed varies by time of day as well as due to the terrain. The
viscous friction causes a phenomenon known as wind shear. Wind shear
describes the wind velocity distribution in the earth’s boundary layer.
The friction on the earth’s surface causes the wind speed to be much
lower near the surface. The effect depends on the surface roughness.
More information on this phenomenon can be found in Elliott and
Cadogan (1990).
2.1.2
Number of blades
The more blades a design incorporates, the less each blade has to extract.
This means that the loads on the blade are smaller and the rotation speed
is lower. This reduces structural loads and allowing for lighter blades.
9
2
A consequence of this is that the blade has to become narrower in
order to maintain aerodynamic efficiency. The term for the ratio of blade
area to annular area is called the solidity. The optimum ratio is for the
blade area to be just a few percent of the total annular area. In practice it
is too expensive to produce the very narrow blades needed for 4+ blade
turbines.
Other considerations in the selection of blades are the dynamics.
The turbine experiences a shock twice per rotation, this occurs when the
blades are aligned with the tower. At this instance the forces are at the
highest on the blade pointing up, and at its lowest on the blade pointing
This shock
has
been
by some manufacturers by using a
Blade down.
at low, medium
& high
angles
of reduced
attack
teetering pin. This pin gives the blade some freedom to move, reducing
the shock on the structure. Three-bladed turbines are also reported to
There is, unfortunately, also a retarding force on the blade: the drag. This is the force
betoless
disturbing
than two-bladed
2013)shape
and
parallel
the visually
wind flow,
and also increases
with angle turbines
of attack. (Gurit,
If the aerofoil
(Burton
al.,is2011,
sec.
6.5.6).
details
the performance
effects
is good,
the lift et
force
much
bigger
thanMore
the drag,
but on
at very
high angles of attack,
of the
number
of blades
be found
in (Burton
et al.,So2011,
6.5).
especially
when
the blade
stalls, can
the drag
increases
dramatically.
at ansec.
angle
slightly less than the maximum lift angle, the blade reaches its maximum lift/drag
ratio. The best operating point will be between these two angles.
2.1.3
Blade design
Since Airfoil
the drag is in the downwind direction, it may seem that it wouldn’t matter for a
wind turbine as the drag would be parallel to the turbine axis, so wouldn’t slow the rotor
axis
wind
turbines
energy
from
windaxis
through
down.Horizontal
It would just
create
“thrust”
, the(HAWT)
force that extract
acts parallel
to the
turbine
hence
has notorque
tendency
to speed from
up or slow
down
the rotor.
Whenthis
the torque
rotor is stationary
generated
airfoils.
HAWT
extract
by utilizing
(e.g. just
start-up),
is indeed
the case.
blade’s own
thebefore
lift force
of anthis
airfoil,
this allows
theHowever
turbine the
to extract
moremovement
energy
through
the
air
means
that,
as
far
as
the
blade
is
concerned,
the
wind
is
blowing
from
than drag-based devices. These airfoils have a shape which is similar
to
a different
angle.
This
is
called
apparent
wind.
The
apparent
wind
is
stronger
than
the
that of airplanes. The lift generated by the airfoil generates a component
true wind but its angle is less favourable: it rotates the angles of the lift and drag to
which is translated to a torque. This is shown in figure Figure 2.2. More
reduce the effect of lift force pulling the blade round and increase the effect of drag
information can be found in (Johnson, 2001, ch. 4)
slowing it down. It also means that the lift force contributes to the thrust on the rotor.
Apparent
wind
Figure
2.1:angles
Torque extraction through lift, from Gurit (2013).
The result of this is that, to maintain a good angle of attack, the blade must be turned
The ideal airfoil shape is very thin, about 10-15% of the chord length
further from the true wind angle.
(Gurit, 2013). In practical applications the airfoil shape might have to
WE Handbook- 2- Aerodynamics and Loads 10
be adapted for structural reasons or in case of airplanes for fuel and
incorporation of control surfaces. In wind turbines the bending moment is the highest near the root of the blade. This means that most
structural adaptations have to take place at the root of the blade. In
wind turbines with active pitch control1 the root of the blade often has a
circular connection to the hub of the turbine.
Twist
Twist
The closer to the tip of the blade you get, the faster the blade is moving through the
air and so the greater the apparent wind angle is. Thus the blade needs to be turned
The angle of attack for the airfoil is relative to the apparent wind speed
further at the tips than at the root, in other words it must be built with a twist along its
whichTypically
is a combination
of the10-20°
incoming
wind
motiontooftwist
the
length.
the twist is around
from root
to tip.and
Thethe
requirement
wind
turbine
blade.
the blade has implications on the ease of manufacture.
Blade
twist
Figure
2.2:
The apparent wind speed at sections of the blade, from Gurit (2013).
Blade section shape
the motions
means
that
the apparent
wind direcApartThe
fromcombination
the twist, windofturbine
blades have
similar
requirements
to aeroplane
tion differs
the length
of the based
blade.onThis
is usually
inshapes.
the range
wings,
so theiralong
cross-sections
are usually
a similar
family of
In of
10-20°.the
It best
should
be noted
that thearetwist
of the
significantly
general
lift/drag
characteristics
obtained
by blade
an aerofoil
that is fairlyaffects
thin:
it’s
might be only
10-15%
of its “chord” length (the length across the blade,
thethickness
manufacturing
costs
of a blade.
in the direction of the wind flow).
Planform shape
To get the most out of the incoming air flow it is necessary to slow down
the air as uniformly as possible across the annular area. Having air slow
down too much will cause turbulence which leads to wasted energy. Not
slowing it down enough reduces the converted energy.
The tip of the blade passes through more volume of air compared to
the root of the blade. The apparent air speed at the tip is also a lot higher.
In order to get a uniform slowing down of the air it is necessary for the
Typical aerofoil shapes offering good lift/drag ratio
11
WE Handbook- 2- Aerodynamics and Loads 1. Active pitch control means that
the blade can rotate along the roottip direction. This allows the blade
to actively change its angle of attack,
reducing power ouput and other
forces.
2. The lift force can be described
2
as FL = 21 ρ∞ V∞
SC L in which S is
the planform area (Anderson, 2001,
sec. 1.5).
Because the tip of the blade is moving faster than the root, it passes through more
volume of air, hence must generate a greater lift force to slow that air down enough.
Fortunately, lift increases with the square of speed so its greater speed more than
allows for that. In reality the blade can be narrower close to the tip than near the
root and still generate enough lift. The optimum tapering of the blade planform as it
tip outboard
of the blade
tocalculated;
extract more
energy
than
root
of the
goes
can be
roughly
speaking
thethe
chord
should
be blade.
inverse to the
radius. So if the chord was 2m at 10m radius, it should be 10m at 1m radius.
2 . Itshape
This relationship
breaks
close to thetoroot
where the
optimum
The lift force
isdown
proportional
theand
airtip,
velocity
squared
is also
changes
to
account
for
tip
losses.
proportional to the chord length. This translates to an optimal tapering
edge which is approximately inversely proportional to the radius. This
In reality a fairly linear taper is sufficiently close to the optimum for most designs,
is shown in figure Figure 2.3. Most designs use a linear approximation
structurally superior and easier to build than the optimum shape.
of the tapering edge.
Optimum
blade
planform
Figure 2.3:
Typical
planform shape of turbine blade, from Gurit (2013).
Rotational
speed
2.1.4 Rotational
speed
The speed at which the turbine rotates is a fundamental choice in the design, and is
The rotational
chosen
forblade
a design
is characterized
thespeed
wing(i.e.
tip
defined
in terms ofspeed
the speed
of the
tips relative
to the “free” by
wind
before
wind
slowed
by the
turbine).
called
speed
ratio.free
ratio.the
This
isisthe
ratiodown
of the
velocity
of This
the is
wing
tipthetotipthat
of the
wind speed.
High tip speed ratio means the aerodynamic force on the blades (due to lift and drag)
is almost parallel to the rotor axis, so relies on a good lift/drag ratio. The lift/drag ratio
A high tip speed ratio implies that the lift and drag are nearly parallel
can be affected severely by dirt or roughness on the blades.
3. Çetin et al. (2005), Gurit (2013)
and Ragheb (2011)
to the rotor axis. This makes the turbine’s efficiency highly dependent
on its lift/drag ratio. It also makes the blade’s efficiency sensitive to dirt
or other roughness on the blade.
Nevertheless, a high tip speed ratio is preferred over a low tip speed
ratio. This is due to a number effects3 :
• The torque generated onto the turbine
an equal
and opposite
WEhas
Handbook2- Aerodynamics
and Loads effect on the wind. The air swirls around in the direction opposite
that of the blades. The swirl represents lost potential energy. A
low tip speed ratio means higher torque, and therefore larger swirl
losses4 .
4. This is also called the whirlpool
effect.
• Another effect is called tip losses. These are caused by incoming air
escaping around the blade tip. As described in the previous section
the optimal chord length at the tip depends on the apparent wind
speed. Which itself depends on the rotation speed. A low tip
12
speed ratio requires a large torque which in turn requires a longer
chord at the tip. The result is that the tip represents a larger ratio
to the total blade area resulting in larger losses.
• A smaller tip speed ratio results in an increase of torque. This
requires a supporting structure which can support the higher
loads.
There are of course limits to the tip speed. A notable design consideration is noise, which scales with approximately the fifth power to the
tip rotation speed (Burton et al., 2011, sec. 6.4.4). Erosion and damage
from rain, sand, bird strikes also becomes a problem at high tip speeds.
A typical turbine design uses a wind tip ratio of 7-10. This means that for
a design wind speed of 15 m/s the tip speed is about 120 m/s (432 km/h).
2.1.5
Power control
Wind turbines are designed to have a rated power. This is determined
by weighing the cost of the structure to the increase in converted energy.
At higher wind speeds the turbine has to be controlled to limit the forces
acting on the turbine. To ensure that the wind turbine does not suffer
damage at high wind speeds it is necessary to regulate extraction of wind
energy.
The regulation is usually achieved by changing the angle of attack
through active pitch control. This also allows the blade to be be adjusted
at low speeds at which the apparent wind velocity is in the rotor axis
direction. The term for adjusting the angle of attack at wind speeds
above the rated wind speed is called feathering.
During a storm a blade may be feathered to stop the hub’s rotation
entirely. Though some designs instead increase the angle of attack until
the blade stalls. The latter method has the advantage that stalling can be
limited to gusts thus making it useful in gusty winds.
A lot of research is being done in aeroelastic tailoring5 . Aeroelastic
tailoring allows the blade to twist while being deflected through bendtwist coupling. This could in the future allow for large scale passive-pitch
controlled wind turbines (Veers et al., 1998).
2.2
blade element momentum
theory
The most commonly used method of calculating aerodynamic loads
on wind turbine blades is the Blade Element Momentum Method. It is
derived by combining the blade element method and combining it with
13
5. Aeroelastic tailoring reffers to
designing components with the
aeroelastic effects in mind.
42
AERODYNAMICS OF HORIZONTAL-AXIS WIND TURBINES
The Energy Extracting Stream-tube of a Wind Turbine
Figure 2.4:Figure
Steam3.1
turbine
model of wind turbine, used with permission from Burton
et al. (2011)
forces this would require. Pressure energy can be extracted in a step-like manner,
however, and all wind turbines, whatever their design, operate in this way.
the presence
momentum
method.
BEM
is alsoair,
utilized
by Aerodyn,
The
of the
turbineThe
causes
themethod
approaching
upstream,
gradually to
which
the software
package
to at
calculate
thedisc
aerodynamic
slow
downis such
that when
the air used
arrives
the rotor
its velocity loads
is already
lower
thancoupled
the free-stream
wind
speed.
The gives
stream-tube
expands
a result
of the
in the
software.
This
section
an overview
ofasthe
origin,
slowing
down
and,
because
no
work
has
yet
been
done
on,
or
by,
the
air
its
assumptions and methodology used in the BEM method. This sectionstatic
pressure rises to absorb the decrease in kinetic energy.
is based
the explanation
the theory
in Burton
al. (2011);
Ingram
As
the aironpasses
through theofrotor
disc, by
design, et
there
is a drop
in static
(2011);such
Hansen
Moriarty
Hansen
pressure
that, (2012);
on leaving,
the airand
is below
the (2005).
atmospheric pressure level. The
air then proceeds downstream with reduced speed and static pressure – this region
of the flow is called the wake. Eventually, far downstream, the static pressure in the
2.2.1
The concept
of an actuator
wake
must return
to the atmospheric
level fordisc
equilibrium to be achieved. The rise
in static pressure is at the expense of the kinetic energy and so causes a further
Steam turbine model
slowing down of the wind. Thus, between the far upstream and far wake conditions,
no change
in static
pressure exists
but there
is aof
reduction
in kinetic
energy.
A wind
turbine
is designed
to convert
some
the kinetic
energy
of
air (wind) into useful mechanical energy. This causes the wind to lose
some of its energy, resulting in a reduced airspeed. Assuming that the
3.2air passing
The Actuator
Disc Concept
through the rotor disc stays separate from the air that does, it
possible todescribed
draw theabove
boundary
layer
these
two airofflows
as energy
a steambut in
Theismechanism
accounts
forofthe
extraction
kinetic
turbine
as shown
Figureto2.4.
is toitsay
that
the
diameter
no way
explains
what in
happens
thatThis
energy;
may
well
beair
putflow
to useful
work but
some
may be spilled
back into
turbulence
andlayer
eventually
be dissipated
increases
downstream
of the
the wind
rotor.asThe
boundary
expands
after
as heat.
candisc
begin
an analysis
the aerodynamic
behaviour
goingNevertheless,
through thewe
rotor
because
the airofspeed
has decreased.
The of
wind turbines without any specific turbine design just by considering the energy
decrease is not instantaneous, as shown in Figure 2.5. As air gets closer
extraction process. The general device that carries out this task is called an actuator
the actuator
discto
(Figure
3.2). disc the pressure increases and the air slows down. After
passing through
thethe
actuator
disc there’s
sudden drop in
pressure,
Upstream
of the disc
stream-tube
has aacross-sectional
area
smallersince
than that
of the
and an area
largerafter
than
discdisc
downstream.
expansion
of the
the disc
atmospheric
pressure
thethe
rotor
is the sameThe
as in
front of it,
stream-tube
is
because
the
mass
flow
rate
must
be
the
same
everywhere.
The
the boundary layer is further expanded and the air speed is decreasedmass
of air which passes through a given cross section of the stream-tube in a unit length
even more.
of time is rAU, where r is the air density, A is the cross-sectional area and U is the
6.
Since the velocity decreases it is possible to state that from conservation of mass and Figure 2.56 :
m Mass flow [kg/s]
ρ Air density [kg/m3 ]
A Flow area [m2 ]
U Flow velocity [m/s]
m = ρA∞ U∞ = ρAd Ud = ρAw Uw
In which ∞ denotes the conditions upstream, d at the disc and w far
into the wake (downstream).
14
43
THE ACTUATOR DISC CONCEPT
Stream-tube
U∞
Velocity
p∞
Pressure
p+d
Velocity
Ud
Pressure
p–
p∞
Uw
Actuator disc
d
3.2and
Anvelocity
Energythroughout
Extracting Actuator
and Stream-tube
Figure 2.5:Figure
Pressure
the steamDisc
turbine.
From Burton et al.
(2011), used with permission.
flow velocity. The mass flow rate must be the same everywhere along the streamtube and so
Introducing the axial flow induction factor or inflow factor a which
is defined as:
(3:1)
rA1 U1 ¼ rAd Ud ¼ rAw Uw
U∞ − U d
a=
(2.1)
The symbol 1 refers to conditions far upstream,
d refers to conditions at the disc
U∞
andItwcan
refers
to conditions
thevelocities
far wake. U can be expressed as:
easily
be shownin
that
d
It is usual to consider that the actuator disc induces a velocity variation which
must be superimposed on the free-stream
Ud = U∞ (1velocity.
− a) The stream-wise component
(2.2) of
this induced flow at the disc is given by aU1 , where a is called the axial flow
induction factor, or the inflow factor. At the disc, therefore, the net stream-wise
velocity
2.2.2is Momentum theory
Linear momentum
Ud ¼ U1 (1 a)
(3:2)
As mentioned in the previous section the air speed decreases after pass7
ing through
the actuator
7. f = dp
, in which p is the mo3.2.1
Momentum
theorydisc. Using Newton’s second law , the associated
dt
mentum p = Mv. M is an absolute
force can be calculated by calculating the change in momentum per unit
Theofair
that
time
(Mpasses
= m). through the disc undergoes an overall change in velocity, quantity of mass [kg].
U1 Uw and a rate of change of momentum equal to the overall change of velocity
times the mass flow
rate: in momentum = (U∞ − Uw ) ρA d U d
Change
(2.3)
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ´¹¹ ¹ ¹ ¸ ¹ ¹ ¹ ¶
m
Rate of change of momentum ¼ ∆v
(U1 Uw )rA
d Ud
(3:3)
The force associated with this change in momentum can be attributed
The force causing this change of momentum comes entirely from the pressure
to the pressure difference between the front
and back
of the actuator
difference across the actuator disc because the
stream-tube
is otherwise completely
+
−
disc. This
in Figurepressure,
2.5 as pwhich
pd . Combining
this
with
surrounded
byisairshown
at atmospheric
zero net force.
Therefore,
d and gives
Equation (2.2) it is possible to write:
( pþ
d pd )Ad ¼ (U1 Uw )rAd U1 (1 a)
(p+d − p−d )Ad = (U∞ − Uw )ρAd U∞ (1 − a)
(2.4)
(3:4)
þ
To obtain the pressure
+
−difference ( pd pd ) Bernoulli’s equation is applied sepaCalculating
p
−
p
is
possible
by
using
theofBernoulli
equation
whichequad
d
rately to the upstream
and
downstream sections
the stream-tube;
separate
states:
1 2
ρU + p + ρgh = constant
2
The Bernoulli equation represents an energy balance within the fluid,
the assumption is made that under steady conditions provided no work
is done by or on the fluid the energy does not change. The balance
upstream can be written as:
1
1
2
ρ∞ U∞
+ p∞ + ρ∞ gh∞ = ρd Ud2 + p+d + ρd ghd
(2.5)
2
2
15
8. Pressure and temperature changes
for speeds below Mach 0.3 can be
considered negligible (Shaughnessy
et al., 2005, p. 80). Tip velocities
may a bit higher than this, this
could introduce an error for high
rotational speeds (Vermeer et al.,
2003).
By further assuming that the flow is incompressible8 and completely
horizontal it is possible to equate ρ∞ = ρd and h∞ = hd . This allows
Equation (2.5) to be rewritten to:
1 2
ρU + p∞ =
2 ∞
1
For downstream: ρUw2 + p∞ =
2
1 2
ρU + p+d
2 d
1 2
ρUd + p−d
2
(2.6)
(2.7)
Subtracting Equations (2.6) and (2.7) gives:
1
2
(p+d − p−d ) = ρ(U∞
− Uw2 )
2
(2.8)
Which when combined with Equation (2.4) gives:
1
2
ρ(U∞
− Uw2 )Ad = (U∞ − Uw )ρAd U∞ (1 − a)
2
Which can be solved to show that:
Uw = U∞ (1 − 2a)
(2.9)
This shows that half of the axial loss of speed takes place upstream of
the actuator disc, and half downstream.
Combining Equations (2.4) and (2.9) allows the following expression
for the force on the actuator disc:
2
Fx = (p+d − p−d )Ad = 2ρAd U∞
a(1 − a)
(2.10)
This expression can be used to calculate the thrust caused by the change
of momentum in the air. The unknowns have been reduced to the axial
induction factor a.
Angular momentum
The torque exerted by the wind turbine generates an equal and opposite
torque on the passing air. This causes the air in the wake to rotate in
the direction opposite of that of the rotor. This means that the air gains
angular momentum, and therefore has a velocity component which is
tangential to the rotation along with its axial component. This is shown
in Figure 2.6. The increase in kinetic energy that is associated with this
wake is compensated by a lower pressure downstream (Burton et al.,
2011, p. 47).
The tangential force component on an annular (ring-shaped) element
can be described by first recounting that the following equations are
16
also be that the axial induced velocity is not the same. To allow for variation of both
induced velocity components consider only an annular ring of the rotor disc which
is of radius r and of radial width r.
The increment of rotor torque acting on the annular ring will be responsible for
r
Ω
Figure 3.4
The Trajectory of an Air Particle Passing Through the Rotor Disc
Figure 2.6: Notation of rotating annular stream as well as trajectory of air particle.
Reused with permission from Burton et al. (2011)
valid for an annular shape9 :
9.
I Moment of inertia [kg⋅ m2 ]
I = Mr 2
L = Iω
dL
T=
dt
dIω d(Mr 2 ω) dM 2
T=
=
=
rω
dt
dt
dt
M Mass [kg]
ω Wake rotational velocity [rad/s]
T Torque [N⋅m]
L Angular momentum [N⋅m⋅s]
So for a small annular element the torque can be described as (Manwell
et al., 2002, eqn. 3.28):
dT = d Ṁωr 2 = dmωr 2
m = ρAUd
m = ρ2πrdrUd
→ dT = ρ2πr drUd ωr 2 = ρUd ωr 2 2πr dr
(2.11)
(2.12)
(2.13)
(2.14)
Introducing the angular induction factor a′ as:
a′ =
ω
2Ω
(2.15)
And using Equation (2.2) it is possible to write the tangential force
component as:
dT = 4a ′ (1 − a)ρV Ωr 3 π dr
(2.16)
This gives an expression for the moment acting on the actuator disk.
This moment is due to the change in angular momentum (assumed nonexistent upwind). The increased angular momentum is caused by the
blade moving through the air, this is shown in Figure 2.7.
2.2.3
The power coefficient
Since power equals force times velocity it is possible to use Equations (2.10)
and (2.10) to get to the following expression:
3
Power = FUd = 2ρAd U∞
a(1 − a)2
(2.17)
17
An abrupt acquisition of tangential velocity cannot occur in practice and must be gradual.
Figure 3.5 shows the flow accelerating in the tangential direction as it is ‘squeezed’ between
the blades: the separation of the blades has been reduced for effect, but it is the increasing
2a'Wr
pd -_ _21 ρρ(2a'Wr)2
U•(1–a)
pd +
a'Wr
U•(1–a)
U• (1–a)
Wr
Rotor motion
Figure 3.5 Tangential velocity grows across the disc thickness
Figure 2.7: Change in angular momentum. Reused with permission from Burton
et al. (2011)
The Power coefficient is defined as:
Cp =
Power
3
1
2 ρU ∞ A d
(2.18)
The denominator represents the power available in the air in the absence
of the actuator disc. Combining Equations (2.17) and (2.18) C p can be
represented as:
C p = 4a(1 − a)2
(2.19)
The Betz limit
It is not possible to transform all of the kinetic energy contained in
the air into mechanical energy. The air has to flow to do work on the
turbine, this is why a wall does not generate energy. To find out what the
maximum energy, is a maximum has to be found for C p . This is done by
taking the first derivative of Equation (2.19) and checking whether it’s a
maximum by taking the second derivative.
dC p
= 4(1 − a)(1 − 3a) = 0
da
d2 C p
= 8(3a − 2) < 0
da 2
(2.20)
(2.21)
Equation (2.20) has the solutions a = 1 and a = 31 . Checking these solutions in Equation (2.21) it is clear that only a = 31 is a local maximum.
18
16
The corresponding value for C p,max = 27
≈ 0.593. This is the theoretical
maximum achievable power coefficient. It is named after the German
aerodynamicist Albert Betz who first derived this limit in 1919 Betz
(1966).
It would perhaps be a bit more fair to compare actual performance to
extracted
Power extracted
this limit in the form of C p = Power
Power available = 16 ( 1 ρU 3 A ) . This is however,
not the generally accepted definition of C p .
27
2
∞
d
There are other factors often used to quote energy efficiency of
wind turbines such as the annual capacity factor defined in Burton
et al. (2011):
The annual capacity factor is defined as the energy generated during the
year (MWh) divided by wind farm rated power (MW) multiplied by the
number of hours in the year. The determination of the capacity factor will,
of course, be based on the best available information of wind speeds and
turbine performance.
It should be noted that it is theoretically possible to break through the
Betz limit by increasing the mass flow through the use of a diffuser. This
has never been used in full-scale turbines and might not be economically
feasible due to the required structural additions (Hansen, 2012, p. 41-44)
and (Gilbert and Foreman, 1983).
2.2.4
Blade Element Method
The blade element method makes the following key assumptions:
• There are no aerodynamic interactions between blade elements.
• The forces on the blades are determined only by the lift and drag
coefficients.
This means that BEM (without corrections) is only valid for steady cases.
Effects such as tower shadow10 , dynamic stall and dynamic inflow are
not taken into account. Its assumptions also become invalid as axial
induction factor a becoming greater than 0.4. In addition to this, tip
loss effects due to the creation of vortices at the blade tip aren’t corrected
in standard BEM.
The blade element method divides the blades into N rings, depending on the size of the turbine somewhere between 10 and 20 rings are
usually used. This is illustrated in Figure 2.8 Each segment has different
forces acting on it due to having a different tangential velocities (Ωr),
chord length (c) and twist angle (γ). The blade element method calculates these per segment and assumes that the surrounding segments do
19
10. Local wind speed drops due to
flow around the tower.
Figure 2.8: Blade element model, from Ingram (2011).
not affect the result. The overall performance characteristics are determined by summing up all of the individual rings.
To find the correct lift and drag force it is necessary to compare the
flow to that of experimental data. Most airfoils are tested stationary in
wind tunnels. To use this data on the wind turbine’s blades it is necessary
to calculate the relative air flow. To estimate the flow at the turbine the
average speeds of the upstream and downstream are used.
Prior to the air entering the turbine it is not rotating, after passing
through the air is rotating at the rotational speed ω. The average rotating
speed is therefore ω2 . The blade itself is rotating at a rotational speed Ω.
The average tangential velocity the blade experiences is therefore equal to
Ωr + ωr2 = Ωr(1 = a ′ ). This is shown in Figure 2.9. From Equations (2.2)
and (2.15) and fig. 2.9 it is clear that:
ωr
= Ωr(1 + a′ )
2
Ωr(1 + a ′ )
tan β =
U∞ (1 − a)
U∞ (1 − a)
W=
cos β
Ωr +
(2.22)
(2.23)
(2.24)
The value for the angle of inflow (β) will vary per element. By introducing
the local tip speed ratio λr defined as:
λr =
Ωr
U∞
(2.25)
Equation (2.23) can be further simplified to:
tan β =
20
λr (1 + a ′ )
1−a
(2.26)
x
W
U∞(1-a)
r
r
2
blade rotation
r
r
wake rotation
Figure 2.9: Flow onto turbine blade, slightly modified from Ingram (2011).
x
φ
F
L
Fx
D
Figure 2.10: Forces acting on the turbine blades, slightly modified from Ingram
(2011).
21
1.4
1.3
1.2
1.1
1
CL or CD
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
CL
0.1
CD
0
-0.1
0
10
20
30
40
incidence / [degrees]
Figure 2.11: NACA 0012 lift and drag coefficients, from Ingram (2011).
Forces on blades
The forces on a blade element can be calculated as:
dFθ = dL cos β − dD sin β
dFx = dL sin β + dD cos β
(2.27)
(2.28)
In which the lift and drag coefficients are calculated as:
1
dL = C L ρW 2 c dr
2
1
dD = C D ρW 2 c dr
2
(2.29)
(2.30)
The lift and drag coefficients are based on experimental data, an example
of lit and drag coefficients of a NACA 0012 are shown in Figure 2.11 The
figure shows that at an angle of attack of around 14○ stall occurs. This
indicates that the flow across the airfoil becomes increasingly separated,
reducing lift and increasing drag.
Combining Equations (2.27) to (2.30) it is possible to write:
1
dFx = B ρW 2 (C L sin β + C D cos β)c dr
2
1
dFθ = B ρW 2 (C L cos β − C D sin β)c dr
2
(2.31)
(2.32)
(2.33)
In which B represents the number of blades on the turbine. The torque
dT being the tangential force Fθ multiplied by the radius:
1
dT = B ρW 2 (C L cos β − C D sin β)cr dr
2
22
(2.34)
Defining the local solidity σ ′ as:
σ′ =
Bc
2πr
(2.35)
It is possible to write Equations (2.31) and (2.34) using Equations (2.24)
and (2.35) to:
2 (1 − a)2
U∞
(C L sin β + C D cos β)r dr
cos2 β
U 2 (1 − a)2
dT = σ ′ πρ ∞ 2
(C L cos β − C D sin β)r 2 dr
cos β
dFx = σ ′ πρ
(2.36)
(2.37)
These expressions can be used to calculate the force and moment acting
on an element. The only unknown in this equation is the axial induction
factor.
2.2.5
Corrections made to the blade element method
The blade element method is an engineering method, that is to say that it
makes a lot of assumptions. Some of the assumptions made might not be
valid or induce an error in the final results. This section introduces some
of the corrections used in BEM theory and software such as aerodyn.
More information on various corrections can also be found in (Sant,
2007, sec. 3.5)
Some models make an estimate of all errors using empirical data.
An example from
Tip loss model
One of the effects not taken into account in the blade element method
is tip loss. The tip loss phenomenon describes the creation of helical
structures in the wake. The strength of which increase exponentially
towards the tip of the rotor blades. This effect plays a major role in the
induced velocity field. An overview of various methods used to correct
for the tip loss effect can be found in Shen et al. (2005). Aerodyn uses
the method developed by Prandtl. It uses a correction factor Q on the
induced velocity field. This factor is then applied for an angular ring
section using Equations (2.10) and (2.16) as:
B(R−r)
2
−(
)
cos−1 e 2r sin ϕ
π
2
dFx = 4QπrρU∞
a(1 − a) dr
′
dT = 4Qa (1 − a)ρV Ωr 3 π dr
Qtip =
(2.38)
(2.39)
(2.40)
Prandl’s method is used in a lot of engineering applications due to its
easy formulaic formulation (Moriarty and Hansen, 2005). It does have
its limitations, the most significant is that the wake does not expand.
23
This has a significant influence on lightly loaded rotors. The accuracy
when compared to more comprehensive (and computationally more
demanding) methods is also adversely affected when dealing with less
than three blades or high tip speed ratios.
An alternative tip loss correction method offered by Aerodyn is an
empirical model based on the Navier-Stokes solutions described in Xu
and Sankar (2002). These solutions are based on a specific turbine design
at a certain wind speed. It therefore has limited use.
Hub Loss
Similar to the tip loss blade also sheds a vortex at the hub of the turbine.
Aerodyn corrects this in similar way to the tip loss correction using a
correction factor:
QHub =
2
cos−1 e η ,
π
η=
B(r − R hub )
2R hub sin ϕ
(2.41)
Glauert correction
When the induction factor a is greater than 0.4 the BEM theory is no
longer valid. This occurs when the turbine operates at high tip speed
ratios (low wind speed, constant speed turbine). At this point the turbine
enters the turbulent wake state (a > 0.5). When this happens the wake
flow starts to propagate upstream, this is not physically realistic and
violates BEM assumptions. What actually happens is that air enters from
outside the wake and generates more turbulence.
A correction for this effect was developed by Glauert (1935), it is
based on experimental measurements done on helicopter rotors under
high induced velocities. It was originally adapted to correct the thrust
of an entire rotor, but has been adapted for use on the local coefficients
of the individual blade elements used in BEM.
Since the occurrence of a turbulent wake is often accompanied with
a large tip loss due to the induced velocities being high. There are a number of empirical correction methods available such as Burton et al. (2011);
Manwell et al. (2002). These methods have a problem with numerical
instability when used in conjunction with tip loss correction. This is
why a new model has been developed by Buhl (2005). This model takes
into account the deviation from the momentum theory when a > 0.4.
As shown in figures in Buhl (2005); Moriarty and Hansen (2005)
the model with this Glauert correction corresponds a lot better to the
empirical data. It should be noted that this correction was not originally
intended to be used for this purpose, it is used BEM because no better
model exists.
24
Figure 2.12: Definition of the coordinates used in the skewed wake correction model.
Taken from Moriarty and Hansen (2005).
Correction for skewed wake
The BEM is designed to be used for axi-symmetric flows through the
turbine. It is not uncommon however for wind turbines to operate at
relative (yaw) angles in relation to the incoming wind. This creates a
velocity component in the plane of rotation. This leads to unsteady aerodynamic forces and a gradient on the inflow velocity along the rotor
disk (Leishman, 2006) and (Sant, 2007, sec. 7.2). Most BEM corrections
for skewed wake correct the axial induction factor to model the gradient.
Aerodyn uses a method developed by Pitt and Peters (1981) to correct
the induced velocity. It is based on a model developed by Glauert for
use with autogyro aircraft (Glauert, 1928, p. 571-573).
The formulation used is:
askew = a (1 +
χ
15πr
tan cos ψ)
32R
2
(2.42)
The definitions of χ and ψ can be seen in Figure 2.11. The wake skew
angle χ can be calculated as:
χ
tan χ =
U∞ (sin γ − a tan 2 )
U∞ (cos γ − a)
(2.43)
Which is approximately (Burton et al., 2011):
χ = (0.6a + 1)γ
(2.44)
This method scales the local axial induction factor with that of the average induction factor of the rotor disk. This is an engineering method,
and is based on experimental results.
The limitations of this approach is the assumption that the wake is
cylindrical in shape. This is only a valid assumption for rotors under a
25
light load. There us also no theoretical basis to use this with BEM theory.
Research papers Xudong et al. (1988); Snel et al. (1995) have shown
a better correlation with measurements using this approach, though
some suggest that the effect is overly compensated Eggers (2000). It is
safe to say that despite its limitations it can be empirically stated that it
improves results.
Other factors
There are a number of factors not taken into account in the current
version of Aerodyn, these include (Moriarty and Hansen, 2005):
• The blade thickness in the local angle of attack.
• Cascade effects for high solidity wind turbines.
• Span wise gaps used in partial span pitch control.
The first two can have a significant effect on in-plane yaw forces near the
hub. Hints are made in the Aerodyn documentation that corrections for
these effects may be added in a future version (Moriarty and Hansen,
2005, p. 9). Spanwise gaps are not included because wind turbines don’t
tend to use partial span pitch control.
2.2.6
Blade Element Momentum Method
In the previous sections two methods have been introduced.
Blade element method A local method which can calculate the lift and
drag forces on annular blade section using an induction factor.
Momentum method A global method which calculates the induction
factor as a function of thrust.
The blade element momentum theory combines these two theories. The
solution for axial induction factor a is derived through iterations, the
algorithm used by Aerodyn (Moriarty and Hansen, 2005) is described
below.
BEM algorithm. To get a first estimate for a an estimate is taken by
assuming:
• Inflow angle ϕ is small, sin ϕ ≈ ϕ)
• The tangential induction factor a ′ = 0
• The tip and hub loss corrections Q = 1
• Drag coefficient C D = 0
• Lift coefficient C L = 2πa
26
• Angle of attack α = ϕ − β
Which gives an estimate (Moriarty and Hansen, 2005, eq. 20):
a=
√
1
(2 + πλr σ ′ − 4 − 4πλr σ ′ + πλ2r σ ′ (8β + πσ ′ ))
4
After which the estimates are made for:
Inflow angle
U∞ (1 − a) + v e−op
Ωr(1 + a′ ) + v e−i p
tan ϕ =
(2.45)
Thrust coefficient
CT =
σ ′ (1 − a)2 (C L cos ϕ + C D sin ϕ)
sin2 ϕ
Tip losses
B(R−r)
2
−(
)
cos−1 e 2r sin ϕ
π
Qtip =
Hub losses
Qhub =
(2.46)
(2.47)
B(r−R hub )
2
−(
)
cos−1 e 2R hub sin ϕ
π
(2.48)
Total losses
Q = Qtip Qhub
(2.49)
The next step depends on the load of the element. If the coefficient of
thrust C T > 0.96 the element the axial induction factor is calculated
using the modified Glauert correction described in Section 2.2.5. If this
is not the case standard BEM theory is used.
√
⎧
⎪
18Q − 20 − 3 C T (50 − 36Q) + 12F(3Q − 4)
⎪
⎪
, C T > 0.96Q
⎪
⎪
36Q − 50 −1
a=⎨
2
4Q sin ϕ
⎪
⎪
⎪
(1 + ′
) ,
C T < 0.96Q
⎪
⎪
σ
(C
cos
ϕ + C D sin ϕ
L
⎩
(2.50)
The tangential induction factor a′ is calculated using:
4Q sin ϕ cos ϕ
a = (−1 + ′
)
σ (C L sin ϕ − C D cos ϕ)
−1
′
(2.51)
With the final correction being for the skewed wake of Equation (2.42):
askew = a (1 +
χ
15πr
tan cos ψ)
32R
2
27
This process is repeated from Equation (2.45) until the results converge to a final value for a and a′ (and through blade element theory,
the forces and moments). The options in Aerodyn to e.g. not take tip
and hub losses into account are small modifications to the algorithm
above. In the aforementioned case Q = 1 would be used.
11. Dynamic stall describes the
latency of the lift coefficient to respond to a changing angle of attack.
This means that the coefficient becomes a function of α̇ in addition to
α.
Aerodyn does not directly couple the resulting forces to dynamic
stall11 routines. It uses static airfoil data which it then processes with a
dynamic stall routine before returning the output to the aeroelastic code.
There are some situations in which the used assumptions are not always
valid (Moriarty and Hansen, 2005).
28
WIND TURBINE STRUCTURES
Wind turbines have shown a steady trend to increase in diameter over
time. This causes the centrifugal and gravitational forces associated with
the greater diameter to also increase greatly (Ashuri and Zaaijer, 2008).
One way to reduce these forces is to reduce the mass of the blade. This is
done in modern turbines through the use of composite materials. This
section describes the structural design of wind turbine blades. It also
discusses some of the theoretical background of composites.
3.1
structural design
As described in Chapter 2, the forces on the blade are the highest at the
tip of the blade and are reduced proportionally with the radius.
The bending moment at the tip is zero, it increases to its maximum
which is located at the root of the blade. It is therefore necessary for the
root of the blade to be the strongest part of the blade while the blade
tip can be relatively weak. This is fortunate from an aerodynamic point
of view as this allows for a thin blade at the tip, resulting in a relatively
small amount of drag at the part of the blade responsible for the most
converted energy. The wind speed at the hub is a lot lower than that at
the tip. This means that the blade near the root has to be designed to
generate the lift at a relatively low apparent air speed. This is usually
done by increasing the thickness of the blade (which increases the lift),
as increasing the chord length is usually considered too costly.
In general the thickness needed for structural reasons is greater
than that needed for aerodynamic reasons. This means that the use of
materials with a high tensile strength can directly influence the potential
efficiency of a turbine blade.
3.1.1
Box structure
The structure of a blade consists of a thin shell airfoil. The airfoil itself
is compressed downwind and elongated in the upwind direction. To
give the blade some stiffness, shear webs are included in the center of
the airfoil. These are connected to spar caps which are bonded to the top
29
3
and bottom of the airfoil. This is similar to the design of a steel I-beam.
There are two common ways in which this is constructed:
1. The spar caps are built as part of the shell and a separate shear
web is bonded between the caps.
2. The spar caps and shear web are built together and bonded onto
the shells.
A turbine blade created using the latter method is shown in Figure 3.1.
Figure 3.1: Cross section of turbine blade.
Laminate orientation
Turbine blades are usually made using fiber reinforced plastics (FRP).
Wind turbine blades are very suitable for the use of fiber reinforced
materials because the direction of the stresses are fairly predictable.
Stresses in the shells tend to be in the root-tip direction. Stresses in the
shear web are at a 45° angle to the chord direction. These directions are
generalized. Ideal fiber orientation depends on exact blade geometry
and load distribution.
3.1.2
Fatigue
Repeated variations in loads can lead to fatigue damage in structures
(Sutherland, 1999). Though this is usually associated with metals, this
phenomenon also occurs with other materials such as FRP.
1. Term used for forces which
occur when the turbine is not
pointed directly into the wind.
Load variations originate from wind shear, gusts, yaw error1 and turbulence. The fatigue life depends on the amplitude of the load variations.
Turbine blades are considered to be a component which should last the
30
entire life of a turbine (replacement would be too costly).
The actual allowable stress variation depends on the material used.
Carbon fiber in prepreg resin can withstand cycles of 50% ultimate load
for 10 million cycles2 while lower quality glass-reinforced resins can only
withstand 20% of ultimate load variations.
There are two main methods in designing for fatigue. The first
method is to limit the allowable load to be within the fatigue limit.
This method is more restrictive than necessary since damage occurs
during the variation of load instead of the application thereof. The second, more advanced method, is rainbow counting which assesses the
load variation (damage caused) per cycle and takes the distribution of
the load into account through what is called the Palmgren-Miner law.
Additional unknowns and assumptions mean that an additional safety
factor is required when assessing the fatigue load variation amplitude.
3.1.3
Blade shell
The main function of the shell is to give the blade an airfoil shape. Though
the shell also gives the blade a lot of its torsional stiffness. The blade does
have a small amount of contribution in the flap-wise stiffness, though the
main contribution of the shell’s fiber reinforcement is the the edgewise
direction.
The center of gravity of the blades is near the root of the blade. This
means that the edgewise bending stress is also the highest near the root.
Extra reinforcement is often added to the trailing edge to strengthen the
structure to be able to withstand the extra bending stress.
FRP sheets only needs to be a few mm thick to get the the necessary
strength for its structural requirements. The large surface areas make
the stiffness of the shells an issue. To increase the in-plane shell-stiffness,
two layers of FRP are usually glued together with a honeycomb structure
or low density foam.
3.1.4
Stiffness
Most HAWT turbines have the blade upwind. This is done because the
support structure (usually a tube-shaped tower) generates a turbulent
airflow behind the tower which reduces the aerodynamic efficiency. It’s
also less likely to suffer from fatigue loads caused by the osculations in
loads that are associated with this phenomenon.
One of the consequences of an upwind placement of the wind turbine
blades is that the blades deform towards the tower. A minimum tower
clearance of 30% of the undeformed configuration is usually considered
31
2. Approximately 20 years of use.
the minimum when designing a wind turbine. This is particularly challenging when upscaling the blade’s dimensions. The clearance as well as
the stresses have to be kept similar to smaller scales (Capponi et al., 2010).
One trick often used when designing wind turbines is to give the unloaded some prebending or coning. The blade then straightens out when
under operating loads. This "trick" does increase the manufacturing cost
of a blade. It can also reduce the aerodynamic efficiency at low wind
speeds.
3. An integer multiple of the rotational frequency.
Care should be taken to avoid engine orders3 being the eigenfrequencies of the blade. This can be done by a smart distribution of mass and
stiffness along the blade.
3.1.5
Fiber
The two most common types of fibers used in turbine design are glass
and carbon fibers. The latter is much stronger, but also much more expensive. This means that carbon fiber usage tends to be limited to large
turbine design and localized to high stress areas in which its properties
are of most use.
It can be approximated that the mass increases with the third power
of the length while the aerodynamic performance only increases with the
second power. From this fact it is easy to see that it is not economically
sound to create the largest possible wind turbine. The exact optimum
size evolves with the development of new technologies and the use of
materials such as carbon fiber reinforcement.
3.1.6
Structural design process
The dominant force experienced by the blade is the lifting force. This
force can be estimated fairly accurately using methods such as BEM
explained in Chapter 2. The structural design starts by the design of
the spar caps and shear web. The aerodynamic efficiency lowers at large
thicknesses which may be required structurally. The design process is
therefore a combination of material and manufacturing costs and aerodynamic efficiency.
4. Mono-disciplinary optimization optimizes the aerodynamics
and structure separately. The resulting optimum is usually not
found. More advenced techniques
optimize the aeroelastic performance (Martins and Lambe, 2013).
The actual design is usually done iteratively or through the use of
mono-disciplinary optimization4 studies. Low fidelity aeroelastic tools
are also widely used. A design is checked more thoroughly with FE to
make sure that fatigue requirements are met, and that design assumptions on loads are accurate for the final design.
32
3.1.7
The choice for composite materials
Comparing various materials it is clear that glass and fiber composites
(GFRP & CFRP) have the best properties (Burton et al., 2011, p. 386-390).
These do however have anisotropic properties on a macroscopic scale.
The low young’s modulus also makes it more likely for the material to
fail due to buckling in thin structures than for it to fail due to yielding.
This is exemplified by the panel stability factor5 . This value is around 0.1
for glass and fiber reinforced composites and around 0.8 for steel and
aluminum. The fatigue life of composites is much better as shown in
(Burton et al., 2011, table 7.1). This becomes ever more important as the
blade diameter increases and gravity associated loads become larger.
A laminate material consists of several lamina which are layers
around 125 µm in thickness. A lamina consists of a fibers which can
be oriented randomly or in a specific direction. This report focuses on
oriented fibers due to to their use in aerostructures. These fibers are
suspended in a matrix material, usually an epoxy resin.
3.2
mechanical analysis of
composites
There are several methods that can simplify the anisotropic properties
of composites and reduce it to a set of comparable isotropic properties
(Ashuri et al., 2010a). It is still necessary to use a theory which can be
used to analyze the stiffness of the composite materials and its deformation to a random load in an accurate way.
This section introduces classical lamination theory. This is a widely
used theory used to analyze thin composite structures. It’s based on the
Cauchy-Poisson-Kirchoff-Love plate theory. It also briefly discusses the
first order shear deformation (FSDT) theory, the method used in TACS.
3.2.1
Hooke’s law
The stress-strain relationship for a material can be described by the
stiffness matrix C and its inverse, the compliance matrix S. Both of these
matrices are of the dimensions 6 × 6.
T
T
(3.1)
T
T
(3.2)
[σ1 σ2 σ3 τ1 τ2 τ3 ] = C [ε1 ε2 ε3 γ23 γ31 γ12 ]
[ε1 ε2 ε3 γ23 γ31 γ12 ] = S [σ1 σ2 σ3 τ1 τ2 τ3 ]
33
5. (U CE S)2 in which UCS is the
uniaxial compressive strength.
Isotropic material
It can be easily shown that for an isotropic material these 36 constants
reduce 3 according to:
1
= S22 = S33
E
ν
S12 = − = S13 = S21 = S23 = S31 = S32
E
2(1 + ν)
1
S44 = = S55 = S66 =
G
2E
S11 =
(3.3)
(3.4)
(3.5)
And all others being zero, there is no coupling between axial strain and
shear strain.
Anisotropic materials
Anisotropic materials require more coefficients to accurately describe
the material. It can easily be seen that due to symmetry of the C and S
matrices (Jones, 1999, p. 57-63) the number of independent coefficients
reduces to 21.
Monoclinic material
A monoclinic material is a material that has a plane of symmetry. The
symmetry allows a number of terms to be canceled out. If for instance.
a material is symmetric on a plane on the center of the material the
stiffness matrix can be written as:
⎡ C11
⎢
⎢C
⎢ 12
⎢
⎢C
C = ⎢⎢ 13
⎢0
⎢
⎢0
⎢
⎢C16
⎣
C12
C22
C23
0
0
C26
C13 0
0
C23 0
0
C33 0
0
0 C44 C45
0 C45 C55
C36 0
0
C16 ⎤⎥
C26 ⎥⎥
⎥
C36 ⎥⎥
0 ⎥⎥
⎥
0 ⎥
⎥
C66 ⎥⎦
Orthotropic material
A material is orthotropic when it has three axis of symmetry. In this
case a stiffness matrix can be reduced to:
⎡ C11 C12 C13 0
0
0 ⎤⎥
⎢
⎢C C C
0
0
0 ⎥⎥
⎢ 12
22
23
⎢
⎥
⎢C13 C23 C33 0
0
0 ⎥⎥
⎢
C=⎢
0
0 C44 0
0 ⎥⎥
⎢0
⎢
⎥
⎢0
0
0
0 C55 0 ⎥
⎢
⎥
⎢0
0
0
0
0 C66 ⎥⎦
⎣
34
(3.6)
Transversely isotropic material
If a material is isotropic on a plane it is possible to reduce to five constants.
If the material is isotropic in direction 1, normal to plane 2-3 the stiffness
matrix reduces to:
⎡ C11 C12 C12
⎢
⎢C C
⎢ 12
22 C 23
⎢
⎢C12 C23 C22
C = ⎢⎢
0
0
⎢0
⎢
⎢0
0
0
⎢
⎢0
0
0
⎣
3.2.2
0
0
0
C 22 −C 23
2
0
0
0
0 ⎤⎥
0
0 ⎥⎥
⎥
0
0 ⎥⎥
0
0 ⎥⎥
⎥
C55 0 ⎥⎥
0 C55 ⎥⎦
Hook’s law and lamina
Unidirectional lamina
Working under the assumption that the the thickness is very small when
compared to the other dimensions and no external forces work on the
surface it can be assumed that the lamina is under plane stress. Plane
stress is the state in which stress in the direction normal to the plane
equal zero. This allows for the three dimensional stress analysis to be
reduced to two dimensional stress-strain equations.
A unidirectional lamina can be considered an orthotropic material,
using Equation (3.6) it is easy to derive:
ε3 = S13 σ1 + S23 σ2 ,
γ23 = γ31 = 0
And thus the reduction to:
⎡ ε1 ⎤ ⎡ S11 S12 0 ⎤ ⎡ σ1 ⎤
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ ε2 ⎥ = ⎢S12 S22 0 ⎥ ⎢ σ2 ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢γ12 ⎥ ⎢ 0 0 S66 ⎥ ⎢τ12 ⎥
⎣ ⎦ ⎣
⎦⎣ ⎦
(3.7)
And stiffness:
⎡ σ1 ⎤ ⎡ Q11 Q12 0 ⎤ ⎡ ε1 ⎤
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ σ2 ⎥ = ⎢Q12 Q22 0 ⎥ ⎢ ε2 ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢τ12 ⎥ ⎢ 0
0 Q66 ⎥⎦ ⎢⎣γ12 ⎥⎦
⎣ ⎦ ⎣
Which has the reduced stiffness coefficients:
S22
S11 S22 − S122
S12
Q12 = −
S11 S22 − S122
S11
Q22 = −
S11 S22 − S122
1
Q66 =
S66
Q11 =
(3.8)
(3.9)
(3.10)
(3.11)
(3.12)
35
Two-dimensional lamina
Laminae tend to have its fiber reinforcement at angles due to low stiffness and strength. This is done by using a local coordinate system with
coordinates 1 and 2, at an angle θ from the global coordinate system x-y.
As is shown in (Kaw, 2005, Appendix. B) the relationship is:
⎡ εx ⎤
⎡ ε1 ⎤
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ε2 ⎥ = T ⎢ ε y ⎥
(3.13)
⎢ γ12 ⎥
⎢ γx y ⎥
⎢ ⎥
⎢ ⎥
⎣2⎦
⎣ 2 ⎦
⎡ σx ⎤
⎡ σ1 ⎤
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ σ y ⎥ = T−1 ⎢ σ2 ⎥
(3.14)
⎢ ⎥
⎢ ⎥
⎢τ x y ⎥
⎢τ12 ⎥
⎣ ⎦
⎣ ⎦
In which the transformation matrix T equals:
⎡ cos2 θ
sin2 θ
2 sin θ cos θ ⎤⎥
⎢
⎥
⎢
2
2
cos θ
−2 sin θ cos θ ⎥ ,
T = ⎢ sin θ
⎥
⎢
⎢− sin θ cos θ sin θ cos θ cos2 θ − sin2 θ ⎥
⎦
⎣
2
⎡ cos2 θ
sin θ
−2 sin θ cos θ ⎤⎥
⎢
⎥
−1 ⎢
2
2
cos θ
2 sin θ cos θ ⎥
T = ⎢ sin θ
⎢
⎥
⎢sin θ cos θ − sin θ cos θ cos2 θ − sin2 θ ⎥
⎣
⎦
⎡ 1 0 0⎤
⎢
⎥
⎢
⎥
6. The Reuter matrix equals ⎢0 1 0⎥
⎢
⎥
⎢0 0 2 ⎥
⎣
⎦
Combining this with Equation (3.8) it is possible to write:
⎡ ε1 ⎤
⎡ σx ⎤
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ σ y ⎥ = T−1 Q ⎢ ε2 ⎥
(3.15)
⎢ ⎥
⎢ ⎥
⎢γ12 ⎥
⎢τ x y ⎥
⎣ ⎦
⎣ ⎦
Using measurements it is possible to determine the engineering constants of the material using the compliance and stiffness matrices (Kaw,
2005, sec. 2.6). The actual relationship between stress and strain in the
material direction requires a combination of the reduced stiffness matrix for unidirectional lamina Q, transformation matrix T as well as
the Reuter matrix R6 The relationship of the strains in local and global
coordinate systems can be expressed as:
⎡ εx ⎤
⎢ ⎥
ε1 ε2
⎥
−1 ⎢
[ ] = RTR ⎢ ε t ⎥
(3.16)
⎢ ⎥
γ12
⎢γ x y ⎥
⎣ ⎦
Combing this expression for the local strains with Equation (3.15) allows
for the relationship between the global stresses and strains:
⎡ σx ⎤
⎡ εx ⎤
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎥
−1 ⎢
−1
⎢ σ y ⎥ = T QRTR ⎢ ε t ⎥
(3.17)
⎢ ⎥ ´¹¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶ ⎢ ⎥
⎢τ x y ⎥
⎢γ x y ⎥
⎣ ⎦
⎣ ⎦
Q
In which Q is the reduced transformed stiffness matrix. The expressions
for the terms are not listed here, but can be found in many reference
books such as (Kaw, 2005, p. 112) or (Jones, 1999, eqn. 2.85).
36
3.2.3
Laminate materials
A real structure will not consist of a single lamina, as previously mentioned, they have a thickness of just 125 µm. The failing stress along the
fibers of a glass-epoxy lamina is around 130 MPa. For transverse loads
this is much less. To maximize the strength to weight ratio it is necessary
to optimize the ply orientation of the laminae.
When discussing laminate materials it is normal to use laminate code
to describe the layers. For example a laminate with the following order
of orientations:
0○
−45○
90○
90○
60○
0○
Has the laminate code of [0/-45/902 /60/0]. There are further shorthand
notations for symmetry and alternating ply directions:
0○
−30○
90○
90○
−30○
0○
Has the laminate code of [0/-30/90]s . Similarly for an uneven amount
of layers:
0○
−30○
90○
−30○
0○
Has the laminate code of [0/-30/90]s .
MA
MB
MB
MB
MB
MA
0○
−30○
30○
30○
−30○
0○
Has the laminate code of [0MA/ ∓ 30MB ]s . Notice how ∓/± describes the
order and superscript the material type.
37
at any point in the x, y, and z directions, respectively. At any point other than
the midplane, the two displacements in the x–y plane will depend on the
axial location of the point and the slope of the laminate midplane with the
x and y directions. For example, as shown in Figure 4.4,
uo
h/2
z
Mid-plane
z
h/2
x
κ
A
wo
Aʹ κ
zα
Cross-section
before loading
Cross-section
after loading
Figure
FIGURE3.2:
4.4 Displacements and their relationship to the midplane. From Kaw (2005),
reproduced
with
Figure showing
thepermission.
relationship between displacements through the thickness of a plate to
midplane displacements and curvatures.
3.2.4
Classical lamination theory
© 2006 by Taylor & Francis Group, LLC
This section describes the behavior of laminates to axial forces and bending/twisting moments. Classical lamination theory makes the following
assumptions:
• A line perpendicular to the center remains so during deformation
(γ xz = γ yz = 0).
• The laminate is thin and under plane stress (σz = τ xz = τ yz = 0)
• All displacements are small and continuous.
• The lamina are elastic.
• No slip occurs between lamina interfaces.
A diagram of displacements in shown in Figure 3.2. From this it can
easily be seen that:
α=
∂w0
∂x
(3.18)
u = u0 − zα
→ v = v0 − z
38
→ u = u0 − z
∂w0
∂y
∂w0
∂x
(3.19)
(3.20)
From the definition of strain e.g. ε x = ∂u
∂x it is possible to combine
Equations (3.19) and (3.20) to redefine the strain as:
∂2 w0
u0
−z 2
∂x
∂x
v0
∂2 w0
εy =
−z 2
∂y
∂y
∂u ∂v
γx y =
+
∂y ∂x
∂2 w0
∂u0 ∂v0
+
− 2z
=
∂y
∂x
∂x∂y
εx =
It is possible to separate the midplane strains (ε0x
plane curvatures ([κ x κ y κ x y ]T ) as:
⎡ εx ⎤
⎢ ⎥
⎢ ⎥
⎢ εy ⎥ =
⎢ ⎥
⎢γ x y ⎥
⎣ ⎦
(3.21)
(3.22)
(3.23)
(3.24)
ε0y
⎡ − ∂2 w0 ⎤
⎡ ∂u0 ⎤
⎢ ∂x 2 ⎥
⎢ ∂x ⎥
⎢ ∂v0 ⎥
⎢ 2 ⎥
⎢ ∂y ⎥ +z ⎢ − ∂∂yw20 ⎥
⎥
⎢
⎥
⎢
⎢ ∂2 w0 ⎥
⎢ ∂u0 ∂v0 ⎥
⎢ ∂y + ∂x ⎥
⎢−2 ∂x∂y ⎥
⎣
⎦
⎣
⎦
´¹0 ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¸
¹ ¹ ¹ ¹ ¹ ¹ ¹ 0¹ ¹ ¹ ¹¶
´¹¹ ¹ ¹ ¹ ¹ ¹ ¹¸¹ ¹ ¹ ¹ ¹ ¹ ¹ ¶
0
[ε x
εy
γ x y ]T
[κ x
κy
γ0x y ]T ) and mid-
(3.25)
κ x y ]T
Combining this with Equation (3.17) it is possible to separate the individual contributions to the stress:
⎡ ε0 ⎤
⎡ κx ⎤
⎡ σx ⎤
⎢ x⎥
⎢ ⎥
⎢ ⎥
⎢ ε0 ⎥
⎢ ⎥
⎢ ⎥
⎢ σ y ⎥ = Q ⎢ y ⎥ + zQ ⎢ κ y ⎥
(3.26)
⎢ 0 ⎥
⎢ ⎥
⎢ ⎥
⎢τ x y ⎥
⎢γ x y ⎥
⎢κ x y ⎥
⎣ ⎦
⎣ ⎦
⎣ ⎦
This shows that the stress distribution within a lamina is linear. The
stress distribution across the entire laminate depends on the orientation
and composition of the laminae which comprise the laminate.
Consider a k layer laminate. Its lamina thickness is t k , the total
thickness:
n
h = ∑ tk
k=1
(3.27)
Measuring from the center of the plane, with down being positive the
top of the laminate has the coordinates h0 = − h2 , similarly the bottom
has of the top lamina has the distance h1 = − h2 + t1 . For a graphical
representation see Figure 3.3.
Integrating the stress across a cross section should give the resulting
forces per unit of length in direction i (N i ):
Ni = ∫
h
2
− h2
σi dz
(3.28)
Similarly the moment (M i ) can be calculated across the laminate thickness as:
h
Mi = ∫
2
− h2
σi z dz
(3.29)
39
326
Mechanics of Composite Materials, Second Edition
1
2
3
h0
h1
h2
h/2
h3
Mid-plane
hk−1
hk
k−1
k
k+1
tk
h/2
z
hn−1
hn
n
FIGURE 4.6
Figure 3.3: Coordinates of the composite’s plies.
Coordinate locations of plies in a laminate.
From Kaw (2005), reproduced with
permission.
loads applied to the laminate are known. This question is answered in the
next section.
Using Equation (3.26) it is possible to rewrite this to:
4.3.4
⎡
⎤
⎢
⎥
⎡
0
⎢
0
⎤
⎡
⎤
⎢
⎥
Force
Related
Midplane
⎢ N x ⎥and nMoment
⎢ εx ⎥
⎢ κ x ⎥ Strains
n
hto
h k Resultants
k
⎢ ε0 ⎥
⎢ ⎥
⎢ Curvatures
⎥
and
⎢ N y ⎥ = ∑ ∫ Q ⎢ y ⎥ dz + ∑ ∫ Q ⎢ κ y ⎥ z dz
(3.30)
⎥
⎥
⎢κ x y ⎥ (4.16) are the
⎢N x y ⎥ strains and ⎢plate
The midplane
⎣γ x y ⎦ curvatures in Equation
⎣ ⎦
⎣
⎦
unknowns for finding the lamina strains and stresses. However, Equation
and similarly:
(4.18)
gives the stresses in each lamina in terms of these unknowns. The
stresses in each lamina can be integrated through the laminate thickness to
⎡ ε0 ⎤ (or applied forces
⎡ κand
⎤
⎡ M x ⎤ forces and moments
give resultant
⎥ n
⎢ x⎥
⎢ x ⎥ moments). The
⎢
n
hk
hk
⎥
⎢
⎥
⎢
⎥ the midplane
⎢
forces and
beQ
known,
ε0y a⎥ laminate
⎥ = ∑ ∫applied
⎢ κ y ⎥ zso2 dz
⎢ M ymoments
Q ⎢ to
z dz + ∑will
(3.31)
∫
⎥
⎢
⎥
⎢
⎥
⎢
strains⎢and plate
curvatures
can
then be k=1
found.
relationship
between
h k−1
h k−1This
0
k=1
⎥
⎥
⎢
⎢
⎥
⎦
⎣γ x y ⎦ strains and curvatures
⎣κ x y ⎦ is developed in
⎣ M x yloads
the applied
and the midplane
this section.
AsConsider
shown in
(Jones, 1999,
(Kaw, 2005,
p. 330-331)
this
a laminate
madep.of197-198)
n plies shown
in Figure
4.6. Each
plycan
hasbe
a
equated to
equations
with sixofunknowns,
which
the thickness
the laminate
h is can be solved:
thickness
of six
tk. Then
k=1
h k−1
k=1
h k−1
Which can be solved.
⎡ N x ⎤ ⎡ A11 A12 A16 ⎤ ⎡ ε0 ⎤ ⎡ B11 B12 B16 ⎤ ⎡ κ x ⎤
⎢
⎥ ⎢
⎥ ⎢h =x ⎥ tk .⎢
⎥⎢ ⎥
(4.19)
⎢
⎥ ⎢
⎥⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ N y ⎥ = ⎢ A12 A22 A26 ⎥ ⎢ ε0y k⎥=1 + ⎢ B12 B22 B26 ⎥ ⎢ κ y ⎥
(3.32)
⎢
⎥ ⎢
⎥⎢ ⎥ ⎢
⎥⎢ ⎥
⎢ N x y ⎥ ⎢A16 A22 A66 ⎥ ⎢γ0x y ⎥ ⎢B16 B22 B66 ⎥ ⎢κ x y ⎥
⎣
⎦ ⎣
⎦⎣ ⎦ ⎣
⎦⎣ ⎦
Then, the location of the midplane0is h/2 from the top or the bottom surface
⎡ M x ⎤ ⎡ B11 B12 B16 ⎤ ⎡ ε ⎤ ⎡ D11 D12 D16 ⎤ ⎡ κ x ⎤
⎢ laminate.
⎥ ⎢ The z-coordinate
⎥ ⎢ ofx each
⎥ ⎢
⎥ ⎢and ⎥bottom) is
of the
⎢
⎥ ⎢
⎥ ⎢ ⎥ ⎢ply k surface (top
⎥⎢ ⎥
M y ⎥ = ⎢ B12 B22 B26 ⎥ ⎢ ε0y ⎥ + ⎢ D12 D22 D26 ⎥ ⎢ κ y ⎥
(3.33)
given⎢ by
⎢
⎥ ⎢
⎥⎢ 0 ⎥ ⎢
⎥⎢ ⎥
⎢ M x y ⎥ ⎢B16 B22 B66 ⎥ ⎢γ x y ⎥ ⎢D16 D22 D66 ⎥ ⎢κ x y ⎥
⎣
⎦ ⎣
⎦⎣ ⎦ ⎣
⎦⎣ ⎦
n
∑
Ply 1:
In which the terms are:
h
(top surface),
2 ), i = 1, 2, 6;
A i j = ∑[Q i j ]k (h k − h k−1
n
k=1
n
h0 = −
1
[Q ]k (h 2k
B i j =Group,
∑LLC
© 2006 by Taylor & Francis
2 k=1 i j
1 n
D i j = ∑[Q i j ]k (h 3k
3 k=1
j = 1, 2, 6
(3.34)
− h2k−1 ),
i = 1, 2, 6;
j = 1, 2, 6
(3.35)
− h3k−1 ),
i = 1, 2, 6;
j = 1, 2, 6
(3.36)
(3.37)
In general the steps to analyze a laminated composite are (Kaw, 2005,
p. 332):
40
1. Find the reduced stiffness matrix Q for each lamina using the
material properties and Equations (3.9) to (3.12).
2. Determine the transformed reduced stiffness matrix using the previous result. This can be done through e.g. (Kaw, 2005, eqn. 2.104,
2.137-2.138).
3. Determine the coordinates of the top and bottom of each ply.
4. Using the results of the previous two steps determine A B D matrices.
5. Use these matrices and applied forces to calculate the strains and
curvatures on the mid-plane using Equations (3.32) and (3.33).
6. Global strains can be found using Equation (3.26).
7. Find associated global stresses using Equation (3.17).
8. Find the local strains using Equation (3.13).
9. Find the local stresses using Equation (3.14).
3.2.5
First order shear theory
First order shear theory deformation theory7 (FSDT) is an expanded
version of the Kirchoff-Love plate theory that allows for transversal stress
and/or strain8 (Carrera et al., 2011a). This means that the kinematic assumptions used in Kirchoff-Love plate theory Equations (3.19) and (3.20)
are transformed to:
u(x, y, z) = u0 (x, y) + zΦ x (x, y)
u(x, y, z) = v0 (x, y) + zΦ y (x, y)
w(x, y, z) = w0 (x, y)
(3.38)
(3.39)
(3.40)
These assumptions are illustrated in Figure 3.4. It is clear that Kirchoff0
Love can be formulated so if it’s stated that: Φ i = ∂w
∂i .
There are many different implementations of composites in FSDT
e.g. (Yu, 2005; Carrera, 1996). A comparison of various implementations
of composite shells can be found in Carrera et al. (2011b). The method
used in TACS is derived in Kennedy (2012, sec. 3.1.1)
41
7. Also known as Mindlin–Reissner
plate theory
8. These were assumed negligible in
Kirchoff-Love plate theory.
P1: TIX/XYZ
JWST092-03
P2: ABC
JWST092-Carrera
44
July 14, 2011
13:1
Printer Name: Yet to Come
CLASSICAL PLATE/SHELL THEORIES
Figure Figure
3.10 3.4:Undeformed
and deformed
geometries
a plate from
according to
Kinematic assumptions
in first order
shear theory,of
reproduced
(Carrera et al., 2011a)
with permission.
the Reissner–Mindlin
hypotheses.
The hypotheses of FSDT are clearly shown in Figure 3.10. The displacement field of FSDT has five unknowns (there were three for CLT): the
midsurface displacements (u 0 , v0 , w0 ) and the rotations of a transverse normal
around the x- and y-axes ( y , x ). In the case of CLT, the rotations coincide
with the derivatives x = −∂w0 /∂ x and y = −∂w0 /∂ y. Only strain zz is
zero, therefore stresses σx z and σ yz are different from zero. Figure 3.11 shows
42
PART II
IMPLEMENTATION OF
AEROELASTIC FRAMEWORK
AEROELASTIC COUPLING AND
MODELING
This chapter describes the aeroelastic coupling and its components. A
general overview of the framework used for this thesis is found in Section 4.1. Section 4.2 discusses the controlling script and its convergence criteria. Section 4.3 briefly discusses the interface with TACS
to pyAeroStruct. An overview of the interface of AeroDyn is given in
Section 4.4. Section 4.5 describes the creation of an interface to AeroDyn,
allowing for aerostructural analysis of wind turbine blades.
4.1
overview of the aerostructural
framework
The aerostructural framework consists of a combination of various different codes. Their relationship is illustrated in Figure 4.1. At the heart
of the framework is pyAeroStruct. This code controls the processes of
the coupled codes. Through a combination of standardized functions,
the structural and aerodynamic solver are instructed in their calculation,
displacements and other measures. For this thesis the coupled codes are
pyTACS and pyAeroDyn. Sections 4.3 and 4.5 discuss these "modules".
They both are Python level function-standardized interfaces for programs written in a lower-level programming language1 . The emphasis
is on pyAeroDyn since that has been written especially for this thesis
by the author. This is why Section 4.6 goes into further details on the
implementations these functions.
4.2
4
pyaerostruct
pyAeroStruct is the aerostructural controlling script developed by the
University of Michigan’s MDOlab. It is designed to do high-fidelity
aerostructural optimization, e.g. Kenway and Martins (2013). It supports
four different aerostructural solvers:
• Non-linear block Gauss-Seidel method (NLBGS)
• Coupled Newton-Krylov method (CNK)
• Linear block Gauss-Seidel (LBGS)
45
1. Lower level programming languages such as C++ and Fortran
have the advantage of being computationally much faster. They have
the disadvantage of being more
difficult to program for than higher
level languages such as Python.
Figure 4.1: Relationship between codes
• Coupled Krylov method (CK)
2. The Non-linear block GaussSeidel method is considered the traditional and intuitive way of solving
an aerostructural problem (Martins
et al., 2005).
All of these methods are described in (Kenway et al., 2012). The results
in this thesis were produced using the Non-Linear block Gauss Seidel
method 2 . This method runs the analyses sequentially, passing the loads
to the structure and passing the deformations to the aerodynamic loads
to the structure until the convergence criteria are met. pyAeroStruct is
built in a modular way. It uses classes for its solvers and uses functions
within a class to, for example, get forces or displacements. This makes
it relatively easy to implement new codes into the pyAeroStruct framework. The functions used for the coupling of AeroDyn are described
in Section 4.5. The relation of pyAeroStruct to TACS and AeroDyn is
shown in figure Figure 4.1.
4.2.1
Convergence of the aeroelastic problem.
The convergence criteria uses three different types of tolerances:
• EA - Aerodynamic tolerance
• ES - Structural tolerance
• EAS - Aerostructural solution tolerance
For convergence EA and ES are in the order of 10−1 and 10−3 , respectively.
EAS is in the range of 10−3 − 10−6 depending on the desired accuracy.
The aerodynamic residual is calculated at the beginning of an iteration.
46
It uses the previous iteration’s structural displacements and aerodynamic
loads3 .
The structural residual is calculated at the beginning of a structural solution using the previous iteration’s deformed shape with the current
step’s force calculation.
pyAeroStruct uses an implementation of Aitken acceleration (Irons and
Tuck, 1969) to vary the numerical damping dynamically. This increases
the speed of convergence, it can have problems with large deformations
and can be manually overwritten.
4.2.2
3. Since AeroDyn uses BEM, which
does not use convergence the residual passed to the aerostructural
solver always equals 0 in the current implementation.
Load and displacement transfer
The coupling between the structure and aerodynamics done by utilizing
two different meshes:
• A structural mesh which is utilized by the FEA solver.
• An aerodynamic4 mesh which is used by the aerodynamic solver
to determine the loads on the structure.
Deformations to the structural mesh are passed to the aerodynamic mesh.
Similarly the loads are transferred using a conservative scheme. The
work is based on the work of Brown (1997). The current implementation
is within TACS and is described in Kennedy (2012, sec. 5.2.2).
4.3
4. In the context of pyAeroDyn, this
will be referred to as intermediate
mesh to make it clear that it’s not a
CFD solver.
pytacs, the tacs-pyaerostruct
interface
TACS is a C++ code. To get a python interface to the C++ code, a wrapper
is created with the use of SWIG5 . To use this code with pyAeroStruct it
was necessary to create an additional interfacing level between TACS
and pyAeroStruct. This level is referred to as pyTACS and it consists of
two files:
pyTACS.py This file contains everything needed to define a linear analysis. This includes load transfer, coordinate transfer etc.
pyTACS_Mesh.py This file contains the configuration of the structural
model. This includes the mesh, material assignments etc.
As part of this project pyTACS_Mesh.py was modified to work with
composite materials. The original implementation only allowed for
isotropic materials.
47
5. SWIG (Simplified Wrapper and
Interface Generator) is an open
source tool that allows users to
generate wrappers around libraries
written in C or C++ with scripting
languages such as Python. Also see
(Beazley, 2003)
4.4
aerodyn interface
This section describes the interface and usage of AeroDyn. AeroDyn is
an implementation of the blade element momentum method used to
calculate the aerodynamic loads for wind turbines. It has been developed
by NREL in Golden, CO. USA and continues to be developed with new
versions coming out regularly.
4.4.1
Wind
The first input to AeroDyn discussed is the wind. There are two types of
wind files: the steady flow at hub height (HH) and full field turbulent
flow (FF).
Hub height steady flow
Steady flow at the hub height (HH) uses data at certain time periods with
intermittent data being interpolated from those points. An example file:
1
2
3
4
5
! S t e a d y wind f i l e
! Time Wind
Wind
!
Speed
Dir
0.0
5
0
630.0
20
0
Vert .
Speed
0
0
Horiz .
Shear
0
0
Vert .
Shear
0
0
LinV
Shear
0
0
Gust
Speed
0
0
Which scales the wind speed linearly from t = 0 to t = 630 from 5 to 20
m/s. As described in (Laino and Hansen, 2002, table 7.2) The data points
allow for a number of changes in the wind including shear, direction and
intensity. The entries can be entered manually using measurement data
or assumptions.They can also be generated using TurbSim, a stochastic
wind flow generator developed by NREL.
Full field dynamic flow
The other method is the full field simulation of wind data. This method
uses a variety of simulation models to generate coherent turbulent structures on a random background turbulence. The methods used by these
models are beyond the scope of this thesis. An interested reader can turn
to B.J. Jonkman (2012); Kelley and Jonkman (2007) for more information
on the methods and their assumptions.
The FF files has wind speed data in a grid shape. The velocity of the
points in the grid is a function of time. AeroDyn interpolates the wind
speed of an element based on the wind speeds of the nearest elements.
To use a FF wind file with AeroDyn the grid must be greater than the
diameter of the turbine. Full field dynamic flow files can be generated
using TurbSim. The options and inputs used by TurbSim can be found
in B.J. Jonkman (2012).
48
4.4.2
Description of a configuration in AeroDyn
The configuration is described through a series of markers. These markers contain the position and orientation relative to the global coordinate
system as well as their first derivative in time. The global coordinate system is defined from the undeformed tower center line with the XY plane
being the ground6 . X points downwind, Y to the left of the positive X direction and Z points up against gravity. Markers are defined in Fortran as:
1 TYPE , PUBLIC
2
REAL ( ReKi )
3
REAL ( ReKi )
4
REAL ( ReKi )
5
REAL ( ReKi )
6 END TYPE Marker
: : Marker
: : Position (3)
: : Orientation (3 ,3)
: : TranslationVel (3)
: : RotationVel (3)
! Direction cosine matrix
! Translational velocity
! Rotational velocity
The orientations are in the form of a rotation matrix from the global coordinate system to the marker’s rotated coordinate system. The rotation
matrix has the inherent property of DDT = I.
4.4.3
Initizalising AeroDyn
The first part in initializing AeroDyn involves reading the AeroDyn
initialization options defined as:
1 TYPE
: : AD_InitOptions
2
CHARACTER ( 1 0 2 4 )
: : ADInputFile
3
CHARACTER ( 1 0 2 4 )
: : OutRootName
4
LOGICAL
: : WrSumFile
5 END TYPE A D _ I n i t O p t i o n s
! Name o f t h e AeroDyn i n p u t f i l e
! Root name o f AeroDyn o u t p u t f i l e s
! W r i t e an AeroDyn summary f i l e ?
The AeroDyn input file defines a number of items such as:
• The use of dynamic inflow, stall, induction factor pitching moment,
tip loss, hub loss models.
• Environmental constants such as air pressure and viscosity.
• Airfoil data names and assignments.
• The length, chord and twist of the airfoil.
Other options include the location to write output files and whether or
not to write a summary file.
Another factor that has to be defined is the undeformed initial configuration. This is defined in the AeroConfig type in AeroDyn. Its
definition is:
1
2
3
4
5
6
7
8
9
10
TYPE , PUBLIC
TYPE ( Marker ) , ALLOCATABLE
REAL ( ReKi )
TYPE ( Marker )
TYPE ( Marker )
TYPE ( Marker )
TYPE ( Marker )
TYPE ( Marker )
TYPE ( Marker )
TYPE ( Marker )
: : AeroConfig
: : Blade ( : )
: : BladeLength
: : Hub
: : RotorFurl
: : Nacelle
: : TailFin
: : Tower
: : Substructure
: : Foundation
49
6. Or water level, in offshore turbines.
11 END TYPE A e r o C o n f i g
The description of the type shows that the initial configuration is defined
by the position and orientation of a number of points on the turbine.
These points are:
Blade The position of the intersection of the blade’s pitch axis and the
blade’s root. The y-axis pointing towards the trailing edge of the
blade and the z-axis pointing towards the tip of the blade.
Bladelength The total length of the undeflected blade from the root to
the tip.
Hub This marker is located in the apex of rotation of the hub and rotates with the hub. It is oriented so that the x-axis is pointing in
what would nominally be the downwind direction and the z-axis
perpendicular to the hub’s centerline with the same azimuth as
the first blade.
RotorFurl The rotorfurl defines the position of the teeter pin for two
blade rotors, or the apex of rotation for three-bladed rotors. It
does not rotate with the rotor but does move with the tower. It
also yaws with the nacelle and furls with the rotor.
Nacelle The nacelle marker is located at the intersection between the
tower’s yaw axis and the yaw bearing. it is oriented with the x-axis
pointing downwind and the z-axis pointing up.
Tailfin This is not currently used in AeroDyn.
Tower The tower marker is fixed to the base of the tower. Its position
is on the intersection of the tower-base centerline and the towerbase connection to the substructure. The orientation is defined
with the x-axis being nominally downwind and the z-axis being
upwards.
Substructure This is not currently used in AeroDyn.
Foundation This is not currently used in AeroDyn.
The last input is an integer referred to as ErrStat. This integer returns
a non-zero ErrStat code if an error occurs during initializing. If the
initialization went correctly ErrStat remains zero.
AD_Init outputs the positions of the markers in the local coordinate
system in the AllAeroMarkers type of format. AeroDyn needs the
markers to be relative to the global coordinate system.
50
to implement control algorithms, or investigate roughness or Reynolds number effects in AeroDyn.
Element
Blade
Element location
(RELM)
Blade root
(Hinge or hub center)
(DR)
Element
Span
Aerodynamic
center
blade node.
Figure 6.1Figure
Sketch4.2:
of Location
the bladeof
element
geometry and nomenclature.
Calculating loads
calculate loads
it isData
necessary
7.0 TheTo
Hub-Height
Wind
File to first set the markers in the AllAeroMarkers
type to the global coordinate system. The AllAeroMarkers type is deIn order to run a simulation using AeroDyn, a wind input file is required. There are 2 types of wind input
fined as:
files. This section will discuss hub-height (HH) wind files. Section 8.0 addresses full-field (FF) turbulence files.
The ,wind
file name
1 TYPE
PUBLIC
: : appears
A l l A eon
r oline
M a r8kof
e rthe
s aerodyn.ipt file. The name can be up to 100 characters long.
2
TYPE ( Marker ) , ALLOCATABLE : : B l a d e ( : , : )
3
TYPE ( Marker ) , ALLOCATABLE : : Hub ( : )
The HH
option
in AeroDyn
is flexible in that :it: allows
parameters to be updated
4 wind file
TYPE
( Marker
) , ALLOCATABLE
R o t oseveral
r F u r l different
(:)
throughout
theTYPE
simulation,
though
5
( Marker
) , re-programming
ALLOCATABLE is required
: : N a cto
e l exercise
l e ( : ) some of these. How to repro6
TYPE ( Marker ) , ALLOCATABLE : : Tower ( : )
7
TYPE ( Marker ) , ALLOCATABLE : : T a i l ( : )
8 END TYPE A l l A e r o M a r k e r s
AeroDyn User’s Guide, Version 12.50
13
The definitions differ slightly from the AeroConfig type.
December 24, 2002
Blade The blade markers now describe the position of the node located
in the center of the blade’s annular element. The location is illustrated in Figure 4.2. The markers are oriented so that the z-axis
is towards the blade’s tip and the y-axis along the chord towards
the trailing edge. The other items are placeholders. The current
version of AeroDyn is only able to calculate the loads on the blades.
The calculation of loads on other components is planned for future
releases of AeroDyn.
The loads
The loads are organized in an AllAeroLoads type. This is defined in
Fortran as:
1 TYPE , PUBLIC : : A l l A e r o L o a d s
2
TYPE ( Load ) , ALLOCATABLE
3
TYPE ( Load ) , ALLOCATABLE
4
TYPE ( Load ) , ALLOCATABLE
5
TYPE ( Load ) , ALLOCATABLE
6
TYPE ( Load ) , ALLOCATABLE
7
TYPE ( Load ) , ALLOCATABLE
8 END TYPE A l l A e r o L o a d s
::
::
::
::
::
::
Blade ( : , : )
Hub ( : )
RotorFurl ( : )
Nacelle ( : )
Tower ( : )
Tail ( : )
In which the Load type is defined as:
1
2
TYPE , PUBLIC : : Load
REAL ( ReKi )
: : Force ( 3 )
51
3
REAL ( ReKi )
4 END TYPE Load
4.5
: : Moment ( 3 )
pyaerodyn, the
aerodyn-pyaerostruct
interface
This section describes the development of a python interface for AeroDyn. Section 4.5.1 describes some of the background behind the development of the wrapper. Section 4.5.2 discusses the relationship between
pieces of codes and how they fit together. It also gives a general overview
of the pyAeroDyn code. Section 4.6 discusses the implementation of
the various functions used by pyAeroStruct and the assumptions made
during their implementation.
4.5.1
Development of wrapper
Since pyAeroStruct is written in Python and AeroDyn in Fortran, it
was necessary to write a wrapper which allows AeroDyn to be used at a
Python level.
7. F2py is a piece of code designed
to generate Python level interfaces
for Fortran code (Peterson, 2009).
8. A derived type is a way to organize data in Fortran 90(+).
It is similar to a data structure
in C and shares some similarities with classes in C++. It can
also be compared to a class in
Python without functionskk.
The easiest and most common method to wrap Fortran to Python
is F2py7 . Compiling a Fortran module with F2py generates a Python
module which can be imported to execute Fortran functions or subroutines. The main hurdle in the development of the AeroDyn wrapper
was the fact that the latest version of F2py does not support derived
types8 (Pletzer et al., 2008). As described in Section 4.4 these are used
extensively in AeroDyn to describe the initial configuration, current
configuration, options and loads.
To get around this problem, a wrapper within a wrapper was written which takes input arrays, strings, integers and scalars and assigns
them into the correct part of a derived type before calling the function.
The derived structure containing the loads is then split off into separate
arrays before being passed back to the python level.
The development of pyAeroDyn had a number of milestones:
1. Get results from AeroDyn (pure Fortran)
2. Make a Fortran function which calls AeroDyn without using derived types as an input.
3. Wrap input functions with F2py
4. Write pyAeroDyn (AeroDyn interface to pyAeroStruct)
52
The history of various iterations and methods of implementation of each
step will not be discussed in this thesis. It instead has a focus on the final
implementation. Needless to say, everything in the final code has been
reprogrammed at least twice.
4.5.2
Structure of pyAeroDyn
AeroDyn is accessed by pyAeroStruct through functions inside pyAeroDyn. These functions call functions in the wrapped python level interface of AeroDyn. pyAeroStruct manages the different processes and
makes the calls to both pyAeroDyn and pyTACS which are then passed
to their wrapped codes.
Overview of functions in pyAeroDyn
During the aerostructural analysis there are a number of functions that
pyAerostruct calls from the aerodynamic solver (pyAeroDyn). The ones
currently implemented in pyAeroDyn are:
Initialization During initialization:
• Options are loaded into memory.
• The intermediate mesh is generated.
• Rotation matrices are generated for blade orientation, shaft
tilt and blade pre-cone.
• Arrays are allocated.
• Initialization markers are calculated.
• AeroDyn is initialized.
Solve During a solve step:
• The time is updated9 .
• Positions, orientations and velocities of each element are
calculated.
• Forces and moments acting on each element are calculated
by AeroDyn.
• Centrifugal forces are added10 .
• The forces in the global reference frame are calculated in
order to calculate the moment generated by the aerodynamic
forces.
getForces The getForces command returns the traction force per node.
It does this by:
• Determining the distance from the aerodynamic center to
the leading and trailing edges.
53
9. AeroDyn only recalculates a
configuration if the time changes.
So even though only steady-state
configurations are analyzed (for this
thesis) it is still necessary to change
the time.
10. The centrifugal forces are implemented as a pseudo-aerodynamic
force. Future work will integrate
these directly into TACS.
• Calculating the forces distribution needed to generate the
necessary moment.
• Compensating for the added net force.
• Apply forces in the element coordinate system.
• Rotating forces to the global reference frame11 .
11. AeroDyn’s forces are in the element coordinate system.
• Returning array with forces per node in the global coordinate
system.
getSurfaceCoordinates This passes an array with all the node coordinates of the intermediate surface.
setSurfaceCoordinates This function changes the coordinates of the
nodes of the intermediate surface.
getSurfaceConnectivity This passes an array of all the elements of the
intermediate mesh. It consists of the nodes which constitute the
element.
writeSurfaceSolutionFile This function parses the current configuration of the aerodynamic mesh to a tecplot mesh file.
The details of these functions can be found in Section 4.6.
Coordinate systems
It is important to distinguish between the different coordinate systems
used in pyAeroDyn. When it’s important to distinguish between the
reference frames, GL, BA or EL may be added in subscript to a vector or
matrix to denote its reference frame.
global coordinate system (GL) defined as being on the ground/mean
water level of the turbine with the x-direction pointing downwind
and the z-direction pointing up. The y-direction pointing in such
a way to create a right-handed Cartesian coordinate system. This
is the coordinate system used by AeroDyn for inputs.
Body attached coordinate system (BA) Used internally in pyAeroDyn.
It rotates with the blade around the hub’s rotational axis and is
pitched with its precone and/or shaft tilt.
Element coordinate system (EL) This is the coordinate system in which
the forces and moments of the elements are defined. The y-direction
points towards the trailing edge. The z-direction points towards
the blade tip. The x-direction is oriented in such a way to generate
a right-handed Cartesian coordinate system.
54
4.6
pyaerodyn functions
This section goes into detail on the methods and procedures behind the
functions in pyAeroDyn. It can be used to understand the pyAeroDyn
code or to simply understand the methods pyAeroDyn uses.
4.6.1
Initialization
Before any calculation can be done it’s necessary to initialize AeroDyn.
This is done automatically when an instance of the pyAeroDyn object12
is created.
Loading of options
12. To understand how pyAeroStruct
operates it is necessary to be familiar with object oriented programming. A good introductory book
available online is Budd (1997).
There are a number of options defined in pyAeroDyn. They have default
values but can be overwritten when an instance of pyAeroDyn is created.
Examples of options in pyAeroDyn are path to AeroDyn input file and
angles for pre-cone and shaft tilt.
Generation of intermediate mesh
As described in Section 4.2 the load and displacement transfer is done
through the use of two separate meshes: the structural mesh and the
intermediate mesh. The intermediate mesh has a pivotal role in pyAeroDyn. It is used to calculate the position, orientation and velocities of
each element as well as providing the surface to apply the traction force.
Figure 4.3 features a plot of the intermediate mesh.
The intermediate mesh is generated using airfoil shape data found in an
input file. The formatting of the input file is based on the formatting of
the AeroDyn input file. The file contains the:
1. Spanwise position of the element’s center.
2. Twist of the element.
3. Spanwise length of an element.
4. Chordlength of the element.
5. Airfoil number (not used).
6. Relative chordwise offset of the blade center13 .
7. Relative position of the aerodynamic center.
pyAeroDyn has been designed to use intermediate meshes which match
up to the AeroDyn elements. This means that only the last two columns
have to be added. The chordwise offset can be set to 0.5 throughout the
blade if the blade doesn’t have any sweep.
55
13. For a 2 m chord blade:
0.5 would have the blade in the
middle of the y-axis
0.25 would have the center of
the blade offset 0.5 m to the ydirection.
Figure 4.3: Plot of the intermediate mesh.
Figure 4.4: The intermediate mesh and the structural mesh
plotted at the same time.
The spatial coordinates of the intermediate mesh have been calculated to give it the same position as the structural mesh. This is illustrated
in Figure 4.4.
Each aerodynamic element is represented by four shell elements.
The intermediate shell’s representation of an aerodynamic element can
be found in Figure 4.5.
Orientation
4
x
7
1
0
5
z
~xloc = R
6
y
3
2
Figure 4.5: Intermittent mesh representation of an aerodynamic element.
X
Y
The undeformed position of nodes 4-5-6-7 is the same as nodes 01-2-3 with the addition of the element length in the z-direction. The
56
m~
! ⇥ (~
! ⇥ ~r)
position of nodes 0-1-2-3 are calculated using the following equations14 :
⎡ −yoff c sin ϕ ⎤
⎥
⎢
⎥
⎢
n0 (LE) = ⎢ −yoff c cos ϕ ⎥
⎥
⎢
⎢ pcenter − Lelem ⎥
⎣
2 ⎦
⎡ taf cos ϕ − (yac − yoff )c sin ϕ ⎤
⎢ 2
⎥
⎢
⎥
n1 (top) = ⎢− t2af sin ϕ + (yac − yoff )c cos ϕ⎥
⎢
⎥
⎢
⎥
pcenter − Lelem
⎣
⎦
2
⎡ (1 − yoff )c sin ϕ ⎤
⎢
⎥
⎢
⎥
n2 (TE) = ⎢(1 − yoff )c cos ϕ⎥
⎢
⎥
⎢ pcenter − Lelem ⎥
⎣
⎦
2
⎡ −taf cos ϕ − (yac − yoff )c sin ϕ⎤
⎢ 2
⎥
⎢
⎥
n3 (bottom) = ⎢ t2af sin ϕ + (yac − yoff )c cos ϕ ⎥
⎢
⎥
⎢
⎥
pcenter − Lelem
⎣
⎦
2
14. In which:
yoff y-direction offset (sweep)
(4.1)
(4.2)
(4.3)
ϕ Twist of element
taf Airfoil thickness (assumed 0.5
m)
c Chord length
pcenter Spanwise position of the
center of the element.
Lelem Length of element.
(4.4)
The parameters are also illustrated graphically in Figure 4.6. The mesh
is stored as an n × 3 array containing the node coordinates and an m × 4
array containing the connectivity of the shell elements15 .
Figure 4.6: Graphical representation of the dimensions used for mesh generation.
Rotation matrices
As described in Section 4.5.2 pyAeroDyn uses multiple coordinate systems. The coordinate system used internally by pyAeroDyn is the blade
attached coordinate system. AeroDyn’s markers have to be passed in
the global coordinate system. This means that the markers have to be
transformed from the local to the global coordinate system.
The position of the origin of the coordinate system can be offset by
adding the hub height of the z-component in the position vector. The
other elements of the marker require a set of rotation matrices to take
the change of orientation into account.
Four different types of rotation are taken into account in pyAeroDyn.
• Blade azimuth angle (θ) (x-rotation)
• Shaft tilt angle (κ) (y-rotation)
57
15. For a mesh of n nodes and m
elements.
• Precone angle (ψ) (y-rotation)
• Pitch angle (ξ) (z-rotation)
To get the rotation applied correctly the rotations are applied in the
following order:
R = Rκ Rθ Rψ R ξ
(4.5)
16. In which s i and c j are shorthand
for sin i and cos j.
Fully written out this equals16 :
⎡ cos κ 0 sin κ ⎤ ⎡ 1
0
0 ⎤⎥ ⎡⎢ cos ψ 0 sin ψ ⎤⎥ ⎡⎢cos ξ − sin ξ 0⎤⎥
⎢
⎥⎢
⎥⎢
⎥
⎢
⎥⎢
⎥⎢
1
0 ⎥ ⎢0 cos θ sin θ ⎥ ⎢ 0
1
0 ⎥ ⎢ sin ξ cos ξ 0⎥
R =⎢ 0
⎢
⎥⎢
⎥⎢
⎥⎢
⎥
⎢− sin κ 0 cos κ ⎥ ⎢0 − sin θ cos θ ⎥ ⎢− sin ψ 0 cos ψ ⎥ ⎢ 0
0
1 ⎥⎦
⎣
⎦⎣
⎦⎣
⎦⎣
⎡ s ξ (cκ cψ − cθ sκ sψ )cθ sκ sψ
−s ξ (cκ cψ − cθ sκ sψ ) − c ξ sκ sθ cκ sψ − cψ cθ sκ ⎤⎥
⎢
⎢
⎥
cθ s ξ
cθ c ξ + sψ sθ s ξ
cψ sθ
⎥
=⎢
⎢
⎥
⎢−c ξ (cψ sκ + cκ cθ sψ ) − cκ sθ s ξ s ξ (cψ sκ + cκ cθ sψ ) − cκ c ξ sθ −sκ sψ − cκ cψ cθ ⎥
⎣
⎦
(4.6)
This matrix will be used in future sections to switch reference frames.
Allocation of arrays
During initialization, a number of arrays are used during load solving.
These are assigned during initialization because they only have to be
allocated once.
Initialization markers
During initialization it is necessary to pass the entries of an aeroconfig
type to AeroDyn (Section 4.4.3). Some of these entries are determined
by the options set during initialization, others are calculated using data
from input files. As an example, the position of the blade’s root is calculated as the mean position of four blade root nodes and rotated using
the rotation matrix R Equation (4.6).
Initialization of AeroDyn
During the final part of initialization the AeroDyn initialization function
is run. This loads certain positions such as the blade root and hub
position into AeroDyn’s memory. It also causes AeroDyn to read the
AeroDyn input file and the corresponding wind input file. Once this
has been done pyAeroDyn is fully initialized and ready to perform load
calculations.
4.6.2
Solving loads for a given configuration
Before node forces can be calculated it’s necessary to first calculate the
forces per aerodynamic element.
58
Time update
The first step is to update the time17 . pyAeroDyn is set up to automatically
increase the analysis time by 0.025 s per solving iteration.
Marker calculation
17. This is necessary even for nontransient analyses because AeroDyn
does not recalculate loads unless
the time has changed.
Orientation
In order to calculate the forces and moment on an element AeroDyn
needs to know the following properties of each element:
4
x
1
0
• Position
3
• Orientation
7
5
z
~xloc = R
6
y
2
X
Figure 4.7: Nodes of a sample element (repeatedY from Figure 4.5).
• Translational velocity
• Rotational velocity
m~
! ⇥ (~
! ⇥ ~r)
These are calculated from the node positions of the intermediate mesh
at every calculation. This means that mesh deformations are taken into
account making this a coupled analysis.
The position is calculated using the average position of the aerodynamic center nodes18 . This position is then premultiplied with the
rotation matrix R defined in Equation (4.6).
The orientation are defined in AeroDyn as a rotation matrix19 :
18. Nodes 1, 3, 5 & 7 in Figure 4.5.
19. In which:
xel The element attached coordinate system.
xel = DGL→EL xgl
This is also described in Section 4.4.2. The rotation matrix is created
by first calculating the element to body attached rotation matrix and
premultiplying the projected vectors with the body attached to global
coordinate system matrix R Equation (4.6). The orientation matrix is
calculated by calculating the directions of the element coordinate system
and creating a transformation matrix. Using the element illustrated in
Figure 4.5 as an example:
D Element orientation matrix.
xgl The global coordinate system.
1. Direction vector y is calculated as y = n0 − n2 + n4 − n6
2. Direction vector is normalized to unit length y =
y
∣y∣
3. x∗20 is determined through x∗ = n1 − n3 + n5 − n7
4. Direction vector is normalized to unit length x∗ =
20. x∗ direction is used here. This is
because this is only x if x∗ and y are
perpendicular to each other. This is
true for the undeformed state, but
not necessarily for a deformed state.
Also see Section 4.4.2.
x∗
∣x∗ ∣
5. The z-direction is determined with z = x∗ × y
6. Direction vector is normalized to unit length21 z =
z
∣z∣
21. To take into account the case of
x ≠ x∗
7. x is calculated as x = y × z
59
8. Orientation matrix is assembled as:
DGL→EL = R [x y z]
(4.7)
The body attached to element orientation matrix is also assembled
as:
DBA→EL = [x y z]
(4.8)
The translational velocities of the element are calculated by first
calculating the in plane (γ) and out of plane (υ) deflection angle of the
blade. This is done by calculating tan−1 of the components of the element
position:
pel,y
γ = − tan−1
(4.9)
pel,z
pel,x
υ = tan−1
(4.10)
pel,z
These angles are used to take the deformation into account while calculating the translational velocity of the elements. The velocity components
are first calculated in the body-fixed coordinate system:
⎤
⎡
0
⎢
⎥
⎢
⎥
vBF = ⎢−Ω∣pt,el ∣ cos(ψ + υ) cos(θ + γ)⎥
(4.11)
⎢
⎥
⎢ −Ω∣pt,el ∣ cos(ψ + υ) sin(θ + γ) ⎥
⎣
⎦
These results are then rotated to compensate for the shaft tilt angle:
vt,GL = Rκ vt,BF
(4.12)
The Rotational velocity is taken as:
vr,GL = R [Ω 0 0]
(4.13)
Calculating forces and moments
These markers are passed to AeroDyn, which returns the forces and
moments of each element in the element coordinate system. Optionally,
an additional pseudo-centrifugal force can be added. As is derived from
many mechanics textbooks, e.g. Rixen (2011); Lanczos (1970),Landau
and Lifshitz (1982, p. 39) and Taylor (2005, p. 344-348) the centrifugal
forces are implemented as:
fcfgl = −mΩ × (Ω × r)
22. In which mel is the mass per
unit length of the element.
(4.14)
This force is calculated as22 :
⎡ ⎤
⎡Ω⎤
⎢ ⎥ ⎛⎢ Ω ⎥
⎞
⎢ ⎥
⎢ ⎥
fcfgl = −mel cos(ψ + γel ) ⎢ 0 ⎥ × ⎜⎢ 0 ⎥ × pel,BA ⎟
(4.15)
⎢ ⎥ ⎝⎢ ⎥
⎠
⎢0⎥
⎢0⎥
⎣ ⎦
⎣ ⎦
The cos term is added to take into account the effect of the pre-cone angle
on the amplitude of the force. These forces are in the body-attached
reference frame, which is the same reference frame used to apply forces
to the structure.
60
Calculate blade moment
In order to calculate the moment acting on the blade it’s necessary to
transform the force results to the body-attached reference frame.
fBA = DTBA→EL fel
(4.16)
These forces are then used to calculate the moment on the blade with
the equation:
nelem−1
t = ∑ cos(ψ + υel )pel,BA × fBA
0
(4.17)
The moment acting on the shaft of the turbine is then calculated as23 :
tshaft = t ● nshaft
(4.18)
23. In which nshaft is the direction
vector of the shaft. For a shaft withT
out tilt nshaft = [1 0 0] .
Node force retrieval
AeroDyn calculates the forces and moments acting on an aerodynamic
element. Forces are applied to TACS as a traction on the intermediate
mesh and transfered to the structural mesh. This section describes the
method used to calculate the traction forces to correspond to the force
and moment24 results calculated by AeroDyn. The method used is similar to that of Berg et al. (2011), though that work uses forces on nodes
instead of traction forces. In the explanation of the method, the airfoil is
often illustrated in 1D. This is for the sake of simplicity. The actual loads
are applied on the 3D intermediate mesh.
AeroDyn’s force and moment results are one dimensional. The loads
on the intermediate mesh are applied as a three dimensional traction
force. The addition of two more dimensions allows for an infinite amount
of traction distributions which when summed equal AeroDyn’s force
and load results. For the sake of simplicity a linear force distribution is
assumed25 .
When applying a force or moment to a structure it is easy to introduce
an unintended moment or force. These have to be corrected during the
process in order to correctly transfer loads to the structure. The process
used in pyAeroDyn is:
1. Determine distances of the leading and trailing edges to the aerodynamic center.
2. Calculate the moment that the mean traction force generates and
correct the moment term of the AeroDyn results to correct this.
3. Calculate the traction force distribution used to generate moment.
4. Calculate and correct for the generated mean traction force added
in the previous step without adding any additional moment.
61
24. Only the moment acting in the
z-direction is applied, moments
acting in other directions are negligeble.
25. There was discussion of using
e.g. xfoil to come up with a better
pressure distribution along the
chord. This was decided against as
it would take too much time and
there are plans to add CFD in the
future to get these results.
Figure 4.8: Process used to determine the traction forces applied to the nodes.
This process is illustrated in Figure 4.8 and further elaborated in the rest
of this section.
The first step taken is to calculate the distance from the aerodynamic
center (where the moment is applied) to the leading and trailing edge.
The distance is calculated using a vector equation derived in Weisstein
(2013). Using this method the shortest distance d between a point x0
and a line defined by two x1 and x2 can be found as:
d=
26. R and T are used to distinguish between the root-side and
the blade tip-side of the element.
∣(x2 − x1 ) × (x1 − x0 )∣2
∣x2 − x1 ∣2
(4.19)
This method is used on the intermediate mesh to find the shortest
distance from the edge nodes to the line between the aerodynamic
center’s nodes. For the element shown in Figure 4.5 this would be26 :
∣(n3 − n1 ) × (n1 − n0 )∣2
∣n3 − n1 ∣1
∣(n3 − n1 ) × (n1 − n2 )∣2
dTE,R =
∣n3 − n1 ∣1
∣(n7 − n5 ) × (n5 − n4 )∣2
dLE,T =
∣n7 − n5 ∣1
∣(n7 − n5 ) × (n5 − n6 )∣2
dLE,R =
∣n7 − n5 ∣1
dLE,R =
(4.20)
(4.21)
(4.22)
(4.23)
For the undeformed configuration the root and trailing edge distance is
the same. They are calculated separately to allow for variations in the
traction force application for chord-wise deformation.
fmean,x
AC
Figure 4.9: Distribution
of mean traction force
along the chord direction.
62
When applying a pure and equal traction force on an airfoil in the
chordwise direction (as shown in Figure 4.9) there will be an additional
moment applied at the same time (unless the aerodynamic center is in
the middle of the airfoil). This moment can be derived as:
Mmtr = fmean,x (
2
dLE
d2
− TE )
2
2
(4.24)
getForces
This moment is subtracted from the AeroDyn calculated moment in
order to neutralize it.
With the distance from the aerodynamic center to the edges calculated, and the element moment corrected for the mean traction force it’s
possible to calculate the force offset necessary to generate the moment.
The traction forces are applied on the nodes and are automatically linearly interpolated between the nodes. This means that the contributed
force distribution on the blade will look similar to Figure 4.10.
The force distribution can be described mathematically as:
fi = −
y
fm,i
di
(4.25)
•
Amount of force offset for LE/TE nodes
Fm,i =
fm,�
AC
fm,�
Figure 4.10: Distribution of traction
http://mathworld.wolfram.com/Point-LineDistance3-Dim
force
to generate the moment along
the chord direction.
The moment of the aerodynamic center to either edge is the M2 . The net
force fm,i,x caused by the moment force distribution can easily derived
as:
M
=
y f i,x dy
2 ∫
d i y2
d2
fm,i,x dy = − i fm,i,x
=∫
di
3
0
3
→ fm,i = − 2 M
2d i
(4.26)
(4.27)
(4.28)
The net traction force acting on a cross section of an element in the
y-direction is:
dLE fLE,x dTE fTE,x
f M,y =
−
(4.29)
2
2
This only equals zero if dLE = dTE , which is equivalent to having the
aerodynamic center in the center of the blade.
The final step in the node force calculation is to compensate for the
net-force applied Equation (4.29). For the limited force distribution
that’s possible with the limited amount of nodes in the intermediate
mesh, there’s a unique solution to apply the correcting force without
applying a moment27 . By stating that:
2
dLE
d2
− fmc,2 TE = 0
2
2
dLE
dTE
− fmc,2
= fmc,1
2
2
∑ M = fmc,1
f M,y
(4.30)
(4.31)
63
27. This method is not used for all
forces. It would mean that no force
acts on the aerodynamic center. It
would also cause a large amount of
the force acts on the edge.
It can easily be derived that:
23
getForces
•
fm,1 =
Amount of force offset for LE/TE nodes
Fm,i =
~
3M
2di
fm,2 =
2 f M,y
d2
LE
dLE + dTE
2 f M,y
dTE +
2
dTE
dLE
(4.32)
(4.33)
di^2
fmc,�
AC
fmc,�
Figure 4.11: Distribution
of traction force to correct
force introduced by moment,
along the chord direction.
The approximate shape of this corrective force is shown in Figure 4.11.
With the forces known they can be applied to to the nodes. The approximate shape of this distribution is shown in Figure 4.12. For the nodes at
the root section of Figure 4.5 they are calculated as:
http://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html
⎡ fm,1 ⎤ ⎡ fmc,1 ⎤
⎢ ⎥ ⎢
⎥
⎥
⎢ ⎥ ⎢
fn0,EL = fmean − ⎢ 0 ⎥ + ⎢ 0 ⎥
⎥
⎢ ⎥ ⎢
⎢ 0 ⎥ ⎢ 0 ⎥
⎦
⎣ ⎦ ⎣
fn1,EL = fmean
⎡ fm,2 ⎤ ⎡ fmc,2 ⎤
⎢ ⎥ ⎢
⎥
⎢ ⎥ ⎢
⎥
fn2,EL = fmean + ⎢ 0 ⎥ + ⎢ 0 ⎥
⎢ ⎥ ⎢
⎥
⎢ 0 ⎥ ⎢ 0 ⎥
⎣ ⎦ ⎣
⎦
fn3,EL = fmean
(4.34)
(4.35)
(4.36)
(4.37)
The final step is to rotate these forces to the body attached reference frame
(used by TACS). This is done by simply rotating it with Equation (4.8):
T
fn,BA = DBA→EL
fn,EL
AC
Figure 4.12: Distribution
of total traction force
along the chord direction.
(4.38)
At the end of the getForces funtion AeroDyn returns an n × 3 array with
a list of the forces on all n nodes.
Mesh interface with pyAeroStruct
It’s vital that pyAeroStruct can read the mesh and pass any deformations
to the mesh back to pyAeroStruct. These functions are implemented
with three different functions.
28. In which n is the number of
nodes in the mesh.
getSurfaceCoordinates This function passes28 an n × 3 array back to
pyAerostruct.
29. In which m is the number of elements in the mesh.
getSurfaceConnectivity This function passes29 an m × 4 array back
with the connectivity of the elements. The numbers in the array correspond to the order in which the nodes are listed in the
getSurfaceCoordinates function.
setSurfaceCoordinates During an aerostructural analysis the mesh
will be deformed. To get the deformations passed into pyAeroDyn
(and thereby changing the inputs of AeroDyn) an n × 3 array
can be passed in with this function which updates all the node
coordinates in pyAeroDyn.
64
Figure 4.13: Process used to create the structural mesh.
Output intermediate mesh to file
The last function built into pyAeroDyn is a function which parses the
current (deformed) intermediate mesh to file. The file is parsed in a
tecplot mesh format (Tecplot, 2008) which can be loaded in a compatible
viewer.
4.7
modeling an aeroelastic
problem
In order to run an aeroelastic analysis it’s necessary to first model the
structure and aerodynamics. This section describes the modeling procedure normally used within the MDOlab as well as the modeling procedure used in Chapter 5.
Modeling of structure
Most of the work done by the MDOlab is related to aircraft configurations. The lab has developed a number of tools to ease the modeling
of wings for aeroelastic analysis and optimization. From the structural
side TACS uses a NASTRAN input file for the mesh generation. It also
supports families30 which allow for different constitutive objects to be
assigned to areas of the mesh. This means that it’s possible to assign different material properties to each family of the mesh31 . The relationship
of these codes, as well as the method used in Chapter 5, is shown in 4.13
The first step used to create a mesh is using pyGeo to get the outer
geometry of the airfoil defined. pyGeo takes a number of airfoil shapes
at specified points and interpolates the surface between these points.
This results in an IGES file which has the outer geometry of an airfoil.
The MDOlab then normally uses pyLayoutGeo to add spars, stringers
65
30. A family in this context is a
grouping of elements.
31. It’s important to note that material assignments in the .bdf file
are not used. These are assigned to
TACS directly.
32. .tin files are that native geometry format used by ICEM
33. The main focus of the MDOlab’s
structural optimization lies in
the wingbox. The trailing edge
of an aircraft has limited structural contribution to stiffness.
Wind turbine blades tend to
be thicker and don’t have control surfaces at the trailing edge.
34. A mesh generation tool developed by ANSYS.
and ribs to the airfoil and export it to a .tin file32 . pyLayoutGeo is of
limited use for wind turbine blades. Its current implementation does
not model the trailing edge of an airfoil33 . This is a problem with the
projection method used by pyLayoutGeo. The current work-around is
to model the spars and surface splits in CAD (PTC Creo Parametric).
Creo Parametric has built-in linking with ICEM allowing the modeler
to assign families within the CAD environment. This makes it easier to
make minor changes to the geometry without having to reassign these
within ICEM.
Both techniques have a .tin output file that is used by ICEM CFD34 .
The mesh has to be generated as an all-quad mesh because TACS does
not support other types of shell elements.
The material assignment is done during the aeroelastic analysis’ initialization script. More details on the MDOlab’s approach to structural
meshing can be found in Kenway (2013, sec. 2.1.2) and Kenway et al.
(2010).
Modeling of the aerodynamics
There are a number of inputs to the aerodynamic solver. They are:
AeroDyn input file This is the input file used by AeroDyn.
Wind input file The wind input file which is referenced by the AeroDyn
input file.
ADcfg.py Contains some options used by the aerodynamic solver such
as rotational speed.
adata Specifies a number of geometrical points which are used when
generating the intermediate mesh. The layout is very similar to
the AeroDyn input file.
The AeroDyn input file specifies a number of options and variables used
during the analysis. This includes:
• Usage of dynamic stall, dynamic inflow, tip loss, etc. models.
• Filename of wind input file.
• Air density and viscocity.
• Airfoil table names.
• Element positions, lengths and airfoil types.
66
More details on the wind input file can be found in Laino and Hansen
(2002, ch. 6.0). The choice of the element distribution and shape has to
be done strategically since this directly affects the performance characteristics of the turbine blade. The filename of the AeroDyn input file is
one of the initialization options when initializing pyAeroDyn.
The wind input file is loaded by AeroDyn during its initialization. It
is used to determine the wind velocity of a given point during calculation. More information on the different kinds of files can be found in
Section 4.4.1 or Kelley and Jonkman (2007); B.J. Jonkman (2012).
The previous two files are used directly by AeroDyn. In addition to
these pyAeroDyn also uses an input file. This file specifies points which
are used later in the analysis to specify the markers or forces. They are:
Numbl The number of blades used in the analysis.
Nelem The number of elements in one blade.
Hh The hub height [m]
Hubradius The radius of the hub [m]
Bladelength The length of a blade (root-to-tip) [m]
Ω The rotational speed of the blade [rad/s]
Adata The adata file is loaded into an array.
The adata file contains a parsed array with the geometry used to
create the intermediate mesh (Section 4.6.1). The points in the adata file
are in the same order as files generated using NuMAD (Berg and Resor,
2012). This is because pyAeroDyn was developed with a test model
generated in NuMAD in mind. It also contains the mass of each element
per unit length [kg/m].
67
VERIFICATION OF DEVELOPED
CODE
This chapter discusses the results of verification done on the aeroelastic
code developed. Section 5.1 starts off by doing a simple verification to a
composite plate using ANSYS as a reference. This is done because prior
to this project, the constitutive object had never been used from the
Python level, and never with multi-lamina composites.
Section 5.2 discusses the choice of the model used to verify the aeroelastic
code and how it was created. The results of the aeroelastic analysis are
presented in Section 5.3.
5.1
verification of composite plate
Since multi-lamina composites are a new feature in pyTACS, a short
verification study was done using ANSYS as a baseline. The verification
of the composite constitutive objects is done by modeling a 2x2 m plate
with a varying core material thickness and mesh refinement1 . The model
uses four layers of orthotropic lamina in a [45/-45]s orientation. The
properties of the lamina can be found in Table 5.4.
A 1 kPa pressure is applied on the surface of the plate. The maximum
deformation is then measured and compared.
5.1.1
5
Results
The max. deformation results are found in Table 5.2. The values are very
close to each other. When the relative error is calculated and plotted it
is clear that the values converge when the mesh gets finer (Figure 5.2).
This indicates that they tend to converge to the same exact solution.
Thickness
[mm]
10 mm
20 mm
40 mm
TACS
16 × 16 32 × 32
795.9
797.2
100.1
100.3
12.7
12.7
64 × 64
798
100.3
12.7
ANSYS
16 × 16 32 × 32
798.4
798.5
100.4
100.4
12.7
12.7
64 × 64
798.6
100.4
12.7
1. 10-20-40 mm and 16x16-32x3264x64 mesh sizes.
E1
E2
G12
G13
G23
ν
ρ
70
70
4.5
4.5
3.2
0.3
2810
GPa
GPa
GPa
GPa
GPa
kg/m3
Table 5.1: Material properties of the
orthotropic lamina.
Figure 5.1: Deformation result of
the 10 mm plate with a 16x16 mesh.
Table 5.2: Deformation results for the composite plate test case [mm].
69
0.4
10 mm
20 mm
40 mm
0.35
% difference
0.3
0.25
0.2
0.15
0.1
0.05
15
20
25
30
35
40
45
50
55
60
65
Figure 5.2: Relative error between TACS and ANSYS for test case.
5.2
turbine model used for
verification
The verification is an essential final step in the development of the
aerostructural code. It compares the developed model with existing
matured models.
5.2.1
Choice of model
There aren’t a lot of detailed turbine blade models publicly available. The
only production blade that has publicly available steady-state data is from
an old report (Hand et al., 2001) of a wind turbine test done by NREL
at NASA Ames. This blade is relatively small and very stiff, making it a
poor candidate for aeroelastic code verification. The lack of suitable data
means that the choice was made to do pure model-to-model verification.
The most popular reference model used in academia and other noncommercial wind energy research centers is the NREL 5 MW blade
(Jonkman et al., 2009). The structural properties of which are based on
the LM-Glassfiber LMH64-5. The sectional blade properties are published by ECN as part of the DOWEC project (Lindenburg, 2002). The
ECN report only mentions sectional properties of the LMH-64-5 blade,
as the composite layup is proprietary information.
Sandia National Lab has reverse engineered a shell-model based on
70
the NREL 5 MW (Resor, 2013). This model’s composite layout is based
on a reference turbine (Nijssen et al., 2007) and the 10 MW reference
turbine also designed by Griffith and Ashwill (2011).
The Sandia 5 MW model is created by optimizing the blade to correspond with the mass and stiffness distribution of the NREL 5 MW blade,
as well as the total mass. Their blade is modeled using NuMAD (Berg
and Resor, 2012) which allows for direct export to ANSYS2 or FAST.
The widespread use of the NREL 5 MW turbine means that it’s very
likely that the Sandia 5 MW turbine will see a lot of future use in higher
fidelity aeroelastic modeling. The fact that it’s designed to give the same
performance as the NREL 5 MW blade means that it’s possible to use
existing codes to verify the results of the aeroelastic analysis. Because
of this, the choice was made to base the model on the Sandia 5 MW
reference turbine and compare the results with those of the NREL 5 MW
report.
5.2.2
Creation of model
Despite the fact that the model has an ANSYS output option, it was not
possible to simply remesh the output model to an all quad mesh3 . To get
the geometry for the mesher the entire blade was remodeled with the
procedure described in Section 4.7.
The only difference between the Sandia model and the model used
in TACS is the use of a straight spar. Spars used in wind turbines are not
twisted. The spar in the NuMAD model is twisted due to limitations in
the NuMAD. The blade design should not be sensitive to this change4 .
5.2.3
Mesh refinement
The constitutive relationships which govern structural elements can create discretization errors if the elements are too large. To make sure that
the discretization errors aren’t too large a number of simulations are run.
The simulations compare the maximum deformation using fixed aerodynamic loads5 . The results are shown in Figure 5.3. Using these results
a mesh size of 30 532 was selected for Section 5.3’s results. The choice for
this mesh size was a compromise of accuracy and computational time.
5.2.4
2. The ANSYS linking is one-way.
This means that there is no way to
do aeroelastic analysis or couple the
FAST results to ANSYS.
Mass comparison
The simplest form of comparison is the mass. Table 5.3 shows a comparison of the NREL data, ANSYS model, and TACS models.
The mass is around 2.6% percent less than that of the NuMAD model
on which it’s based. This is most likely due to small differences caused by
remodeling the blade, such as using straight spars instead of twisted etc.
71
3. The mesher had trouble with the
messy geometry.
4. Personal correspondance with
Brian Resor of Sandia National
Labs.
5. The loads are fixed by freezing
the loads to those of the first iteration (undeformed). This is implemented by fixing the timestep at
for AeroDyn. AeroDyn does not
recalculate the loads unless there’s a
progression in time.
17
16
15
14
13
12
11
10
9
0
10
20
30
40
50
Amount of elements (thousands)
60
70
Figure 5.3: Deformation results for a variety of mesh sizes.
Mass [kg]
One blade
NREL FAST
17 740 16 878
ANSYS TACS
17 700
17 249
Table 5.3: Mass calculation results, ANSYS and FAST models are NuMAD model
results.
5.2.5
Span [m]
1.5-4.2
4.2-7
7-9.7
9.7-13.8
13.8-17.9
17.9-22
22-26.1
26.1-30.2
30.2-34.3
34.3-38.4
38.4-42.5
42.5-46.6
46.6-50.7
50.7-54.8
54.8-57.53
57.5-60.3
60.3-63
mass [kg/m]
741.8
604.48
406.74
409.5
362.93
337.83
320.58
294.64
262.3
234.1
192.44
160.47
134.25
103.51
86.15
66.32
40.62
Table 5.4: Mass properties per element
Mass distribution
The current implementation of the centrifugal forces applies them as a
pseudo-aerodynamic force. This means that the mass properties of each
aerodynamic element have to be set as an input to pyAeroDyn. The mass
distribution of the original NREL blade is shown in Jonkman et al. (2009,
tab. 2-1). The mass has been plotted and fitted to a function in MATLAB
shown in figure Figure 5.4. The fitted function is then integrated along
the span of an element. The resulting mass properties are shown in
Table 5.4.
5.3
results of turbine blade model
This section compares the results of the developed aeroelastic model
with the NREL 5 MW data as well as data computed with the Sandia
model using FAST. The FAST model has a controller implemented which
varies the rotational speed and pitch to achieve a set power curve (Ashuri,
2012). The current implementation of the framework does not include
rotational speed and pitch control.
72
800
Fit curve
Data point
700
Relative mass (kg/m)
600
500
400
300
200
100
0
10
0
20
30
40
50
60
70
Distance from hub (m)
Figure 5.4: Mass distribution along the span of the blade with interpolation.
bC
rS
6000
bC
rS
bC
5000
rS
rS
rS
rS
rS
rS
rS
rS
rS
rS
rS
rS
rS
bC
bC
4000
TACS
FAST
rS
bC
3000
Power [kW]
rS
rS
bC
rS
2000
bC
bC
bC
rS
bC
bCrS
1000
bC
bC
rS
bC
bC
rSbC
0
bCrS
rS
bC
bC
bC
−1000
bC
bC
bC
−2000
−3000
bC
0
5
10
15
20
25
Wind speed [m/s]
Figure 5.5: Power curve with FAST control settings.
Figure 5.6: Effect of blade pitch to the power coefficient as a function of the tip speed ratio. From http:
//www.mathworks.com/help/physmod/powersys/
ref/windturbine.html
Figure 5.5 shows the power curve of the FAST and TACS models. The
plot uses the rotational speed and pitch settings of the FAST simulation6 .
The plot shows that the power is slightly increased below the rated
wind speed (11.4 m/s). The power drops after reaching its peak at the
rated wind speed. To understand what’s happening it’s first necessary to
73
6. The moment per blade is calculated using Equation (4.18).
The power output is calculated
as P = 3tshaft ω.
get an understanding of the effect that pitch has on the power output of
a wind turbine.
Figure 5.6 shows how the pitch of the blade shifts the power curve.
For lower wind speeds the power is increased with pitch. For higher
wind speeds the power output is decreased. In some cases the power
coefficient even becomes negative7
7. This physically means that the
moment acting on the blade is
opposite to the rotation of the
blade. This would cause the blade
to slow down its rotational speed.
8. In real turbines the power
output is only controlled with
pitch above the rated wind speed.
bC
rS
The results indicate that the blade has less torsional stiffness than
the blade modeled by NuMAD. To confirm this the blade is "tuned" to
the performance curve of the FAST model using only the pitch control8 .
The power curve and the blade pitch angles are shown in Figures 5.7
and 5.8.
6000
25
bC
rS
Power [kW]
Blade pitch [deg]
3000
bC
bC
rS
bC
rS
bC
bC
bC
2000
bC
rSbC
0
rS
bC
bC
rS
5
rS
rS
bC
rS
rS
rS
10
ldrS
ldrS
ldrS
bC
bC
bC
ldrSbC
1000
bC
bC
ldrS
bC
bC
ldrSbC
ldrSbC
ldrS
bC
bC
bC
bC
bC
bC
bC
−2000
bC
bC
bC
bC
ldrS
bC
−1000
bC
bC
ldrS
TACS
FAST
TACS ”tuned”
ldrS
0
bC
rS
ldrS
bC
rS
0
bC
ldrS
bC
5
ldrS
ldrS
bC
bC
rS
rS
ldrS
ldrS
bC
bC
rS
15
10
ldrS
ldrS
bC
bC
4000
rS
rS
rS
ldrS
ldrS
ldrS
rS
TACS
FAST
20
bC
5000
rS
ldrS
rSld
rS
rS
bC
rS
15
20
Wind speed [m/s]
25
−3000
0
5
10
15
20
25
Wind speed [m/s]
Figure 5.7: Pitch angle setting
of "tuned" TACS vs FAST

controlled model.
Figure 5.8: Power output of "tuned" TACS compared to
other models.
The results show that for very low wind speeds there is no pitch. The
pitch is increased and slowly decreased at the nominal rated wind speed.
This is because the nominal maximum C p has a fairly small gradient.
Small changes in the pitch have less of an effect on the performance than
at other wind speeds.
A major source of error is the lack of blade twist degrees of freedom
in FAST (Jonkman, 2013). The forces acting on the blade are very sensitive to even small changes in the angle of attack. A change in the angle
of attack caused by twist will significantly alter the dynamic performance.
Another possible source of errors is the calculation of the structural
properties. NuMAD uses PreComp (Gunjit, 2005) to calculate the equivalent beam properties. Research done by Chen et al. (2010) shows that
the stiffness properties calculated by PreComp have an error of up to
300%. The paper’s conclusion states:
74
Because of the poor, and inconsistent performance of PreComp, FAROB,
and CROSTAB for simple cross-sections, their applicability to real complex,
composite wind turbine blades is questionable.
The limited reliability of PreComp combined with the lack of twist degrees of freedom make the FAST results computed somewhat questionable. It likely means that the aeroelastic solution computed with TACS
is more realistic. To answer this definitively further validation has to be
done. The lack of test results suitable for model validation may necessitate wind tunnel tests. Such tests are out of the scope of this thesis.
Other factors which can have an effect:
Geometrical differences The blade was manually modeled to fit the
geometry of the NuMAD blade (Resor, 2013). It’s possible that
these things have an affect.
Differences in fidelity The FAST model uses beam data as an input.
The structural model used by FAST is not designed to handle
anisotropic materials. The structure is modeled as isotropic9 .
Dynamic effects The current model does have dynamic effects. The current implementation also does not take the tower shadow effects
into account. These create an oscillation in the forces on the blade
every time the blade passes in front of the tower. Other effects
such as gyroscopic forces should not have an effect for steady-state
cases. Gravitational forces should not have much effect for steady
state performance analysis. The modeled blade should not have
significant edgewise bend-twist coupling.
5.3.1
Displacement results
The deformation results given as an output by FAST are of a one dimensional model. The only output FAST gives are in the in-plane (y) and
out-of-plane (x) deflection. The structural twists is not an output in
FAST.
Comparing the FAST output to the TACS output for the 11 m/s load
case it is apparent that the flapwise stiffness in the TACS model is higher.
The deflection is 0.7 m compared to the 3.13 m of the FAST model. The
edgewise stiffness seems to be similar, 0.3 in TACS vs 0.24 in FAST. The
results are summarized in Table 5.5.
The lack of twist output makes it hard to directly compare the torsion.
From the results of Section 5.3 it can be assumed that the FAST model
is torsionally stiffer. The significant differences in deflection warrant
further research into verification and validation.
75
9. The model used has a constant
fiber orientation in the spanwise
direction. This should result in
limited bend-twist coupling.
FAST
TACS
u0
3.13 m
0.7 m
v0
0.3 m
0.24 m
w0
9 mm
rx
0.4 °
ry
1.3°
rz
2.4 °
Table 5.5: Deflection and twist of the blade at 11 m/s wind conditions FAST vs
"tuned" TACS.
Plots of the tuned 11 m/s load case deflected structure can be found
in Figures 5.9 to 5.14.
Figure 5.9: x-direction deflection [m].
Figure 5.10: y-direction deflection [m].
76
Figure 5.11: z-direction deflection [m].
Figure 5.12: x-rotation [deg].
Figure 5.13: y-rotation [deg].
Figure 5.14: z-rotation [deg].
77
PART III
CONCLUSIONS
CONCLUSIONS AND FUTURE
WORK
6.1
conclusions
The goal of this MSc research was to pave the road for high-fidelity
aerostructural modeling of wind turbines by modifying and adapting
the techniques used in aerospace research. This is done by coupling
AeroDyn, an aerodynamic solver, to TACS, a high-fidelity structural
solver. The coupling was not straight forward and easy. This was due to
two facts:
6
1. AeroDyn is written in Fortran and TACS in C++. Direct coupling
between them is not possible.
2. TACS was not developed to be used for bodies in rotating reference
frames.
The MDOlab makes extensive use of Python to couple aerostructural codes.Due to this fact, pyAeroDyn was incorporated into existing
aerostructural codes. It was therefore necessary to create a Python interface for AeroDyn. Using F2py, AeroDyn was compiled as a shared
object1 which can be accessed as an external module at the Python level.
pyAeroDyn, which is a piece of code developed during this research
functions as an aerodynamic module in the existing pyAeroStruct analysis framework. A similar technique is used for TACS to enable access to
its functions using SWIG, a C++ to Python translator. pyTACS functions
as a structural module in the pyAeroStruct framework.
The developed code uses a body attached coordinate system. The
transformation to the global coordinate system used by AeroDyn is done
through a series of rotation matrices. These make it possible to change
the azimuth, shaft tilt, precone and pitch angles.
The above steps enabled TACS to be used also as a high-fidelity structural solver for wind turbines. In contrast to many existing wind turbine
aeroelastic codes based on low fidelity models, the code developed during this work can cope with the complex physical behavior of the rotor.
81
1. A shared object on unix platforms
are similar to a Dynamic Link
Library (DLL) in the Windows
platforms
The code is currently limited to the analysis of steady state behavior.
This limitation is in place because time-domain support inside TACS
was added in the late stages of this research. There was no time to build
this support into the pyTACS and pyAeroStruct codes. It also has the
limitations inherent to BEM methods discussed in Section 2.2.
The pyAeroDyn code is relatively fast. The CPU usage of pyAeroDyn during an aerostructural analysis is less than 1% of the total. This
makes it very suitable for fast aerodynamic analysis, CFD takes many
magnitudes of order more computational time.
Bend-twist coupling is of particular interest in the context of highfidelity modeling and simulation. Most of the wind turbine aeroelastic
codes currently used do not support this feature. Bend-twist coupling
can be caused by an asymmetric stiffness in the blade’s structure. This is
important when using asymmetric composite fiber orientation in blade
construction.
Research is being done in incorporating anisotropic beam models
for use in wind turbines (Zhou et al., 2012; Kim et al., 2013; Lago et al.,
2013). The use of anisotropic beam models could potentially be used
to model anisotropic blades. The accuracy of these models partially
depends on how the beam properties are calculated. The calculation
methods used tend to have questionable accuracy (Chen et al., 2010).
Geometric bend-twist coupling can not modeled this way. This can
cause inaccuracies for swept blades and similar structures.
The code during this project shows that the bend-twist coupling has
a significant influence on the blade deformation. This has a direct effect
on the aerodynamic performance compared to low-fidelity code. This
indicates that high-fidelity modeling and simulation is of great importance. This is especially true when dealing with the design of flexible
wind turbine blades made with composite materials. Incorporating
a high-fidelity structural solver turned out to be very effective when
dealing with the composite materials.
6.2
i
2. Velocities can be computed as dp
dt
in the unsteady case. This should
be accurate if the time step is small
enough.
future work
Though the model is currently limited to steady-state analysis, it is
possible to expand it to handle unsteady cases. Limited support for
time-domain analysis has recently been added to TACS (Kennedy and
Martins, 2013). Future work should be focused on modifying pyTACS
and pyAeroStruct codes. Changes in pyAeroDyn will likely be limited.
Certain effects, such as out of plane translation must be incorporated2 .
These changes can be implemented as an analysis option, allowing the
82
user to perform both steady and unsteady analyses.
High-fidelity optimization usually uses gradient-based algorithms
due to the large amount of design variables3 . Gradient calculation is
not supported in the current version of AeroDyn & pyAeroDyn. AeroDyn could be altered to compute gradients using the complex variable
method4 . More advanced methods of gradient computation, such as the
coupled-adjoint method, (Mader et al., 2008) will require considerably
more work.
Future implementation of high-fidelity aerodynamics using CFD
will allow the analysis of unconventional turbine blade configurations.
Examples of these are winglets and smart structures5 . In contrast to
aerospace applications, there are some difficulties modeling the turbine
blade in CFD because of its rotating nature. Future optimization studies
using CFD may be able to use pyAeroDyn in the form of hybrid multifidelity optimization. This will allow for computationally more efficient
methods of investigating the design space.
This report’s results were generated by manually changing the blade
pitch and generator rotational speed. Actual wind turbines use controllers to dynamically control these parameters. The accurate simulation of complete wind turbine design will require adding a controller.
Future work can incorporate the controller. This will make aeroservoelastic analysis possible (Ashuri et al., 2010b).
83
3. In the order of hundreds up to a
few thousand.
4. Though the computational cost
of pyAeroDyn is limited, using
finite differences to calculate the
gradients of hundreds of design
variables can become quite costly.
5. An example would be a blade
in which the airfoil shape changes
with deflection. When designed
correctly this could allow for passive wind turbine control. It would
also allow for better performance
in non-steady situations in which
the optimal pitch angle is constantly
changing along the span of the
blade (Engels et al., 2010).
BIBLIOGRAPHY
Anderson, J. D. (2001). Fundamentals of aerodynamics, volume 2.
McGraw-Hill New York. Cited on p. 12.
Ashuri, T. (2012). Beyond Classical Upscaling: Integrated Aeroservoelastic Design and Optimization of Large Offshore Wind Turbines. Delft
University of Technology. Cited on p. 72.
Ashuri, T., Bussel, G., and Mieras, S. (2012). Development and validation
of a computational model for design analysis of a novel marine turbine.
Wind Energy. Cited on p. 1.
Ashuri, T. and Zaaijer, M. (2007). Review of design concepts, methods
and considerations of offshore wind turbines. In European Offshore
Wind Conference and Exhibition, Berlin, Germany. Cited on p. 2.
Ashuri, T. and Zaaijer, M. (2008). Size effect on wind turbine blade’s
design drivers. In European Wind Energy Conference and exhibition
EWEC. Cited on p. 29.
Ashuri, T., Zaaijer, M., van Bussel, G., and van Kuik, G. (2010a). An
analytical model to extract wind turbine blade structural properties
for optimization and up-scaling studies. In The science of making
torque from wind conference, Crete, Greece. Cited on p. 33.
Ashuri, T., Zaaijer, M., van Bussel, G., and van Kuik, G. (2010b). Controller design automation for aeroservoelastic design optimization
of wind turbines. In The science of making torque from wind, Crete,
Greece. Cited on p. 83.
Beazley, D. M. (2003). Automated scientific software scripting with
swig. Future Gener. Comput. Syst., 19(5):599–609. Available from:
http://dx.doi.org/10.1016/S0167-739X(02)00171-1. Cited on p. 47.
Berg, J., Paquette, J., and Resor, B. (2011). Mapping of 1d beam
loads to the 3d wind blade for buckling analysis. Collection
of Technical Papers - AIAA/ASME/ASCE/AHS/ASC Structures,
Structural Dynamics and Materials Conference. cited By (since
1996)0.
Available from: http://www.scopus.com/inward/
record.url?eid=2-s2.0-84872441689&partnerID=40&md5=
55f42d1c2115fdf19cedf7aebdc12a46. Cited on p. 61.
85
Berg, J. C. and Resor, B. R. (2012). Numerical Manufacturing And Design
Tool (NuMAD v2.0) for Wind Turbine Blades: User’s Guide. Sandia
National Laboratories. Cited on pp. 67 and 71.
Betz, A. (1966). Introduction to the theory of flow machines. Pergamon Press. Available from: http://books.google.nl/books?id=3JSAAAAMAAJ. Cited on p. 19.
B.J. Jonkman, L. K. (2012). Turbsim’s user’s guide. Technical report,
NREL. Cited on pp. 48 and 67.
Brown, S. A. (1997). Displacement extrapolation for CFD+CSM aeroelastic analysis. Proceedings of the 35th AIAA Aerospace Sciences Meeting,
Reno, NV. AIAA 1997-1090. Cited on p. 47.
Budd, T. (1997). Introduction to Object Oriented Programming 2E.
Addison-Wesley. Available from: http://web.engr.oregonstate.edu/
~budd/Books/oopintro2e/. Cited on p. 55.
Buhl, M. (2005). A new empirical relationship between thrust coefficient
and induction factor for the turbulent windmill state. Technical report,
National Renewable Energy Lab. Cited on p. 24.
Burton, T., Jenkins, N., Sharpe, D., and Bossanyi, E. (2011). Wind energy
handbook 2nd ed. Wiley. Cited on pp. 2, 10, 13, 14, 15, 16, 17, 18, 19, 24,
25, and 33.
Capponi, P., Ashuri, T., van Bussel, G., and Kallesøe, B. (2010). A nonlinear upscaling approach for wind turbine blades based on stresses.
In European Wind Energy Conference, Brussels, Belgium. Cited on
p. 32.
Carrera, E. (1996). C0 reissner–mindlin multilayered plate elements
including zig-zag and interlaminar stress continuity. International
Journal for Numerical Methods in Engineering, 39(11):1797–1820. Cited
on p. 41.
Carrera, E., Brischetto, S., and Nali, P. (2011a). Classical Plate/Shell
Theories, pages 33–62. John Wiley & Sons, Ltd. Available from: http:
//dx.doi.org/10.1002/9781119950004.ch3. Cited on pp. 41 and 42.
Carrera, E., Miglioretti, F., and Petrolo, M. (2011b). Accuracy of refined
finite elements for laminated plate analysis. Composite Structures,
93(5):1311 – 1327. Available from: http://www.sciencedirect.com/
science/article/pii/S0263822310003818. Cited on p. 41.
Çetin, N., Yurdusev, M., Ata, R., and Özdemir, A. (2005). Assessment
of optimum tip speed ratio of wind turbines. Mathematical and
Computational Applications, 10(1):147–154. Cited on p. 12.
86
Chen, H., Yu, W., and Capellaro, M. (2010). A critical assessment of
computer tools for calculating composite wind turbine blade properties. Wind Energy, 13(6):497–516. Available from: http://dx.doi.org/
10.1002/we.372. Cited on pp. 74 and 82.
DoE, U. (2008). 20% wind energy by 2030: Increasing wind energy’s
contribution to us electricity supply. Washington, DC. Cited on p. 2.
Eggers, A. (2000). Modeling of yawing and furling behavior of small
wind turbines. In 2000 ASME Wind Energy Symposium, 19 th, AIAA,
Aerospace Sciences Meeting and Exhibit, 38 th, Reno, NV, pages 1–11.
Cited on p. 26.
Elliott, D. L. and Cadogan, J. (1990). Effects of wind shear and turbulence
on wind turbine power curves. Technical report, Pacific Northwest
Lab., Richland, WA (USA). Cited on p. 9.
Engels, W., Kanev, S., and Van Engelen, T. (2010). Distributed blade
control. In 3rd Conference on the Science of Making Torque from Wind.
Cited on p. 83.
ExxonMobil (2013). The outlook for energy: A view to 2040.
Available from: http://www.exxonmobil.com/corporate/files/news_
pub_eo2013.pdf. Cited on p. 1.
Gilbert, B. L. and Foreman, K. M. (1983). Experiments with a diffuseraugmented model wind turbine. Journal of Energy Resources Technology, Transactions of the ASME, 105(1):46–53. Cited By (since 1996): 14.
Available from: www.scopus.com. Cited on p. 19.
Glauert, H. (1928). A general theory of the autogyro. HM Stationery
Office. Cited on p. 25.
Glauert, H. (1935). Airplane propellers. In Aerodynamic theory, pages
169–360. Springer. Cited on p. 24.
Global Wind Energy Council (2012). global wind statistics. Available
from: http://www.gwec.net/wp-content/uploads/2013/02/GWECPRstats-2012_english.pdf. Cited on p. 1.
Goossens, E. (2013). Renewable energy to beat gas in power mix by 2016,
iea says. Available from: http://www.businessweek.com/news/201306-26/renewables-to-beat-natural-gas-in-power-mix-by-2016-ieasays. Cited on p. 1.
Griffith, D. T. and Ashwill, T. D. (2011). The sandia 100-meter all-glass
baseline wind turbine blade: Snl100-00. Sandia National Laboratories
Technical Report. Cited on p. 71.
Gunjit, S. B. (2005). User’s guide to precomp. NREL/TP-500e38926.
Golden, CO: National Renewable Energy Laboratory. Cited on p. 74.
87
Gurit (2013). Wind energy handbook. Available from: http://gurit.
com/wind-energy-handbook-1.aspx. Cited on pp. 10, 11, and 12.
Haghighat, S., RA Martins, J. R., and T. Liu, H. H. (2012). Aeroservoelastic design optimization of a flexible wing. Journal of Aircraft,
49(2):432–443. Cited on p. 2.
Hand, M., Simms, D., Fingersh, L., Jager, D., Cotrell, J., Schreck, S.,
and Larwood, S. (2001). Unsteady aerodynamics experiment phase
vi: Wind tunnel test configurations and available data campaigns.
Technical report, National Renewable Energy Lab., Golden, CO.(US).
Cited on p. 70.
Hansen, M. (2012). Aerodynamics of wind turbines. Routledge. Cited on
pp. 14 and 19.
Hansen, M. O. L., Sørensen, J. N., Voutsinas, S., Sørensen, N., and
Madsen, H. A. (2006). State of the art in wind turbine aerodynamics
and aeroelasticity. Progress in aerospace sciences, 42(4):285–330. Cited
on p. 2.
Ingram, G. (2011). Wind turbine blade analysis using the blade element momentum method. Available from: http://www.dur.ac.uk/g.
l.ingram/download/wind_turbine_design.pdf. Cited on pp. 14, 20,
21, and 22.
Irons, B. M. and Tuck, R. C. (1969). A version of the aitken accelerator
for computer iteration. International Journal for Numerical Methods
in Engineering, 1(3):275–277. Available from: http://dx.doi.org/10.
1002/nme.1620010306. Cited on p. 47.
Johnson, G. L. (2001).
Wind energy systems.
Available
from: http://www.pssurvival.com/ps/windmills/Wind_Energy_
Systems_Gary_L_Johnson_2001.pdf. Cited on p. 10.
Jones, R. (1999). Mechanics of composite materials 2nd ed. Taylor &
Francis, Philadelphia. Cited on pp. 34, 36, and 40.
Jonkman, B. and Jonkman, J. (2013). Addendum to the User’s Guides for
FAST, A2AD, and AeroDyn Released March 2010 - February 2013. Available from: http://wind.nrel.gov/designcodes/simulators/aerodyn/
UserGuideAddendum_AeroDyn13Interface.pdf. Cited on p. 4.
Jonkman, J. (2013).
Re: Blade twist deflection.
Available
from: https://wind.nrel.gov/forum/wind/viewtopic.php?f=3&t=
879&p=3585&hilit=FAST+twist#p3585. Cited on p. 74.
Jonkman, J. M., Butterfield, S., Musial, W., and Scott, G. (2009). Definition of a 5-MW reference wind turbine for offshore system development.
National Renewable Energy Laboratory Colorado. Cited on pp. 70
and 72.
88
Kaw, A. (2005). Mechanics of composite materials 2nd ed., volume 29.
CRC. Cited on pp. 36, 38, 40, and 41.
Kelley, N. and Jonkman, B. (2007). Overview of the turbsim stochastic
inflow turbulence simulator. Technical report, National Renewable
Energy Lab. Cited on pp. 48 and 67.
Kennedy, G. J. (2012). Aerostructural analysis and design optimization of
composite aircraft. PhD thesis, University of Toronto. Cited on pp. 2,
41, and 47.
Kennedy, G. J. and Martins, J. R. R. A. (2013). An adjoint-based derivative evaluation method for time-dependent aeroelastic optimization
of flexible aircraft. In Proceedings of the 54th AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics, and Materials Conference,
Boston, MA. AIAA-2013-1530. Cited on p. 82.
Kenway, G. K., Kennedy, G. J., and Martins, J. (2010). A cad-free approach to high-fidelity aerostructural optimization. In Proceedings of
the 13th AIAA/ISSMO Multidisciplinary Analysis Optimization Conference, Fort Worth, TX. Cited on p. 66.
Kenway, G. K., Kennedy, G. J., and Martins, J. (2012). A scalable parallel
approach for high-fidelity aerostructural analysis and optimization.
In 53rd AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics,
and Materials Conference. Cited on pp. 2 and 46.
Kenway, G. K. W. (2013). A Scalable, Parallel Approach for Multi-Point,
High-Fidelity Aerostructural Optimization of Aircraft Configurations.
PhD thesis, University of Toronto. Cited on p. 66.
Kenway, G. K. W. and Martins, J. R. R. A. (2013). Multi-point high-fidelity
aerostructural optimization of a transport aircraft configuration. Journal of Aircraft. Cited on p. 45.
Kim, T., Hansen, A. M., and Branner, K. (2013). Development of
an anisotropic beam finite element for composite wind turbine
blades in multibody system. Renewable Energy, 59(0):172 – 183.
Available from: http://www.sciencedirect.com/science/article/pii/
S0960148113001894. Cited on p. 82.
Lago, L. I., Ponta, F. L., and Otero, A. D. (2013). Analysis of alternative
adaptive geometrical configurations for the nrel-5 mw wind turbine
blade. Renewable Energy, 59(0):13 – 22. Available from: http://www.
sciencedirect.com/science/article/pii/S0960148113001638. Cited
on p. 82.
Laino, D. J. and Hansen, A. C. (2002). Aerodyn user’s guide. Technical
report, NREL. Cited on pp. 4, 48, and 67.
89
Lanczos, C. (1970). The variational principles of mechanics. Courier
Dover Publications. Cited on p. 60.
Landau, L. and Lifshitz, E. (1982). Mechanics, volume 1. Elsevier
Science. Available from: http://books.google.com/books?id=bE9tUH2J2wC. Cited on p. 60.
Leishman, J. G. (2006). Principles of helicopter aerodynamics. Cambridge
University Press. Cited on p. 25.
Lindenburg, C. (2002). Aeroelastic modelling of the lmh64-5 blade.
DOWEC project. Cited on p. 70.
Mader, C. A., Kenway, G. K. W., and Martins, J. R. R. A. (2008). Towards
high-fidelity aerostructural optimization using a coupled ADjoint
approach. In Proceedings of the 12th AIAA/ISSMO Multidisciplinary
Analysis and Optimization Conference, Victoria, BC. AIAA 2008-5968.
Cited on p. 83.
Mader, C. A. and Martins, J. R. R. A. (2012). Optimal flying wings: A
numerical optimization study. In 53rd AIAA/ASME/ASCE/AHS/ASC
Structures, Structural Dynamics, and Materials Conference, Honolulu,
HI. AIAA 2012-1758. Cited on p. 2.
Manwell, J., McGowan, J., and Rogers, A. (2002). Wind energy explained.
Wiley Online Library. Cited on pp. 17 and 24.
Martins, J. R. R. A., Alonso, J. J., and Reuther, J. J. (2005). A coupledadjoint sensitivity analysis method for high-fidelity aero-structural
design. Optimization and Engineering, 6. Cited on p. 46.
Martins, J. R. R. A. and Lambe, A. B. (2013). Multidisciplinary design
optimization: A survey of architectures. AIAA Journal. (In press).
Cited on p. 32.
Moriarty, P. and Hansen, A. (2005). AeroDyn theory manual. National
Renewable Energy Laboratory Colorado. Cited on pp. 14, 23, 24, 25,
26, 27, and 28.
Nijssen, R., de Winkel, G., Peeringa, J., and DATE, R. (2007). Wmc5mw
laminate lay-out of reference blade for wp 3. Cited on p. 71.
Peterson, P. (2009). F2py: a tool for connecting fortran and python
programs. International Journal of Computational Science and Engineering, 4(4):296–305. Cited on p. 52.
Pitt, D. and Peters, D. (1981). Theoretical prediction of dynamic-inflow
derivatives. Vertica, 5(1):21–34. Cited on p. 25.
Pletzer, A., McCune, D., Muszala, S., Vadlamani, S., and Kruger, S.
(2008). Exposing fortran derived types to c and other languages.
Computing in Science & Engineering, 10(4):86–92. Cited on p. 52.
90
Ragheb, M. (2011). Optimal rotor tip speed ratio. Available
from: http://mragheb.com/NPRE%20475%20Wind%20Power%
20Systems/Optimal%20Rotor%20Tip%20Speed%20Ratio.pdf.
Cited on p. 12.
REN21 (2013). Renwables 2013 - global status report. Cited on p. 1.
Resor, B. R. (2013). Definition of a 5mw/61.5m wind turbine blade
reference model. Technical Report SAND2013-2569, Sandia National
Labrotories. Cited on pp. 71 and 75.
Rixen, D. J. (2011). Mechanical analysis for engineering. Cited on p. 60.
Saidur, R., Islam, M., Rahim, N., and Solangi, K. (2010). A review on
global wind energy policy. Renewable and Sustainable Energy Reviews,
14(7):1744 – 1762. Available from: http://www.sciencedirect.com/
science/article/pii/S1364032110000626. Cited on p. 1.
Sant, T. (2007). Improving BEM-based aerodynamic models in wind
turbine design codes. PhD thesis. Cited on pp. 23 and 25.
Shaughnessy, E. J., Katz, I. M., and Schaffer, J. P. (2005). Introduction to
fluid mechanics. Oxford University Press New York. Cited on p. 16.
Shen, W., Mikkelsen, R., Sørensen, J., and Bak, C. (2005). Tip loss
corrections for wind turbine computations. Wind Energy, 8(4):457–
475. Cited on p. 23.
Snel, H., Schepers, J., and Nederland, S. (1995). Joint investigation of
dynamic inflow effects and implementation of an engineering method.
Netherlands Energy Research Foundation ECN. Cited on p. 26.
Sutherland, H. (1999). On the fatigue analysis of wind turbines. Cited
on p. 30.
Taylor, J. R. (2005). Classical mechanics. Univ Science Books. Cited on
p. 60.
Tecplot, I. (2008). Tecplot Data Format Gui. Available from: ftp://ftp.
tecplot.com/pub/doc/tecplot/360/dataformat.pdf. Cited on p. 65.
Tokimatsu, K., Fujino, J., Konishi, S., Ogawa, Y., and Yamaji, K. (2003).
Role of nuclear fusion in future energy systems and the environment
under future uncertainties. Energy Policy, 31(8):775–797. Cited on p. 1.
Veers, P., Lobitz, D., and Bir, G. (1998). Aeroelastic tailoring in windturbine blade applications. Technical report, Sandia National Labs.,
Albuquerque, NM (United States). Cited on p. 13.
Vermeer, L., Sørensen, J. N., and Crespo, A. (2003). Wind turbine wake
aerodynamics. Progress in aerospace sciences, 39(6):467–510. Cited on
p. 16.
91
Weisstein, E. W. (2013). "point-line distance–3-dimensional." from
mathworld–a wolfram web resource.
Available from: http:
//mathworld.wolfram.com/Point-LineDistance3-Dimensional.html.
Cited on p. 62.
Xu, G. and Sankar, L. N. (2002). Application of a viscous flow methodology to the nrel phase vi rotor. In ASME Conference Proceedings.
ASME. Cited on p. 24.
Xudong, C., Hansen, A., and Siedschlag, N. (1988). Yaw dynamics of
horizontal axis wind turbines. Technical report, National Renewable
Energy Lab. Cited on p. 26.
Yan, B. (2012). A framework for aerostructural analysis of wind turbine
blades. Master’s thesis, University of Toronto. Cited on p. 2.
Yu, W. (2005). Mathematical construction of a reissner–mindlin plate
theory for composite laminates. International journal of solids and
structures, 42(26):6680–6699. Cited on p. 41.
Zhou, X., An, L., and Wang, Z. (2012).
Twist-bend coupling analysis for 5mw wind turbine blades.
Applied Mechanics and Materials, 152-154:703–708.
cited By (since
1996)0.
Available from: http://www.scopus.com/inward/
record.url?eid=2-s2.0-84863176085&partnerID=40&md5=
a031e392c8a215cb779fe05b58f68fd4. Cited on p. 82.
92
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement