Вы находитесь на странице: 1из 24

APRIL 30, 2015

TERM PROJECT
NACA 23012
HIMANSHU MODI
FLORIDA INSTITUTE OF TECHNOLOGY

1.1 DESIGN PROBLEM STATEMENT NACA 23012 airfoil


Using the vortex panel method design a NACA 23012 airfoil for Reynolds
numbers 3.106 and 6.106 for a chord length of 1.5 m.
Find the boundary layer parameters assuming the equivalent flat plate
relations. Use the source panel distribution to include the effect of boundary
layer displacement thickness on the potential airfoil shape.

Use a simple turbulence diffusion model in the wake to predict the post stall
aerodynamics characteristics. Plot and analyze the Cl, Cm,1/4C, and Cd vs AOA
(-200 to +200) distributions.
Compare your results with the experimental data published in text books (e.g.
Theory of Wing Sections by Abbot and von Doenhoff) and comment.
Describe, how you can increase the maximum L/D ratio of the section.

1.2 Introduction:
We have several ways to get a lift and pressure estimates for the airfoil. A simple thin airfoil theory
can give us overall idea about it, this method has more general and its accuracy decreases with
increase in the airfoil thickness.

What are panel methods?


Panel method helps us to divide the airfoil into several panels to obtain lift and pressure. The Fig.1
shows the basic concept used in this method.

Figure 1. Representation of an airplane flowfield by panel methods

To each panel there is attached one or more types of singularity distributions, like sources, vortices,
and doublets. In 2-D, the airfoil surface is divided into piecewise straight line segments or panels
or boundary elements and vortex sheets of strength are placed on each panel.

We use this vortex sheets of strength ds, where ds is the length of the panel because vortices gives
rise to circulation and then the lift, these vortex sheets impersonates the boundary layer around the
airfoil.
2D Panel methods refers to numerical methods for calculating the flow around any wing section.
It is done by replacing the wing geometry by singularity panel distributions, like sources, vortices,
and doublets.
The typical boundary conditions applied are:
Kutta Condition
Impermeability

Here we are being provided with the type of the airfoil and the coordinates and the number of the
panels on the airfoil.
For the airfoil NACA 23012

1st digit * (3/2) gives design lift coefficient in tenths of chord (0.3), for most of the parts
its always 2.
(Next two digits)/2 gives: location of maximum camber from the leading edge along the
chord in hundredths of chord (0.15c or 15%).
Last two digits: maximum thickness in hundredths of chord (0.12c or 12%).

For the given coordinates from the Theory of Wing Sections by Abbot and von Doenhoff as shown
in Figure 2 we can obtain the set of the X-Y locations for generating the airfoil.
In the airfoil the upper surface boundary layer contains clockwise rotating vorticity and the lower
surface boundary contains counter clockwise vorticity. As there is more clockwise vorticity than
the counter clockwise vorticity, the overall net vorticity around the airfoil is in clockwise
circulation as shown in Figure 3.
The airfoil generated for this project is done by using the Matlab software. Now as seen in figure
we have 19 panels on each upper surface as well as the lower surface of the airfoil, which may not
provide us the accurate shape of the airfoil because more the panels on the surface boundary layer
the more accurate airfoil we can generate and also the more effectively we can use the boundary
layer conditions on it.

Figure 2. Coordinates of the airfoil from Theory of Wing Sections by Abbot and von Doenhoff

1.3 The source Panel method:


The panel methods model the potential flow around a body by distributing sources over the body
surface. In this way, the potential flow around a body of any shape can be calculated to a very high
degree of precision. The method was developed by Hess and Smith at Douglas Aircraft.

For the airfoil NACA 23012

1st digit * (3/2) gives design lift coefficient in tenths of chord (0.3), for most of the parts
its always 2.
(Next two digits)/2 gives: location of maximum camber from the leading edge along the
chord in hundredths of chord (0.15c or 15%).
Last two digits: maximum thickness in hundredths of chord (0.12c or 12%).

.
To calculate the thickness of the airfoil at a given x-coordinate measured along the chord line,
the following equation is used:

