Vous êtes sur la page 1sur 14

Delft University of Technology

AE4130 - Aircraft Aerodynamics

Assignment 5: Winglet Design

Ole Pfeifle 4206150

October 4, 2016
Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Winglet parametrization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 AVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Design and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4


3.1 Cant angle effect on induced drag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Cant angle effect on structural weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Conclusion and Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Appendix A Python script - AVL loop for optimization . . . . . . . . . . . . . . . . . . 8


1 Introduction

Most modern aircrafts appearance is similar to previous generation. The same, proven aerodynamic
concepts are used and there seems to be little room for optimization, as more radical concepts often
come with structural or other problems. One recent development however, are the use of winglets.
By reducing the tip vortex winglets are capable of achieving a considerable decrease in drag. They
effectively create a wing who is closer to an infinite wing and has an increased effective aspect ra-
tio. Without increasing the wing span, this can be very advantageous, making the winglet shape an
interesting part for research and optimization.

This report looks at the effect that different winglet parameters have on the overall induced wing drag.
The addition of a winglet obviously also changes the lift and force distribution over the wing and can
lead to a heavier structure. The existence of an optimum is investigated and different optimization
parameters employed to find an ideal combination of winglet parameters.

1
2 Methodology

2.1 Winglet parametrization

For the winglets seven parameters are used to describe its geometry. The parameters used are as
follows:

root chord Cwr


taper ratio w
length lw
leading edge sweep angle w
cant angle
twist (toe out) angle at root wr
twist (toe out) angle at tip wt

The parameters are illustrated in Figure 1 together with the initial planform dimensions.

Figure 1: Winglet design parameters and wing planform

2
2.2 AVL

In order to analyze the wing with and without winglet and calculate the induced drag, the software
tool AVL from Mark Drela[1] is used. This allows to create an input file with the wing and winglets
defined as individual surfaces in 3D, with airfoil profiles associated. The total drag is calculated directly
from AVL for cruise condition. In order to simulate this condition, a design lift coefficient of 0.45 is
set, letting AVL determine the corresponding angle of attack. Mach number is set to 0.75 and air
density according to a flight altitude of 11000m. With the flight condition and wing geometry set,
the run routine can be called and AVL calculates the induced drag coefficient per surface and for the
whole configuration. This routine is called subsequently during the optimization procedure in order
to determine the dependence of the individual parameters on the induced drag.

In order to determine the change in structural weight due to the winglet, the assumption is made that
the wing weight changes proportionally to the bending moment at the root. In order to calculate this
moment, the lift coefficient is calculated for every individual wing section using AVL and integrated
from tip to root, to determine the shear force contribution per section and sum the contributions to
the root bending moment.

3
3 Design and Analysis

This chapter presents the findings for the effect of the winglet cant angle on the induced drag. The
cant angle effects on structural weight are presented and the optimization results shown.

3.1 Cant angle effect on induced drag

Using AVL, as explained in Chapter 2, a Python script was written in order to automate the process
of analyzing the aerodynamic performance of a wing for different winglet cant angles. The script
consequently runs AVL with different input geometries corresponding to a range of winglet cant angles
and presents the performance results graphically.

For cant angles ranging from 15 to 90 the corresponding winglet section coordinates are calculated
and together with the wing geometry given as input geometry to AVL, which calculates the drag
coefficient of the complete wing configuration.

The python code for geometry generation and the AVL execution loop can be found in Appendix A.

The result for the whole range of cant angles is plotted in Figure 2. As can be seen the drag decreases
with increasing cant angle. This results from the aspect ratio, that increases by the addition of a
horizontal winglet, making the wing longer and more slender. The reference area is taken as the area
of the whole wing including winglet on the ground plane. An increase of the wing span therefore
appears to be more beneficial in terms of drag. However, increasing the wing span is often not possible
and comes with other disadvantages such as an increase in wing weight due to the higher bending
moment created by the wing tip section.

Figure 2: Induced Drag for different winglet cant angles

4
3.2 Cant angle effect on structural weight

Using the section lift coefficients calculated from AVL, the bending moment is calculated as follows.
First the Shear force is calculated as the integrated lift distribution over the span (Equation 3.1).
Then the Moment at the root is found from the integrated shear force over the wing, as indicated in
Equation 3.2.

