You are on page 1of 7

THE VORTEX PANEL NUMERICAL METHOD

AIRFOIL CHARACTERISTIC CALCULATION

One of the most important aspect of Aerodynamics is the calculation of lift and drag on a certain
body. This provides engineers with the ability to create objects that could overcome the force of drag,
and work with higher efficiency. Vortex Panel Numerical Method (VPNM) has been utilized since the
1970s, to calculate the aerodynamic characteristics of bodies that have arbitrary shape, thickness and so
on. The objective of the current project is to understand VPNM and employ in calculating lift coefficient,
pressure coefficient and tangential velocity of a NACA 0012 airfoil. The project deals with developing an
iterative solving method in MATLAB that will work with VPNM, utilizing 32 segments each for the top
and bottom surface of the airfoil, to create graphs of lift coefficient, pressure coefficient, and tangential
velocity for upper and lower surface of a thick airfoil.
NACA 0012 is a symmetric airfoil, which has a maximum thickness of 12.2% at 22.5% chord
(AirfoilTools). The coordinates used for the airfoil are listed in the table below. These were obtained
from www.airfoiltools.com and provide a general idea of how the airfoil is designed. To be able to use
the MATLAB code listed in the appendix of the paper, the following values in Table 1 should be
replicated in a notepad file, and named airfoil-data.txt, which would be read by MATLAB to run the
program. A description of each value is provided in the table, and hence reader can use it as an aid to
run the program on any airfoil. The MATLAB code was developed by L. Sankar in April on 1997 (Sankar,
1997).

Table 1 A replication of the input file used for the MATLAB code by L. Sankar
10 Angel of Attack
32 number of coordinates on upper surface
32 number of coordinates on lower surface
1 symmetric airfoil
1y coordinate multiplier
Remaining are the x-y coordinates
0
0
0.005
0.01438

0.01
0.02
0.03
0.04
0.05
0.06
0.08
0.1
0.125
0.15

0.02074
0.02925
0.03522
0.03982
0.04351
0.04655
0.05121
0.05454
0.0574
0.05924

0.175
0.2
0.225
0.25
0.275
0.299
0.349
0.399
0.449
0.5

0.06033
0.06087
0.061
0.06084
0.06048
0.06002
0.05951
0.05808
0.05588
0.05294

0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1

0.04952
0.04563
0.04133
0.03664
0.0316
0.02623
0.02053
0.01448
0.00807
0.00126

Numerous freestream conditions and assumptions are made so as to use the VPNM. This assumptions
come from the vortex panel numerical method and the Bernoullis equation, which is eventually
responsible for providing the tangential velocity in the program. The assumptions made are:
-

incompressible flow
viscous fluid
no slipping boundary condition
dp/dx not equal to zero
freestream velocity is 10m/s

2D flow
viscous coefficient is constant
density is constant
kutta condition is satisfied
angle of attack is 10

Plots Obtained from Vortex Panel Numerical Method:


Three plot were required to be obtained for the objective of the project. These plots are lift coefficient,
pressure coefficient, and tangential velocity. Below are the three plots and a brief explanation with
regards to them.

Figure 1 Cl vs x/c
Figure 1 is a graph of the coefficient of lift plotted against the collection points, which is the x
coordinates nondimensionalized using the chord of the airfoil, c. The upper line is the coefficient of lift
on the lower surface of the airfoil, and the lower line is coefficient of lift on the upper surface of the
airfoil, both obtained by the panel method. As the plot suggests, the lift increase on the lower surface as
one moves away from the leading edge, and it decreases on the upper surface. After a certain point, the
increase and decrease balances out.

Figure 2 Cp vs x/c
Figure 2 provides a plot of the coefficient of pressure against the x coordinates nondimensionalized
using the chord of the airfoil, c. It is calculated using the help of the Bernoullis equation and gives an
insight on the stagnation point as well as the point of lowest pressure along the airfoil. Furthermore, the
plot also provides information on the severity of the pressure gradient along the upper surface of the
airfoil.

Figure 3 Tangential Velocity vs x/c


Figure 3 is a plot of the tangential velocity alongside the surface of the airfoil, with respect to the x
coordinates nondimensionalized using the chord of the airfoil, c. The plot resembles that of the
coefficient of pressure in Figure 2 and provides a brief idea how tangential velocity is related to the
pressure coefficient. The velocity was obtained by using Bernoullis equation and the equation for
pressure coefficient (Anderson, 2011). Hence, eventually, the tangential velocity falls in direct relation
with pressure coefficient, which leads to the similarity between Figure 2 and 3. The graph explains how
in regions where V > V or p < p, Cp will be a negative value.

Discussion of Results:
The code calculated the coefficient of lift to be 1.1798 and the coefficient of drag to be 0.0048. The
project provides an idea of how a numerical iterative method can be utilized in solving the problem of a
steady flow on a given airfoil profile by using the vortex panel numerical method. Furthermore, it
illustrates a clear relationship between the coefficient of pressure and the tangential velocity over an
airfoil. In addition to that, it was also found that the coefficient of lift on the lower surface of airfoil
increases while it decreases on the upper surface of the airfoil.

APPENDIX:
-

MATLAB CODE DEVELOPED BY L SANKAR (Sankar, 1997)

% Panel Code in MATLAB