Where tmax is the maximum thickness, x is the distance along the chord line, and c is the chord
length. The mean camber line is given by:

Where mmax is the maximum camber, and mx is the x-coordinate along the chord line of the
maximum camber

The points along the airfoil can be calculated as

For Upper surface,

and

For Lower surface,


Where,

So with these equations we can plot our required airfoil and all the points will be connected as
straight lines to form panels, a 19 panels NACA 23012 airfoil as we already know the
coordinates of the airfoil shown below in Table 1.

X
0
0.001875
0.00375
0.0075
0.01125
0.015
0.0225
0.03
0.0375
0.045
0.06
0.075
0.09
0.105
0.12
0.135
0.1425
0.15
0.15

Y
0
0.004005
0.005415
0.007365
0.0087
0.009645
0.010785
0.01125
0.0114
0.011325
0.01071
0.009615
0.008205
0.00654
0.00462
0.00252
0.00138
0.000195
0

Table 1. X-Y coordinates for the Leading edge

The Figure 4 shows the airfoil generated for the given specifications of NACA 23012 for this
problem with 19 panels and chord length of 1.5m.

Figure 4. NACA 23012 airfoil

To create the simulation of flow around the airfoil, each panel is treated along a uniform source
panel, and each panel is emitting a constant source of fluid along its length parallel to the normal
vector of each panel.

Figure 5. The source panel

The velocity of the flow in the radial direction is given by

Where m is the source strength and r is the radial distance from the source. Since the airfoil is
made up of multiple panels, the flow from each panel affects the flow at each other panel. Panels
on the bottom of the airfoil induce a flow upwards on the top panels, and the top panels induce a
flow downwards on the bottom panels.
Now to solve this we place the point source at the control point of each panel, which is located at
the center point. Finding the location of the control point is simple.

The coefficient of pressure at each panels control point can be calculated:

Where

Or in vector form it can be written as

The matlab code for all the above description is in appendix A.

1.4 THE VORTEX PANEL METHOD:


The source panel method is for non-lifting bodies, whereas the vortex panel method is for lifting
bodies. The specific approach used approximates the airfoil by using a series of infinite, discrete
bound vortices (as in figure 6) to approximate a continuous distribution of vorticity. In the unsteady
case, the airfoil wake is similarly approximated. As well, since all motions considered are planar,
a 2-dimensional approximation was employed

Figure 6. Discrete Vortex filaments (point Vortices in 2D) Reprinted from Ref. 13

Vortex Flow, as depicted in figure 7, is a potential flow. We may express the potential due to any
such point vortex (in a cylindrical reference frame centered at the vortex source) as:

Figure 7. Vortex Flow Reprinted from Ref. 13

As such, the velocity induced by the vortex at any point in the flow field can be found by taking
the gradient of the potential:
k
V j j
j
2r j
where rj is the distance from the centre of the vortex and j is the vortex strength. This type of
source has proved particularly useful for approximating the flow over airfoils since it automatically
satisfies the far-field boundary condition of Laplaces equation which allows us to decompose the
potential into two components: the potential due to the interaction of all the bound vortices and the
potential at infinity:
V V

However, it is necessary to remember that the vortex possesses a singularity at the source and
artificially high velocities can result if several vortices are brought too close together. In the
steady state case all vortices are motionless whether on an infinitely thin plate or in a wrapped
configuration. As well, the airfoil surface is considered to be impermeable that is all flows are
purely tangential to the surface.
A brief note on conventions is required. While Zdunich uses the subscript i to denote panels and
control points, it was decided to instead retain i for use with the control points while j is used for
the panels since they are associated with the bound vortices.

Flow Tangency Condition


Since the airfoil is solid it is required that, at the surface, the flow be tangential. Thus it is
convenient to formally define this:
n j (V stream ) n j 0
As the gradient of the potential is related to the vortex strengths through equation 2.2, it
turns out that this constraint will allow us to solve for the vortex strengths according to:

(V ) n j V n j j
j

k r jp
2 r jp

n j 0

Thus, we can find the velocity potential at any point p along the airfoil.