Z y
S (y) = Cl c qdy (3.1)
0

Z b/2
M= S (y) dy (3.2)
0

With the integration implemented in Python the resulting moments for different winglet cant angles
are presented in Figure 3. As was expected, the curve shows an increasing root bending moment with
increasing cant angles. This results from a horizontal winglet producing a higher moment around the
wing root than a vertical winglet.

Figure 3: Root bending moment for different winglet cant angles

3.3 Optimization

In order to find a winglet geometry that reduces the drag, while not adding too much structural weight,
the objective function (Equ. 3.3) is minimized, using a constant k to determine the relative importance
of drag reduction and weight increase.

CDi Mr
J =k + (1 k) (3.3)
CDio M ro

Implementing Equ. 3.3 in Python and looping over cant angles ranging from 15 to 90 with all other
geometric parameters kept constant results in Figure 3.3 for k set at 0,0.5 and 1.

5
Figure 4: Objective parameter J from Drag and root bending moment at different winglet cant angles.

For 1=0 the graph simply resembles the dependence of induced drag decrease on cant angle, whereas
for k=0 the graph shows the cant angle effect on the bending moment. The optimum cant angle can
be found at the point where the value J of the objective function is minimized. This is the case at
high cant angles for k=1 (as discussed before for the induced drag) and at low cant angles for k=0. As
can be seen from Figure 4 for k=0.5 the shape of the curve is still mainly determined by the change in
bending moment. The optimum is therefore an almost vertical winglet with a cant angle of 15 ). This
results from a much larger effect of the cant angle on the root bending moment than on the induced
drag. While the winglet leads to a large increase in bending moment and therefore in structural wing
weight, its overall effect on the induced drag appears to be of less importance.

6
4 Conclusion and Recommendations

For the winglet with given shape parameters, the effect of the cant angle on drag and wing root
bending moment was determined. It can be seen that higher cant angles decrease the induced drag.
Even though winglets decrease the drag induced by trailing vortices, the decrease in drag by extending
the wing and achieving a higher aspect ratio is larger. However, extending the wing also increases the
bending moment and therefore the structural weight of the wing. If both relative drag and structural
weight decrease are of equal weight and importance for the aircraft manufacturer, than the larger effect
on the bending moment leads to a low optimum cant angle and almost vertical winglets.

While the relative weight k of drag and structural weight is crucial in finding the optimum cant angle
one should keep in mind that this analysis can only give a first estimation for preliminary design. For
further optimization the real non-linear effect of wing loading on structural weight should be considered
and a more detailed analysis on the winglet aerodynamics performed using a dedicated CFD solver on
a fine mesh and physical testing.

References
[1] M. Drela, AVL. Massachusetts Institute of Technology, 2004.

7
A Python script - AVL loop for optimization
# * c o d i n g : u t f 8 *

Created on Mon Jan 11 1 6 : 2 2 : 0 1 2016

@author : Ole P f e i f l e

import math
import numpy a s np
import o s
import time
import s u b p r o c e s s a s sp
import win32gui , win32con
import m a t p l o t l i b . p y p l o t a s p l t
import s c i p y
import s c i p y . o p t i m i z e a s opt

f o n t = { f a m i l y : normal ,
w e i g h t : normal ,
size : 15}

p l t . r c ( f o n t , ** f o n t )

# a r r a y h o l d i n g t h e c a n t a n g l e s i n deg f o r drag c a l c u l a t i o n
p h i l i s t = np . a r a n g e ( 1 5 . , 9 5 . , 5 . )
p h i l i s t = p h i l i s t /57.3
delta = 38./57.3
lambd = 0 . 3 2
lw = 0 . 0 5 * 2 8 . 0 8
Cwr = 0 . 8 1 9

rho = 0.3639
T = 273.15 56.5
M= 0.75
V = M* math . s q r t (T * 1 . 4 * 2 8 7 )

# s t a r t AVL i n s t a n c e , l o a d s t a n d a r d wing geometry , c a l c u l a t e and s a v e performance


i n f o = sp .STARTUPINFO( )
i n f o . dwFlags |= sp .STARTF USESHOWWINDOW
i n f o . wShowWindow = win32con .SW SHOW
FNULL = open ( o s . d e v n u l l , w )
ps = sp . Popen ( [ a v l . exe ] ,
s t d i n=sp . PIPE ,
s t d o u t=FNULL,
s t d e r r=None )

