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 ﬁnding 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

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

Download PDF

advertisement