1.4 Kutta Condition


While flow tangency provides us with n equations in n unknowns, namely the vortex strengths,
we have not yet constrained the way in which the flow comes off the airfoil. We accomplish
this by applying a kutta-type constraint - that is we require the flow to smoothly come off the
trailing edge of the airfoil. However, this causes the system to become overdetermined, since
we now have n+1 equations in n unknowns. Therefore, it is necessary to ignore the flow
tangency condition at one of the control points.

In the case of the flat panel, this is enforced by requiring that the flow to be orthogonal to the
unit normal of the final panel at the trailing edge. Thus, the constraint is of the following form

V nTE j
j

k r jTE
2 r jTE

nTE 0

As for the finite thickness airfoil, Anderson specifies that unless we have a cusped trailing edge
from which the flow may proceed smoothly, the velocity potential must go to zero at the TE.
This is the only way to reconcile the opposing potentials at this point. As such, the kutta
condition for a finite thickness airfoil becomes:

TEu TEl
Where TEu is the vortex strength on the upper panel at the trailing edge and TEl is the vortex
strength on the lower panel at the trailing edge. It is critical that both singularities be equal
distances from the trailing edge in order to cancel each other perfectly. As well - as in the case
of the flat plate airfoil - we must ignore one of the flow tangency equations at a particular
control point in order to apply this condition.

In order to calculate the forces and moments acting on the airfoil, it is necessary to find an
expression for the pressure distribution over the airfoil by relating it to the velocity field obtained
from the interaction of the vortices. It can be shown from Bernoulis equation that the pressure
difference across a panel is given by:

V 2 V 2
p j pu pl l u (Vl Vu )(Vl Vu )
2 2
2

For a single flat sheet, the sum of velocity is also required. From Zdunich, this is given as twice
the velocity found at the chord line. Thus:

j
p j tj (V ) j
l
j
From above equation we can derive the force on each individual panel:
f j b(l j p j k)
This can then be summed up over the panels to give the totals for forces and moments acting on
the airfoil according to:
L j f j
j

D j f j i

M j (r j r ea ) f

The geometry of the flat panel case is provided in Figure 4. It is important to note that the
numbering begins at the leading edge.

Figure 8: Coordinate System used for Steady State Flat Panel Code Reprinted from Ref. 10 with modifications to the
model shown in grey

It is apparent that we can rewrite the terms involving the vortex strength to produce:
V n i Aij j 0
j

Aij

Where

k r ji
2 r ji

n j

Aij is referred to as an influence coefficient and depends uniquely upon the geometry of the airfoil.
As such, since we have n-1 flow tangency conditions at n-1 control points and one kutta condition
at the TE, we produce the following linear system:

A11

Ai1


ATE1

A1 j

Aij

ATEj

A1n 1 V n1 0



j V n i 0


ATEn n V nTE 0

This system was solved using the Matlab \ operator. Note that the final row of the A matrix is
the set of equations corresponding to the kutta condition and as such are denoted by TE.
One interesting point is the consistency of the observed total circulation (i.e. the sum of all the
bound vortex strengths). This is surprising since the theoretical distribution of vorticity is
(theoretically) infinite at the leading edge. As it turns out, the vortices appear to compensate for
one another, as such, the circulation estimate is essentially perfect with only a few panels.
However, the greater the number of panels the better the estimate of the chord-wise circulation
distribution and hence the distribution of lift and moment.
Additionally, the precise form of the kutta condition requires some explanation. It was mentioned
that once the kutta constraint was added, an over-determined system resulted. The solution
necessitated ignoring the flow tangency condition at one control point. But which control point to
ignore?

As it turns out this is not an altogether arbitrary decision. From symmetry, it is desirable to neglect
either the LE or TE control point, however, only one of these points is correct: the LE point. If
instead we neglect the Trailing Edge point, we find that the vorticity distribution is the reverse and
negative of the expected trend with the vorticity tending towards negative infinity at the TE. While

of minor importance to the steady state case, reversing the control point ordering for the timestepping case will result in erroneous results through interaction with the nascent wake vortex.