ps . s t d i n . w r i t e ( l o a d wing \n )
ps . s t d i n . w r i t e ( o p e r \n )
ps . s t d i n . w r i t e ( a \n )
ps . s t d i n . w r i t e ( c 0.45\n )

8
ps . s t d i n . w r i t e ( x\n )
ps . s t d i n . w r i t e ( f s \n )
ps . s t d i n . w r i t e ( r e s u l t s . dat \n )
time . s l e e p ( 3 . 5 )
try :
ps . t e r m i n a t e ( )
except WindowsError :
pass

f = open ( r e s u l t s . dat , r )
lines = f . readlines ()
f . close ()
w i n g s t a r t = 20
s e c t i o n s = 20
M = 0.
cdline = lines [ 1 1 ] . strip ()
cdlinew = c dline . s p l i t ( )
cdsurf = float ( cdlinew [ 2 ] )
c d w i n g c l e a n = c d s u r f *2

# c a l c u l a t e b e n d i n g moment f o r c l e a n wing by i n t e g r a t i o n o f l i f t f o r c e
f o r i in range ( w i n g s t a r t , w i n g s t a r t+s e c t i o n s ) :
line = lines [ i ] . strip ()
words = l i n e . s p l i t ( )
c l = f l o a t ( words [ 7 ] )
S = f l o a t ( words [ 3 ] )
y = f l o a t ( words [ 1 ] )
M = M+0.5 * c l * S * rho *V** 2 * y

Mwing clean = M

print c d w i n g c l e a n , Mwing clean

a = []
cdl = [ ]
Ml = [ ]
J0 = [ ]
J05 = [ ]
J1 = [ ]
k = 0.5

# O b j e c t i v e f u n c t i o n t o o p t i m i z e ( minimize f u n c t i o n v a l u e )
# x0 h o l d s i n i t a l phi , lwp , d e l t a , lambda and Cwr
def o b j e c t i v e ( x0 ) :
p h i=x0 [ 0 ]
lwp=x0 [ 1 ]
d e l t a=x0 [ 2 ]
lambd=x0 [ 3 ]
Cwr=x0 [ 4 ]
# c a l c u l a t e w i n g l e t s u r f a c e c o o r d i n a t e s from x0
phi = phi /57.3

9
lw = lwp * 2 8 . 0 8
delta = delta /57.3
e x t y = math . s i n ( p h i ) * lw
Xle = 5 . 9 4 1 + math . tan ( d e l t a ) * e x t y
Yle = 1 4 . 0 4 + e x t y
Z l e = 0 . 6 1 + math . c o s ( p h i ) * lw
chord = lambd * Cwr

SRef = 88.2+2 * ( lw * ( math . tan ( d e l t a ) * lw+chord )( lw * ( math . tan ( d e l t a ) * lw ))/2


( ( math . tan ( d e l t a ) * lw+chordCwr) * lw ) / 2 ) * math . s i n ( p h i )
B r e f = 28.08+ lw * math . s i n ( p h i )

f t e m p l a t e = open ( w i n g w i n g l e t s . a v l , r )
fnew = open ( w i n g w i n g l e t s t e s t . a v l , w )
l i n e s = ftemplate . readlines ()
p o i n t s = len ( l i n e s )

# w r i t e c o o r d i n a t e s t o AVL i n p u t f i l e
f o r i in range ( 0 , len ( l i n e s ) ) :
line = lines [ i ] . strip ()
i f i == 6 7 :
fnew . w r i t e ( s t r ( Xle ) + + s t r ( Yle)+ +
str ( Zle ) + + s t r ( chord ) + +
str ( 0 . 0 0 0 ) + + str (8) + + s t r ( 2.25) + \n )
e l i f i == 3 :
fnew . w r i t e ( s t r ( SRef ) + + s t r ( 3 . 6 ) + + str ( Bref ) +
Sref Cref Bref r e f e r e n c e area , chord , span \n )
else :
fnew . w r i t e ( l i n e + \n )

ftemplate . close ()
fnew . c l o s e ( )

