You are on page 1of 21

Aerodynamics & Flight Mechanics

Research Group

Joukowski Aerofoil Modelling in


MATLAB
S. J. Newman
Technical Report AFM-11/13
January 2011


UNIVERSITY OF SOUTHAMPTON

SCHOOL OF ENGINEERING SCIENCES

AERODYNAMICS AND FLIGHT MECHANICS RESEARCH GROUP

Joukowski Aerofoil Modelling in MATLAB

by

S. J. Newman

AFM Report No. AFM 11/13

January 2011

School of Engineering Sciences, Aerodynamics and Flight Mechanics Research Group

COPYRIGHT NOTICE
(c) SES University of Southampton All rights reserved.
SES authorises you to view and download this document for your personal, non-commercial
use. This authorization is not a transfer of title in the document and copies of the document
and is subject to the following restrictions: 1) you must retain, on all copies of the document
downloaded, all copyright and other proprietary notices contained in the Materials; 2) you
may not modify the document in any way or reproduce or publicly display, perform, or
distribute or otherwise use it for any public or commercial purpose; and 3) you must not
transfer the document to any other person unless you give them notice of, and they agree to
accept, the obligations arising under these terms and conditions of use. This document, is
protected by worldwide copyright laws and treaty provisions.

PreliminaryDiscussion
The2DPotentialFlowisbuiltupusing3basiccomponents,namely:

FreeStream
Doublet

Vortex

Theassumptionismadewhereby,theflowvelocityisgivenby:

q u iv

(1.)

W i

(2.)

dW
u iv
dZ

(3.)

TheComplexPotentialis:

Fromwhichwehave:

And:

q q

dW
u 2 v2
dZ

q
CP 1
U

(4.)

FreeStream
If the incident freestream flow is angled by to the X axis of velocity U, the Complex
Potential(W)isgivenby:

W Uz ei

(5.)

Doublet
Adoubletplacedattheoriginis:

Doublet
z

dW
Doublet
dz
z2

(6.)

However,thedoubletwillcreatetheflowofafreestreampassingacircularcylinder.Ifthe
cylinderradiusisr c ,thenthedoubletstrengthspecificationcanbemodifiedtogive:

Ua 2 i
W
e
z
dW
Ua 2 i
2 e
dz
z

(7.)

Vortex
Avortexplacedattheoriginis:

W kVortex i log z

dW i kVortex

dz
z

(8.)

Total
Hence,assemblingthethreecomponentsgivestheoverallresult:

2
Ua
W Uze i
ei kVortex i log z
z
dW
Ua 2 i i kVortex
i
Ue 2 e
dz
z
z

(9.)

JoukowskiTransformation
TheJoukowskitransformationtakesacircleandtransformsitintoanaerofoiltypeofshape
usingthefollowingcomplexexpression:

Z U

Ua 2

(10.)

Whereaistheradiusofthereferencecirclecentredattheorigin.

ThecirclewhichtransformstotheaerofoilshapeisdefinedasshowninFigure1:

roff

rc

Figure1
Usingtheabovedefinitions,thecircleisgivenby:

circ rc ei roff ( cos i sin )

(11.)

Thereferenceangle,,isgivenby:

sin

roff sin
rc

(12.)

AnexampleofthetransformationgeometryisshowninFigure2:

Figure2RefCircle(Green),BaseCircle(Blue),Aerofoil(Red)

TheinversetransformationfromtheZtotheplaneisgivenby:

Z Z 2 4a 2

2
Z Z 4a

2
2

if

real ( Z ) 0
(13.)

if

real ( Z ) 0

Notetheuseofbothsolutionsoftheinversetransformationquadraticequation.

KuttaCondition
Thefullydevelopedflowoveranaerofoilrequirestheflowtoleavethetrailingedge
tangentially.ThisisknownastheKuttaconditionandisachievedbyadjustingthevortex
strength.Therequirementisaresultoftheviscousnatureofthefluid.Potentialflowdoes
notallowforviscositysothisisananalyticaltweaktoenableanecessaryresultofviscosity
tobeincludedinapotentialflowmodel.
InorderfortheKuttaconditiontobemetthevortexstrengthmustbeofthecorrect
magnitude,givenby:

K 2aU sin

(14.)

WhencethefinalflowComplexPotentialisdefined(intheplane)by:

W U e

Ua 2

ei 2aU sin i log

dW
Ua i i 2aU sin
i
Ue 2 e
dz

(15.)

10

Examples
Usingtheabovetransformation,thefollowingfiguresshowcontoursofstreamfunction,
speedandpressurecoefficient:

KuttaConditionOff
Contours of Stream Function a = 1 rc = 1.0986 roff = 0.1 = 10 Kutta Off
3

-1

-2

-3
-3

-2

-1

0
X

11


Contours of Speed a = 1 rc = 1.0986 roff = 0.1 = 10 U = 1 Kutta Off
3

2.2
2

2
1.8
1.6

1.4
0

1.2
1

-1

0.8
0.6

-2
0.4
0.2

-3
-3

-2

-1

0
X

12


Contours of Pressure Coefficient a = 1 rc = 1.0986 roff = 0.1 = 10 U = 1 Kutta Off
3
0.5
2

0
-0.5

-1
-1.5

-2
-1

-2.5
-3

-2

-3.5
-3
-3

-2

-1

0
X

-4

KuttaConditionOn

13


Contours of Stream Function a = 1 rc = 1.0986 roff = 0.1 = 10 Kutta On
3

-1

-2

-3
-3

-2

-1

0
X

14


Contours of Speed a = 1 rc = 1.0986 roff = 0.1 = 10 U = 1 Kutta On
3