References
[ 1 ] Strickland, J.H. (1975) The Darrius Turbine: A Performance Prediction Model using
Multiple Stream Tubes. United States Department of Energy, Sandria Laboratories.
[available online] http://www.prod.sandia.gov/cgi-bin/techlib/accesscontrol.pl/1975/750431.pdf
[ 2 ] Jeffery, J.R. (1977) Oscillating Aerofoil Project. Report from the Pocklington School
Design Centre, West Green, Pocklington, York, England.
[ 3 ] Payne, P.R. (1978) The Aeolian Windmill and other oscillating energy extractors.
Annual Meeting of the American Chemical Society.
[ 4 ] Farthing S. (1979) private communication to William McKinney. As reported in
Reference 6.
[ 5 ] Wilson, R.E. and Lissaman, P.B.S. (1974) Applied Aerodynamics of Windmills. NTIS PB238, 595.
[ 6 ] McKinney, W and DeLaurier, JD (1981) The Wingmill: An Oscillating-Wing Windmill.
Journal of Energy vol 5, n2, pp109-115.
[ 7 ] Adamko, D.A. and DeLaurier, J.D. (1978) An experimental study of an Oscillating
Wing Windmill. Proceedings of the Second Canadian Workshop on Wind
Engineering pp 64-66.
[ 8 ] Teng, N.H. (1987) The development of a computer code for the numerical solution of
unsteady, inviscid and incompressible flow over and airfoil. Masters Thesis, Naval
Postgraduate School.
[ 9 ] Winfield, J.F. (1990) A Three-Dimensional Unsteady Aerodynamic Model With
Applications to Flapping-Wing Propulsion. Masters Thesis. University of Toronto
Institute for Aerospace Studies. Toronto, Ontario, Canada.
[ 10 ] Zdunich, P. (2002) A Discrete Vortex Model of Unsteady Separated Flow About a Thin
Airfoil for Application to Hovering Flapping Wing Flight. Masters Thesis. University
of Toronto Institute for Aerospace Studies. Toronto, Ontario, Canada.

[ 11 ] Jones K.D. , Davids, S. and Platzer, M.F. (1999) Oscillating Wing Power Generation
ASME Paper 99-7050 in Proceedings of the third ASME/JSME Joint Fluids
Engineering Conference.
[ 12 ] Brakez, A, Zrikem, Z, and Mir, A (2002) Modlisation de lExtraction de lEnergie
Eolienne par une Aile Oscillante. In Procd de la Forum Internationale sur les
Energies Renouvelables (FIER) 2002.
[ 13 ] Anderson, J.D. (2001) Fundamentals of Aerodynamics. 3rd Edition. Published by
McGraw Hill Publishing.
[ 14 ] Jones, K.D. (2003) Online Continuous Vortex Panel Solver [online]
http://www.aa.nps.navy.mil/~jones/
[ 15 ] Garrick, I. E. (1938) On some reciprocal relations in the theory of nonstationary
flows. NACA Technical Report n629.
[ 16 ] Chow, C.Y. (1979) Introduction to Computational Fluid Mechanics. Published by John
Wiley and Sons Publishing.

Appendix A
clear all;
clc;
close all;
%Get start time
t_0 = cputime;
%General variables
c = 1.500; %chord length
N = 19; %Positive integer number of points to use on one side
u_inf = 1; %Strenght of the free stream velocity
aoa = 0*pi/180; %Angle between u inf and +x?axis in radians
%NACA inputs:
naca_1 = 2;
naca_2_3 = 30;
naca_4_5 = 12;

%Converting to useful airfoil measurements


m_max = naca_1/100; %Maximum camber, in percent of chord
m_x = naca_2_3/10; %Position of max camber, in tenths of chord
t_max = c*naca_4_5/100; %Maximum thickness
%%
%
x
x

Find the panel end points


Define a vector of x coordinates
= linspace(0, c, N); %Varied distances from 0 to chord along the airfoil
= transpose(x);

%Calculate the height above mean chord line