i f o s . path . i s f i l e ( r e s u l t s . dat ) :
o s . remove ( r e s u l t s . dat )
i f o s . path . i s f i l e ( r e s u l t s f t . dat ) :
o s . remove ( r e s u l t s f t . dat )
# s t a r t AVL s e s s i o n t o c a l c u l a t e aerodynamic l o a d s and w r i t e o u t p u t t o f i l e
i n f o = sp .STARTUPINFO( )
i n f o . dwFlags |= sp .STARTF USESHOWWINDOW
i n f o . wShowWindow = win32con .SW SHOW
FNULL = open ( o s . d e v n u l l , w )
ps = sp . Popen ( [ a v l . exe ] ,
s t d i n=sp . PIPE ,
s t d o u t=FNULL,
s t d e r r=None )

ps . s t d i n . w r i t e ( l o a d w i n g w i n g l e t s t e s t \n )
ps . s t d i n . w r i t e ( o p e r \n )
ps . s t d i n . w r i t e ( g \n )
ps . s t d i n . w r i t e ( \n )

10
ps . s t d i n . w r i t e ( a \n )
ps . s t d i n . w r i t e ( c 0 . 4 5 \ n )
ps . s t d i n . w r i t e ( x\n )
ps . s t d i n . w r i t e ( f s \n )
ps . s t d i n . w r i t e ( r e s u l t s . dat \n )
ps . s t d i n . w r i t e ( f t \n )
ps . s t d i n . w r i t e ( r e s u l t s f t . dat \n )
time . s l e e p ( 3 . 5 )
try :
ps . t e r m i n a t e ( )
except WindowsError :
pass

i f not o s . path . i s f i l e ( r e s u l t s . dat ) :


return 1 . 0 5
f = open ( r e s u l t s . dat , r )
lines = f . readlines ()
f . close ()
w i n g s t a r t = 20
w i n g l e t s t a r t = 90
s e c t i o n s = 20

# c a l c u l a t e b e n d i n g l o a d s by i n t e g r a t i o n o f aerodynamic l o a d s
M = 0.
a . append ( p h i * 5 7 . 3 )
f o r i in range ( w i n g s t a r t , w i n g s t a r t+s e c t i o n s ) :
line = lines [ i ] . strip ()
words = l i n e . s p l i t ( )
c l = f l o a t ( words [ 7 ] )
S = f l o a t ( words [ 3 ] )
y = f l o a t ( words [ 1 ] )
M = M+0.5 * c l * S * rho *V** 2 * y
f o r j in range ( w i n g l e t s t a r t , w i n g l e t s t a r t+s e c t i o n s ) :
line = lines [ j ] . strip ()
words = l i n e . s p l i t ( )
c l = f l o a t ( words [ 7 ] ) * math . s i n ( p h i )
S = f l o a t ( words [ 3 ] )
y = f l o a t ( words [ 1 ] )
M = M+0.5 * c l * S * rho *V** 2 * y
Ml . append (M/ 1 0 0 0 )

i f not o s . path . i s f i l e ( r e s u l t s f t . dat ) :


return 1 . 0 5
f = open ( r e s u l t s f t . dat , r )
lines = f . readlines ()
f . close ()
cdline = lines [ 2 5 ] . strip ()
cdlinew = c dline . s p l i t ( )
cdsurf = float ( cdlinew [ 3 ] )
c d l . append ( c d s u r f )
print M, c d s u r f

11
J = k * c d s u r f / c d w i n g c l e a n + (1k ) *M/ Mwing clean
J05 . append ( J )
J1 . append ( c d s u r f / c d w i n g c l e a n )
J0 . append (M/ Mwing clean )

return J

i n i t i a l =np . a r r a y ( [ 4 5 . , 0 . 0 5 , 3 8 . , 0 . 3 2 , 0 . 8 1 9 ] )
xbounds = [ ( 1 5 . , 9 0 . ) , ( 0 . 0 2 , 0 . 1 ) , ( 0 . , 5 0 . ) , ( 0 . 3 , 1 . ) , ( 0 . 4 , 1 . ) ]

# u s i n g o p t . f m i n t n c t o minimize o b j e c t i v e f u n c t i o n optimum i s x
x = opt . f m i n t n c ( o b j e c t i v e , x0=i n i t i a l , a p p r o x g r a d=True , bounds=xbounds )

# p l o t t i n g routines omitted for r e a d a b i l i t y

12

Vous aimerez peut-être aussi