% Coded by L. sankar,
April 1997
% Open a File and read
airfoil coordinates
fid = fopen('airfoildata.txt','r')
% Read Angle of Attack
alpha =
fscanf(fid,'%f',1);
% read number of points on
the upper side of airfoil
nu = fscanf(fid,'%d',1);
% read number of points on
the lower side of airfoil
nl = fscanf(fid, '%d',1);
% read Flag that states if
this airfoil is symmetric
% if isym > 0 then airfoil
is assumed symmetric
isym = fscanf(fid,'%d',1);
% Read a scaling factor
% The airfoil y- ordinates
will be multiplied by this
factor
factor=fscanf(fid,'%f',1);
if(isym>0)
nl = nu;
end
% Allocate storage for x
and y
x = zeros(1,100);
y = zeros(1,100);
% Read the points on the
upper surface
for i = nl:nl+nu-1
a=fscanf(fid,'%f',1);
b = fscanf(fid,'%f',1);
x(i) = a;
y(i) = b * factor;
end
for i =1:nl
x(nl+1-i) = x(nl1+i);
y(nl+1-i) = - y(nl1+i);
end
fclose(fid);
% Plot the airfoil on
window #1
plot(x,y);
n=nu+nl-2;
A=zeros(n+1,n+1);
ds=zeros(1,n);
pi=4. * atan(1.0);
% Assemble the Influence
Coefficient Matrix A
for i = 1:n

for j = 1:n
a(j,n+1) = 1.0;
for i = 1:n
if i == j
a(i,i) =
ds(i)/(2.*pi)
*(log(0.5*ds(i)) - 1.0);
else
xm1 = 0.5 *
(x(j)+x(j+1));
ym1 = 0.5 *
(y(j)+y(j+1));
dx = (x(i+1)x(i))/ds(i);
dy = (y(i+1)y(i))/ds(i);
t1 = x(i) - xm1;
t2 = y(i) - ym1;
t3 = x(i+1) - xm1;
t7 = y(i+1) - ym1;
t4 = t1 * dx + t2 *
dy;
t5 = t3 * dx + t7 *
dy;
t6 = t2 * dx - t1 *
dy;
t1 = t5 *
log(t5*t5+t6*t6) - t4 *
log(t4*t4+t6*t6);
t2 = atan2(t6,t4)atan2(t6,t5);
a(j,i) = (0.5 * t1t5+t4+t6*t2)/(2.*pi);
end
end
a(n+1,1) = 1.0;
a(n+1,n) = 1.0;
end
% Assemble the Right hand
Side of the Matrix system
rhs=zeros(n+1,1);
alpha = alpha * pi /180;
xmid=zeros(n,1);
for i = 1:n
xmid(i,1) = 0.5 * (x(i)
+ x(i+1));
ymid = 0.5 * (y(i) +
y(i+1));
rhs(i,1) = ymid *
cos(alpha) - xmid(i) *
sin(alpha);
end
gamma = zeros(n+1,1);
% Solve the syetm of
equations
% In MATLAB this is easy!
gamma = a\rhs;
cp=zeros(n,1);

% Change the file name below, to


open a new file every time
fid=fopen('cp4.dat','w');
fprintf(fid,'
X
CP\n\n');
for i = 1:n
cp(i,1) = 1. - gamma(i) *
gamma(i);
cp1(i,1) = - cp(i,1);
xa
= xmid(i,1);
cpa = cp(i,1);
% Write x and Cp to the file
% The xa- coordinate is the center
points of panel 'i'
% Cpa is the Cp value at that
point
fprintf(fid,'%10.4f
%10.4f\n',xa,cpa);
end
% Open a new figure and plot x vs.
Cp
figure(2);
plot(xmid,cp);
title('Coefficient of Pressure vs
Distance')
xlabel('Xmid')
ylabel('Coefficient of Pressure')
% Compute Lift and Drag
Coefficients
cy = 0.0;
cx = 0.0;
for i=1:n
dx = x(i+1) - x(i);
dy = y(i+1) - y(i);
cy = cy - cp(i,1) * dx;
cx = cx + cp(i,1) * dy;
cl(i,1) = cy * cos(alpha) - cx *
sin(alpha);
end
% Print Lift and Drag coefficients
on the screen
cd = cy * sin(alpha) + cx *
cos(alpha)
%%%%%%%%Plotting the coefficiet of
lift and distance graph
figure(3);
plot(xmid,cl);
title('Coefficient of Lift vs
Distance ')
xlabel('Xmid')
ylabel('Coefficient of Lift')
%%%%%%% Calculating the
tangential velocity by assuming
freestream
%%%%%%% velocity to be 30m/s
vinf = 30;
v = vinf * sqrt(1-cp);

t1= x(i+1)-x(i);
t2 = y(i+1)-y(i);
ds(i) =
sqrt(t1*t1+t2*t2);
end

cp1=zeros(n,1);
% Open a file to write x
vs. Cp and the Loads

%%% Plotting the tangential


velocity and distance graph
figure(4);
plot(xmid,v);
title('Tangential Velocity vs
Distance')
xlabel('Xmid')
ylabel('Tangential Velocity
(m/s)')
% Write lift and Drag coefficients
to a file
fprintf(fid,' CL
CD\n');
fprintf(fid,'%10.4f %10.4f\n',
cl,cd);
fclose(fid);

References:
Anderson, J. D., Fundamentals of aerodynamics, Fundamentals of aerodynamics, New York,
NY: McGraw-Hill, 2011.
NACA0012H for VAWT from Sandia report SAND80-2114 (naca0012h-sa), NACA0012H for
VAWT from Sandia report SAND80-2114 (naca0012h-sa) Available:
http://www.airfoiltools.com/airfoil/details?airfoil=naca0012h-sa.
Sankar, L., Panel Code in MATLAB, http://soliton.ae.gatech.edu/ Available:
http://soliton.ae.gatech.edu/people/lsankar/ae2020/panel.method.matlab.code.