y_t = (t_max/.2)*c*(.2969*sqrt(x/c) - .126*(x/c) - .3516*(x/c).^2 + ...
.2843*(x/c).^3 - .1036*(x/c).^4);
%Calculate the mean camber line
y_c = zeros(length(x), 1);
y_cPrime = zeros(length(x), 1); %the derivative of the y c line with ...
%respect to x
theta = zeros(length(x), 1);
for i = 1:length(x)
if(x(i) < m_x*c)
y_c(i) = m_max*(x(i)/m_x^2)*(2*m_x - x(i)/c);
y_cPrime(i) = (2*m_max*(c*m_x - x(i)))/(c*m_x^2);
theta(i) = atan2(2*m_max*(c*m_x - x(i)), c*m_x^2);
else
y_c(i) = m_max*((c - x(i))/(1 - m_x)^2)*(1 + x(i)/c - 2*m_x);
y_cPrime(i) = 2*m_max*(c*m_x - x(i))/(c*(1 - m_x)^2);
theta(i) = atan2(2*m_max*(c*m_x - x(i)), c*(1 - m_x)^2);
end
end

lowerPts = [x + y_t.*sin(theta), y_c - y_t.*cos(theta)];


upperPts = [x - y_t.*sin(theta), y_c + y_t.*cos(theta)];
%Make sure there is only one TE point and only one LE point
upperPts = upperPts(1:end-1, :); %delete the TE point
lowerPts = lowerPts(2:end, :); %delete the LE point
%Create a combination of all points in order moving CW around the airfoil
%starting at the LE
allPts = vertcat(upperPts, flipud(lowerPts));
%% Calculate various lenghts, angles, and vectors
%Find the length of each panel
sideLen = zeros(length(allPts(:,1)),1);
for i = 1:length(allPts(:,1));
if(i + 1 > length(allPts))
sideLen(i) = sqrt((allPts(i, 1) - allPts(1, 1))^2 + ...
(allPts(i, 2) - allPts(1, 2))^2 );
else
sideLen(i) = sqrt((allPts(i, 1) - allPts(i + 1, 1))^2 + ...
(allPts(i, 2) - allPts(i + 1, 2))^2 );
end
end
%Find all control point locations and alpha values
CP = zeros(length(allPts(:,1)), 2);
alpha = zeros(length(allPts(:,1)), 1);
for i = 1:length(allPts(:,1))
if(i + 1 > length(allPts)) %connect the last point to the first point
alpha(i) = pi/2 + atan2(allPts(1, 2) - allPts(i, 2),...
allPts(1, 1) - allPts(i, 1));
CP(i,:) = allPts(i, :) + (allPts(1, :) - allPts(i, :))/2;
else
alpha(i) = pi/2 + atan2(allPts(i + 1, 2) - allPts(i, 2),...
allPts(i + 1, 1) - allPts(i, 1));
CP(i,:) = allPts(i, :) + (allPts(i + 1, :) - allPts(i, :))/2;
end
end
%Find the normal and tangent vectors for each panel
nVec = [cos(alpha), sin(alpha)];
tVec = [cos(alpha - pi/2), sin(alpha - pi/2)];
% Find distance between control points and the angle between each ray and
% the free stream velocity.
L = zeros(length(CP(:,1)), length(CP(:,1)));
beta = zeros(length(CP(:,1)), length(CP(:,1)));
for i = 1:length(CP(:,1))

for j = 1:length(CP(:,1))
if(i == j)
L(i,j) = 0;
beta(i,j) = alpha(i);
else
L(i, j) = sqrt((CP(j, 1) - CP(i, 1))^2 + (CP(j, 2) - CP(i, 2))^2);
beta(i, j) = atan2(CP(j, 2) - CP(i, 2), CP(j, 1) - CP(i, 1));
end
end
end
%convert u inf to a vector
u_inf_vector = zeros(length(allPts(:,1)),2);
u_inf_vector(:,1) = cos(aoa);
u_inf_vector(:,2) = sin(aoa);
% Find the normal and tangential components of u inf wrt each panel
b_n = zeros(size(nVec(:,1)));
b_t = zeros(size(tVec(:,1)));
for i = 1:length(allPts(:,1))
b_n(i) = -1*dot(u_inf_vector(i,:), nVec(i,:));
b_t(i) = dot(u_inf_vector(i,:), tVec(i,:));
end
% Find the normal influence components and the tangential influence ...
%coefficients%
normCoeff = zeros(length(CP(:,1)), length(CP(:,1)));
tanCoeff = zeros(length(CP(:,1)), length(CP(:,1)));