1.5
0

-1

-2

0.5

-3
-3

-2

-1

0
X

15


Contours of Pressure Coefficient a = 1 rc = 1.0986 roff = 0.1 = 10 U = 1 Kutta On
3

-1

-2

-1

-3

-2

-4

-5

-3
-3

-2

-1

0
X

MatlabFile
%
%
Joukowski Aerofoils
%
%
SJN 5/11/09
%
clear all
xmax=5;
nx=150;
a=1;
deltadeg=10;
roff=.1;
U=1;
alfdeg=5;
kutta=1;
%-------------------------------------------------------------------------delta=deltadeg*pi/180;
offset=roff*(-cos(delta)+1i*sin(delta));
circrad=abs(offset-a);
beta=asin(roff*sin(delta)/circrad);
%--------------------------------------------------------------------------

16

alf=alfdeg*pi/180;
kuttagamma=2*circrad*U*sin(alf+beta);
if kutta~=0
vortex=kuttagamma;
else
vortex=0;
end
%-------------------------------------------------------------------------x=linspace(-xmax,xmax,nx);
y=x;
[X,Y]=meshgrid(x,y);
Z=X+1i*Y;
ZETA=.5*(Z-sqrt(Z.^2-4*a^2)).*(real(Z)<0)+...
.5*(Z+sqrt(Z.^2-4*a^2)).*(real(Z)>=0);
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
% CONTOURS OF STREAM FUNCTION
W=U*exp(1i*-alf)*ZETA...
+U*exp(1i*alf)*circrad^2./(ZETA-offset)...
+vortex*1i*log(ZETA-offset);
v1=-40:.1:40;
contour(X,Y,imag(W),v1,'b');
hold on
if kutta~=0
title(['Contours of Stream Function a = ',num2str(a),...
' r_c = ',num2str(circrad),...
' r_o_f_f = ',num2str(roff),...
' \delta = ',num2str(deltadeg),'\circ',' Kutta On']);
else
title(['Contours of Stream Function a = ',num2str(a),...
' r_c = ',num2str(circrad),...
' r_o_f_f = ',num2str(roff),...
' \delta = ',num2str(deltadeg),'\circ',' Kutta Off']);
end
xlabel('X');
ylabel('Y');
%-------------------------------------------------------------------------theta=linspace(0,2*pi,101);
ctheta=cos(theta);
stheta=sin(theta);
ZETACIRC=circrad*(ctheta+1i*stheta)+offset;
ZCIRC=ZETACIRC+a^2./ZETACIRC;
fill(real(ZCIRC),imag(ZCIRC),'r','FaceAlpha',1);
%axis(xmax*[-1 1 -1 1]);
axis(3*[-1 1 -1 1]);
%axis([1.5 2.5 -.5 .5]);
%axis equal
grid on
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
figure % CONTOURS OF SPEED
dWdZ=U*exp(1i*-alf)...
-U*exp(1i*alf)*circrad^2./(ZETA-offset).^2 ...
+vortex*1i./(ZETA-offset);
Q=abs(dWdZ);
v2=0:.05:3;
contour(X,Y,Q,v2);
colorbar
hold on
%--------------------------------------------------------------------------

17


theta=linspace(0,2*pi,101);
ctheta=cos(theta);
stheta=sin(theta);
ZETACIRC=circrad*(ctheta+1i*stheta)+offset;
ZCIRC=ZETACIRC+a^2./ZETACIRC;
fill(real(ZCIRC),imag(ZCIRC),'r','FaceAlpha',1);
%axis(xmax*[-1 1 -1 1]);
axis(3*[-1 1 -1 1]);
%axis([1.5 2.5 -.5 .5]);
%axis equal
grid on
if kutta~=0
title(['Contours of Speed a = ',num2str(a),...
' r_c = ',num2str(circrad),...
' r_o_f_f = ',num2str(roff),...
' \delta = ',num2str(deltadeg),'\circ',' U = ',num2str(U),' Kutta
On']);
else
title(['Contours of Speed a = ',num2str(a),...
' r_c = ',num2str(circrad),...
' r_o_f_f = ',num2str(roff),...
' \delta = ',num2str(deltadeg),'\circ',' U = ',num2str(U),' Kutta
Off']);
end
xlabel('X');
ylabel('Y');
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
figure % CONTOURS OF PRESSURE COEFFICIENT
CP=1-Q.^2/U^2;
v3=-10:.1:1;
contour(X,Y,CP,v3);
colorbar
hold on
%-------------------------------------------------------------------------theta=linspace(0,2*pi,101);
ctheta=cos(theta);
stheta=sin(theta);
ZETACIRC=circrad*(ctheta+1i*stheta)+offset;
ZCIRC=ZETACIRC+a^2./ZETACIRC;
fill(real(ZCIRC),imag(ZCIRC),'r','FaceAlpha',1);
%axis(xmax*[-1 1 -1 1]);
axis(3*[-1 1 -1 1]);
%axis([1.5 2.5 -.5 .5]);
%axis equal
grid on
if kutta~=0
title(['Contours of Pressure Coefficient a = ',num2str(a),...
' r_c = ',num2str(circrad),...
' r_o_f_f = ',num2str(roff),...
' \delta = ',num2str(deltadeg),'\circ',' U = ',num2str(U),' Kutta
On']);
else
title(['Contours of Pressure Coefficient a = ',num2str(a),...
' r_c = ',num2str(circrad),...
' r_o_f_f = ',num2str(roff),...
' \delta = ',num2str(deltadeg),'\circ',' U = ',num2str(U),' Kutta
Off']);
end

18


xlabel('X');
ylabel('Y');

19

20

You might also like