for i = 1:length(CP(:,1));
for j = 1:length(CP(:,1));
if(i == j)
normCoeff(i, j) = 1/(2*sideLen(i));
tanCoeff(i, j) = 0;
else
normCoeff(i, j) = cos(beta(j,i) - alpha(i))/(2*pi*L(j,i));
tanCoeff(i, j) = cos(beta(j,i) - alpha(i) + pi/2)/(2*pi*L(j,i));
end
end
end
% Use linear algebra to solve for the source strength of each panel
m = normCoeff\b_n;
%Use the tangential influence coefficients to find the tangential
%velocities at each panel
v_Si = tanCoeff*m + b_t;
%Compute the coefficient of pressure
CPressure = 1 - (v_Si/u_inf).^2;
%Compute time to do the calculations
t_elapsed = cputime - t_0;
fprintf('Time needed to do calculations: %6.4f', t_elapsed);

%% Plotting
%Create title string
strTitle = sprintf('NACA_%i%i%i', naca_1, naca_2_3, naca_4_5);
% Plot control points and normal vectors
figure();
hold on;
quiver(CP(:, 1), CP(:, 2), nVec(:,1), nVec(:,2), 0.5, 'g');
quiver(CP(:, 1), CP(:, 2), tVec(:,1), tVec(:,2), 0.5, 'm');
plot(CP(:, 1), CP(:, 2), 'r*');
%Plot the points
plot(allPts(:, 1), allPts(:,2), '-*');
%connect the last point to the first point
plot([allPts(end,1), allPts(1,1)], [allPts(end,2), allPts(1,2)], '-*');
axis([-0.1, 2.0, -.6, .6]); %Set the xMin, xMax, yMin, yMax respectively
set(gca,'DataAspectRatio', [1 1 1]);
grid on;
legend('Normal_Vectors', 'Tangent_Vectors', 'Control_Points');
xlabel('x');
ylabel('y');
title(strTitle);
% Plot the airfoil and the coefficient of pressure
% Plot control points and normal vectors
figure();
hold on;
plot(allPts(1:N, 1), CPressure(1:N), 'g');
plot(allPts(N+1:end, 1), CPressure(N+1:end), 'r');
plot(allPts(:, 1), -1*allPts(:,2));
%connect the last point to the first point
plot([allPts(end,1), allPts(1,1)], -1*[allPts(end,2), allPts(1,2)]);
axis([-0.25, 2.0, -1, 1]); %Set the xMin, xMax, yMin, yMax respectively
set(gca,'DataAspectRatio', [1 1 1]);
legend('C_P ? Top', 'C_P ? Bottom', 'Location', 'SE');
xlabel('x');
ylabel('C_P');
title(strTitle);
set(gca, 'YDir', 'reverse');
grid on;
% Plot the velocities
figure();
hold on;
quiver(-0.2, 0, u_inf_vector(1,1), u_inf_vector(1,2), 'r');
quiver(CP(:, 1), CP(:, 2), v_Si.*tVec(:,1), v_Si.*tVec(:,2), 'g');
plot(allPts(:, 1), -1*allPts(:,2));
%connect the last point to the first point
plot([allPts(end,1), allPts(1,1)], -1*[allPts(end,2), allPts(1,2)]);
axis([-0.25, 2.0, -0.5, 0.5]);
set(gca,'DataAspectRatio', [1 1 1]);
grid on;
legend('U_i_n_f', 'V_s');
title(strTitle);

%Verification of L and beta measurements


for i = 1:length(L(:,1))
figure(i + 3);
polar(beta(i,:), L(i, :), '*');
end

Вам также может понравиться