Airfoil Aerodynamics Using Panel Methods: Richard L. Fearn
Airfoil Aerodynamics Using Panel Methods: Richard L. Fearn
Richard L. Fearn
Potential flow over an airfoil plays an important historical role in the theory of flight. The governing equation for potential flow is Laplaces equation, a widely studied linear partial differential equation. One of Greens identities can be used to write a solution to Laplaces equation as a boundary integral. Numerical models based on this approach are known as panel methods in the aerodynamics community. This article introduces the availability of a collection of computational tools for constructing numerical models for potential flow over an airfoil based on panel methods. Use of the software is illustrated by implementing a specific model using vortex panels of linearly varying strength to compute the flow over a member of the NACA four-digit family of airfoils.
Introduction
Fluid dynamics is a branch of mechanics concerned with the motion of a fluid continuum under the action of applied forces. The motion and general behavior of a fluid is governed by the fundamental laws of classical mechanics and thermodynamics and plays an important role in such diverse fields as biology, meteorology, chemical engineering, and aerospace engineering. An introductory text on fluid mechanics, such as [1], surveys the basic concepts of fluid dynamics and the various mathematical models used to describe fluid flow under different restrictive assumptions. Advances in computational power and in modeling algorithms during the past few decades have enabled industry to use increasingly realistic models to solve problems of practical geometric complexity. Alternatively, these advances make it feasible to adapt some of the older, simpler models to inexpensive desktop computers. Aerodynamics is a branch of fluid dynamics concerned primarily with the design of vehicles moving through air. In the not-so-distant past, a collection of relatively simple numerical models, known as panel methods, was the primary computational tool for estimating some of the aerodynamic characteristics of airplanes and their components for cruise conditions. For example, Hess [2] commented in 1990 that at Douglas Aircraft Company, a major design calculation was performed using panel methods approximately 10 times per day. Panel methods are numerical models based on simplifying assumptions about the physics and properties of the flow of air over an aircraft. The viscosity of air in the flow field is neglected, and the net effect of viscosity on a wing is summarized by requiring that the flow leaves the sharp trailing edge of the wing smoothly. assumed to be zero (no vorticity in the flow field). Under these assumptions, the vector velocity describing the flow field can be represented as the gradient of a scalar velocity potential, Q = f, and the resulting flow is referred to as potential flow. A statement of conservation of mass in the flow field leads to Laplaces equation as the governing equation for the velocity potential, 2 f = 0. Laplaces
The Mathematica Journal 10:4 2008 Wolfram Media, Inc.
726
Richard L. Fearn
The compressibility of air is neglected, and the curl of the velocity field is assumed to be zero (no vorticity in the flow field). Under these assumptions, the vector velocity describing the flow field can be represented as the gradient of a scalar velocity potential, Q = f, and the resulting flow is referred to as potential flow. A statement of conservation of mass in the flow field leads to Laplaces equation as the governing equation for the velocity potential, 2 f = 0. Laplaces equation is a widely studied linear partial differential equation and is discussed in detail in classical books on applied mathematics such as [3]. It also plays an important role in the theoretical development of several fields, including electrostatics and elastic membranes as well as fluid dynamics. To solve the problem of potential flow over a solid object, Laplaces equation must be solved subject to the boundary condition that there be no flow across the surface of the object. This is usually referred to as the tangent-flow boundary condition. Additionally, the flow far from the object is required to be uniform. The results of solving Laplaces equation subject to tangent-flow boundary conditions provide an approximation of cruise conditions for an airplane. Using a vector identity, the solution to this linear partial differential equation can be written in terms of an integral over the surface of the object. This boundary integral contains expressions for surface distributions of basic singular solutions to Laplaces equation. A linear combination of relatively simple singular solutions is also a solution to the differential equation. This superposition of simple solutions provides the complexity needed for satisfying boundary conditions for flow over objects of complex geometry. Panel methods are based on this approach and are described in detail in [4]. Commonly used singular solutions for panel methods are referred to as source, vortex, and doublet distributions. Analogies can be made to other fields of study. The velocity field induced by a point source is analogous to the electrostatic field induced by a point charge. A doublet would be positive and negative charges of equal strength in close proximity. The velocity induced by a line vortex is analogous to the magnetic field induced by a current-carrying wire. The basic solution procedure for panel methods consists of discretizing the surface of the object with flat panels and selecting singularities to be distributed over the panels in a specified manner, but with unknown singularity-strength parameters. Since each singularity is a solution to Laplaces equation, a linear combination of the singular solutions is also a solution. The tangent-flow boundary condition is required to be satisfied at a discrete number of points called collocation points. This process leads to a system of linear algebraic equations to be solved for the unknown singularity-strength parameters. Details of the procedure vary depending on the singularities used and other details of problem formulation, but the end result is always a system of linear algebraic equations to be solved for the unknown singularity-strength parameters. Panel methods are applicable to two- and three-dimensional flows. For flow over a two-dimensional object, the flat panels become straight lines, but can be thought of as infinitely long rectangular panels in the three-dimensional interpretation. For two-dimensional potential flow, the powerful technique of conformal mapping can also be used as a solution procedure. Conformal mapping provides
Panel methods are applicable to two- and three-dimensional flows. For flow over a two-dimensional object, the flat panels become straight lines, but can be Airfoil Aerodynamics Using long Panelrectangular Methods 727 thought of as infinitely panels in the three-dimensional interpretation. For two-dimensional potential flow, the powerful technique of conformal exact solutions for certain airfoil shapes and is useful for validating numerical models. This article introduces a collection of three packages providing computational tools for the formulation and solution of steady potential flow over an airfoil. In addition to the packages and associated online help for functions defined, examples of model implementation and use are included. Each package is discussed briefly. This is followed by an example of step-by-step implementation of a particular model for a small discretization number with intermediate results displayed. Finally, the steps are assembled into a module representing a particular model, and the lift and pressure distribution on an airfoil are computed. This software collection is available in Mathematica 5.2 from library.wolfram.com/infocenter/MathSource/6075 . A Version 5.2 notebook of this article is available from the author upon request.
Needs@"Aerodynamics`InfluenceCoefficients2D`"D
r Q
Q2 Q2
density, speed, and pressure at a point in the flow field, and the subscript Richard L. Fearn 728 refers to conditions far from the airfoil. The dimensionless measure of pressure p- p is the pressure coefficient, defined by C p = 1 2 . Combining Bernoullis equar Q
tion and the definition for the pressure coefficient yields a simple equation for the pressure coefficient in terms of the local speed of the fluid, C p = 1 Q2 Q2
Using the aerodynamic sign convention, the circulation of the velocity field Q around a closed contour ! is defined by the line integral G = -! Q s . The lift force per unit length on an airfoil can be related to the circulation around the airfoil by the Kutta|Joukowski lift theorem " = r Q G. The aerodynamic sign convention used in the definition of circulation is chosen so that positive circulation leads to positive lift. The dimensionless measure for lift on an airfoil is the " two-dimensional lift coefficient, c" = 1 2 . If a dimensionless circulation is
2
r Q c
defined by G =
G , c Q
circulation. The Kutta condition summarizes the primary viscous effect of the flow on the airfoil and establishes the circulation around the airfoil by the simple statement that the flow leaves the sharp trailing edge of the airfoil smoothly.
Input Parameters
The example airfoil for illustrating the implementation of a panel method in this article is a member of the NACA four-digit family of airfoils. Specify the identification number for the airfoil and the angle of attack in degrees.
In[2]:=
The first of the four digits in the identification number gives the maximum camber in percent chord, the second digit gives the location of maximum camber in tenths of chord, and the last two digits give the thickness in percent chord. The discretization process is determined by a discretization number and one of three layout options (ConstantSpacing , CosineSpacing , or HalfCosine Spacing ) providing two alternatives to constant spacing of discretization points. Specify small (to illustrate a step-by-step implementation of the example) and large (for computing results) discretization numbers, and a layout option.
In[3]:=
Finally, specify a small number used to ensure that collocation points are computed to be outside of the discretization panels representing the airfoil.
In[4]:=
e = 10.-6 ;
If you have installed the software discussed in this article, you can change the input parameters and rerun the notebook for additional results using Mathematica 5.2. The cells immediately preceding the two figures are closed because they contain only graphic instructions for the figures. They can be opened for inspection or modification.
729
Packages
Data Type for Handling Collections of Vectors
The package CartesianVectors defines a data type to simplify the manipulation of large collections of n-dimensional vectors while maintaining packed arrays for efficient computation using machine numbers. The data type CartesianVec tors is represented in the format {vx vy vz}, where vx, vy, and vz are simple or nested lists of the components of the collection of vectors. The data type is designed to enable the manipulation of collections of vectors with notation commonly used for a single vector or for lists. Using a data type also simplifies pattern matching for valid input arguments for exported functions developed in other packages. The properties of the data type are defined by overloading existing Mathematica functions whenever possible. The package contains some exported functions including several functions specific to twodimensional vectors. As an example of using the data type, specify two collections of two-dimensional vectors, and compute the collection of displacement vectors from each vector in one group to every vector in the other group. This is a computation common to many n-body problems. The constructor for the data type is MakeCartesian Vectors.
In[5]:= Out[5]= In[6]:= Out[6]=
rA = MakeCartesianVectors@Array@xa, 3D, Array@za, 3DD 8xa@1D, xa@2D, xa@3D< 8za@1D, za@2D, za@3D< 8xb@1D, xb@2D< 8zb@1D, zb@2D< rB = MakeCartesianVectors@Array@xb, 2D, Array@zb, 2DD
Compute the displacement vectors from each point in rB to all points in rA.
In[7]:=
Out[7]=
xa@1D - xb@1D xa@1D - xb@2D za@1D - zb@1D za@1D - zb@2D : xa@2D - xb@1D xa@2D - xb@2D > : za@2D - zb@1D za@2D - zb@2D > xa@3D - xb@1D xa@3D - xb@2D za@3D - zb@1D za@3D - zb@2D NumberOfVectors@rABD 6
730
Richard L. Fearn
Airfoil Geometry
The package AirfoilGeometry provides functions to compute the geometry and discretization of airfoils in support of the construction of numerical models for potential flow over an airfoil. A list of x values used for discretization can be specified directly by the user or generated by the function NDiscretizeUnitSegment , which accepts a discretization number, n, as its input argument and divides the unit segment into n pieces. A layout option for this function allows constant spacing (default), cosine spacing, or half-cosine spacing. Cosine spacing provides finer discretization near the leading and trailing edges of the airfoil compared to constant spacing, and half-cosine spacing provides even finer discretization near the leading edge, but coarser discretization near the trailing edge compared to constant spacing. The function NACA4DigitAirfoil computes a list of thickness and camber properties at the x values, and the function AirfoilSurfacePoints computes the collection of vectors locating points on the surface of the airfoil from the list of thickness and camber properties. These points on the surface of the airfoil serve as panel end points for the discretized airfoil. Note that the result is expressed as the data type CartesianVectors as indicated by the arrow separating the lists of components.
In[9]:=
Out[9]=
80.999833, 0.498824, 0.140789, 0., 0.127161, 0.501176, 1.00017< 8- 0.00124895, - 0.0140383, - 0.0289205, 0., 0.0735357, 0.0918161, 0.00124895<
Compute a list of panel lengths. Note the use of Mathematica functions that have been overloaded for use with the data type CartesianVectors.
In[10]:=
lengthPanels =
Out[10]=
d.d F
The functions AirfoilPanelPoints and AirfoilPanelNormals are used to locate collocation points at midpanel and outward facing unit normals to the panels. Note that collocation points are displaced a small distance, proportional to the panel length, in the direction of the outward unit normal to ensure that these points are outside the discretized airfoil. This is done in preparation for applying the tangent-flow boundary condition at collocation points.
In[12]:=
In[13]:=
Figure 1 shows the geometry of the discretized airfoil and the numbering convention for panels. The panels are straight-line segments joining points on the number near the head of the arrow. For an airfoil with thickness, the number of panels describing the airfoil is twice the discretization number. This numbering of panels is referred to as the clockwise convention. For a reference The Mathematica Journal 10:4 2008 Wolfram Media, Inc. airfoil with no thickness (camber line), the number of panels is equal to the discretization number, and the convention is to number panels from leading edge to trailing edge. The airfoil shape is plotted in a local coordinate system with the
731
Figure 1 shows the geometry of the discretized airfoil and the numbering convenairfoil contour, and panel normals are shown at panel midpoints with the panel number near the head of the arrow. For an airfoil with thickness, the number of panels describing the airfoil is twice the discretization number. This numbering of panels is referred to as the clockwise convention. For a reference airfoil with no thickness (camber line), the number of panels is equal to the discretization number, and the convention is to number panels from leading edge to trailing edge. The airfoil shape is plotted in a local coordinate system with the origin at the leading edge of the airfoil and the x axis coincident with the chord line. Lengths are nondimensionalized using the chord of the airfoil, c.
0.3
0.2 4 0.1
5 6
zc
- 0.1 3 2 1
- 0.2
Figure 1. Panels and panel normals for NACA 4412 airfoil discretized to six panels.
The online help for this package also includes examples of importing data files for individual airfoils. These are defined by specifying points on the airfoil contour and rearranging the imported data for use with this software. The UIUC Airfoil Data Site, maintained by Michael Selig of the University of Illinois at Urbana-Champaign, contains specifications for over 1500 airfoils [7].
Richard L. Fearn
Compute the velocity, velocity-potential, and stream-function influence coefficients at the field point due to the singularity using the package functions ICSourcePoint, ICfSourcePoint, and ICySourcePoint.
In[17]:=
8ic, icf, icy< = 8ICSourcePoint@rf, rsD, ICfSourcePoint@rf, rsD, ICySourcePoint@rf, rsD< :: 2 p Hx2 + z2 L x > : 2 p Hx2 + z2 L z >, Log@x2 + z2 D 4p ,
ArcTan@x, zD 2p
Out[17]=
>
The velocity, velocity-potential, or stream-function at r f would be obtained by multiplying the appropriate influence coefficient by the strength of the source. Influence coefficients can also be thought of as the velocity, velocity-potential, or stream-function induced by a singularity of unit strength. The package InfluenceCoefficients2D contains over thirty functions for velocity, velocity-potential, and stream-function influence coefficients for source, vortex, and doublet singularities commonly used in two-dimensional panel methods. They serve as a tool box for constructing numerical models for two-dimensional potential flow.
733
The boundary condition that the velocity be everywhere tangent to the airfoil contour is discretized to require that the velocity component normal to each panel at the collocation point be zero. Since each vortex panel introduces two unknown strength parameters, application of the tangent-flow boundary condition provides npanels equations and 2 npanels unknowns, where npanels is the number of panels describing the geometry of the discretized airfoil. Continuity of circulation density from one panel to the next and the Kutta condition provide npanels additional equations to complete a system of 2 npanels linear algebraic equations and 2 npanels unknowns. The system of equations can be put into standard form. The terms involving unknowns are collected on the left-hand side of the system of equations and the known quantities are collected on the right-hand side. The result can be written in block-matrix form as a11 a12 a21 a22 g0 - Qn = . s 0
The symbols g0 and s represent lists of the unknown constant and linear strength parameters for the vortex panels: a11 represents the projection of the panel influence coefficients associated with g0 on the unit normal vectors, a12 represents the projection of the panel influence coefficients associated with s on the unit normal vectors, a21 and a22 represent terms in the equations imposing continuity of circulation density between panels and the Kutta condition, and Qn is the projection of the free-stream velocity on unit normals at collocation points. Use the block-matrix form to write the system of equations as a11 g0 + a12 s = - Qn and a21 g0 + a22 s = 0. Solve the latter system for the list of slope 1 strengths, s = - a22 a21 g0 . Substitute this into the former system of equations to eliminate the slope-strength parameters. The resulting system of equations can 1 be written as Ia11 - a12 a22 a21 M g0 = - Qn . This system of equations can be solved for the list of strength parameters g0 , and then the transformation is used to compute the list of slope parameters s. All variables in the following formulation and solution are dimensionless. Compute the matrix of velocity influence coefficients and project them on the panel normals.
In[18]:=
Write the equations expressing the continuity of circulation density between panels and the Kutta condition. The equation expressing the Kutta condition is written to accommodate the different numbering conventions for airfoils with thickness and reference airfoils without thickness.
In[19]:=
a21 = If@nPanels 2 ns, Module@8d<, d = DiagonalMatrix@[email protected], 8nPanels<DD; ReplacePart@- d + RotateLeft@d, 80, 1<D, 1., 81, 1<DD, Module@8d<, d = DiagonalMatrix@[email protected], 8nPanels<DD; ReplacePart@- d + RotateLeft@d, 80, 1<D, 0, 81, 1<DDD; a22 = RotateRight@DiagonalMatrix@lengthPanelsDD;
In[20]:=
Form the coefficient matrix for the system of linear algebraic equations to be
734
Richard L. Fearn
a = ArrayFlatten@88a11, a12<, 8a21, a22<<D; Chop@NumberForm@MatrixForm@aD, 83, 2<, NumberPadding 8"0", "0"<, NumberSigns 8"-", "+"<, SignPadding TrueDD
+0.14 +0.00 -0.28 +0.16 -0.00 -0.13 +0.00 -1.00 +1.00 +0.00 +0.00 +0.00 +0.03 +0.09 +0.00 -0.16 -0.08 -0.03 +0.00 +0.00 -1.00 +1.00 +0.00 +0.00 +0.03 +0.09 +0.16 +0.00 -0.09 -0.03 +0.00 +0.00 +0.00 -1.00 +1.00 +0.00 +0.14 +0.00 -0.19 +0.28 +0.00 -0.14 +0.00 +0.00 +0.00 +0.00 -1.00 +1.00 -0.08 -0.20 -0.12 +0.11 +0.21 +0.00 +1.00 +0.00 +0.00 +0.00 +0.00 -1.00 +0.08 -0.06 -0.03 +0.03 +0.06 -0.03 +0.00 +0.50 +0.00 +0.00 +0.00 +0.00 +0.02 +0.06 -0.07 +0.03 -0.02 -0.02 +0.00 +0.00 +0.36 +0.00 +0.00 +0.00 +0.00 +0.01 +0.02 -0.02 -0.01 -0.00 +0.00 +0.00 +0.00 +0.14 +0.00 +0.00 +0.00 +0.01 +0.00 +0.02 -0.01 -0.00 +0.00 +0.00 +0.00 +0.00 +0.15 +0.00 +0.03 -0.02 -0.03 +0.04 +0.06 -0.03 +0.00 +0.00 +0.00 +0.00 +0.00 +0.37
Display the matrix in reduced precision to illustrate the coefficient matrix for the full system of equations.
In[22]:=
Out[22]//NumberForm=
+0.00 -0.21 -0.12 +0.10 +0.19 +0.08 +1.00 +1.00 +0.00 +0.00 +0.00 +0.00
-0.08 -0.04 -0.03 +0.02 +0.04 +0.08 +0.51 +0.00 +0.00 +0.00 +0.00 +0.00
The upper half of the matrix represents normal-component influence coefficients. The first row of the lower half of the matrix represents terms in an equation implementing the Kutta condition and sums the circulation density at the beginning of the first panel and the circulation density at the end of the last panel. Setting this sum to zero imposes zero circulation at the trailing edge of the airfoil. The remaining rows in the lower half of the matrix are coefficients of terms in the equations requiring that the circulation density at the end of one panel be equal to the circulation density at the beginning of the next panel, g0 j + d j s j = g0 j+1 , where d j denotes the length of the jth panel. Define the transformation matrix to compute the list of slope parameters ( s) from the list of constant parameters (g0 ).
In[23]:=
sFromg0 = - [email protected];
Compute the components of the uniform flow normal to panels at collocation points.
In[25]:=
735
s = sFromg0.g0
The lift coefficient for the airfoil can be computed using the Kutta|Joukowski theorem. Recall that the distribution of circulation on a panel in local panel coordinates can be written as gi Hxi L = g0 i + si xi , where xi denotes the distance from the leading edge of the panel. The contribution of each panel to the lift is computed and the results summed over all panels. In terms of the dimensionless variables used in this example, the contribution by each panel to the lift coefficient is just twice the net circulation associated with the panel, which is obtained by integrating the linear circulation density funcd
tion, Dcl i = 2 0 i gi Hxi L xi = 2 g0 i di + si d2 i . Compute contributions of each panel to the airfoil lift coefficient.
In[28]:= Out[28]=
88- 1.27085, - 0.583826, - 0.197148, 0.351648, 1.31919, 1.43855<, 80.227159, 0.0461477, 0.270611, 0.0829194, - 0.128503, - 0.0762807<<
Sum the two terms for each panel to obtain the list of contributions of each panel to the lift coefficient.
In[29]:= Out[29]=
The computations in this section illustrate the process of model implementation using a coarse discretization so that intermediate results can be viewed; however, the discretization is too coarse to provide useful results. Remove names from computer memory, except those with values needed in the subsequent section, which presents an example computation of the pressure distribution and lift coefficient for a specified airfoil using a larger discretization number.
In[31]:=
736
Richard L. Fearn
8g0, s< = ModuleB8a, a11, a12, a21, a22, tsg, qInf, qnInf, g, d<, rp = AirfoilSurfacePoints@NACA4DigitAirfoil@id, NDiscretizeUnitSegment@nl, Layout spacingDDD;
d = Drop@rp - RotateRight@rpD, 1D; lp = d.d ; np = Length@lpD; un = AirfoilPanelNormals@rpD; rc = AirfoilPanelPoints@rpD + e MultiplyByList@lp, unD; 8ic0, ics< = ICVortexLinear@rc, rpD; a11 = ic0.un; a12 = ics.un; a21 = If@np 2 nl, Module@8d<, d = DiagonalMatrix@[email protected], 8np<DD; ReplacePart@- d + RotateLeft@d, 80, 1<D, 1., 81, 1<DD, Module@8d<, d = DiagonalMatrix@[email protected], 8np<DD; ReplacePart@- d + RotateLeft@d, 80, 1<D, 0, 81, 1<DDD; a22 = RotateRight@DiagonalMatrix@lpDD; tsg = - [email protected]; a = a11 + a12.tsg; qInf = ICUniformFlow@np, aD; qnInf = qInf.un; g = LinearSolve@a, - qnInfD; 8g, tsg.g<F;
The results of this computation are the singularity strength parameters for all panels. This model implementation has been validated by computing the results for a van de Vooren airfoil for which an exact solution is known by the method of conformal mapping. Also, convergence and timing studies have been performed and are available as online help documents in the software collection.
Figure 2 shows the surface pressure distribution on the airfoil in the conventional manner for such plots. Color coding enables us to distinguish between the pressure distributions on the upper and lower surfaces. The inset shows the airfoil shape and the direction of the onset flow. Useful information from such plots include the locations of the stagnation point and the point of minimum pressure, and the severity of the positive pressure gradient on the upper surface.
737
-6
-5 V -4
-3 Cp -2
-1
Figure 2. Pressure coefficient for a NACA 4412 airfoil, a = 10.0 discretization 200 panels with HalfCosineSpacing.
Lift and pitching moments can be computed from the pressure distribution. For example, the lift coefficient is computed by approximating the integral, ` ` cl = - C p n " #, where the integral is over the airfoil contour, C p is the pressure ` ` coefficient, n is the outward unit normal to the airfoil surface, and " is a unit vector perpendicular to the free-stream velocity in the direction of positive lift. The integral is approximated by considering the pressure coefficient constant over each panel, computing the contribution to lift of each panel, and summing the results.
In[36]:=
clFromCp = Module@8ul<, ul = MakeCartesianVectors@- Table@Sin@aD, 8np<D, Table@Cos@aD, 8np<DD; DclP = - cp Hul.unL lp; Apply@Plus, DclPDD 1.70321
Out[36]=
The lift can also be computed from the circulation distribution as described in the section on step-by-step model formulation.
In[37]:=
clFromCirculation = ModuleA8Dcl, DclC, DclL<, DclC = 2.0 g0 lp; DclL = s lp2 ; Dcl = DclC + DclL; Apply@Plus, DclDE 1.71006
Out[37]=
738
Richard L. Fearn
Conclusions
A brief summary of some features of a collection of packages that provide computational tools for formulating numerical models for two-dimensional potential flow over an airfoil using panel methods is presented. An example of solving the problem of steady flow over a specific airfoil is given using vortex panels of linearly varying strength and tangent-flow boundary conditions. This example includes the computation of surface pressure distribution and lift coefficient. Session time for a typical PC indicates the practicality of such computations on low-cost computing systems and suggests the feasibility of going to the next level of modeling. This could include unsteady two-dimensional potential flow, steady three-dimensional potential flow, or including an integral boundary-layer method with the steady two-dimensional potential flow model presented in this article.
In[38]:= Out[38]=
SessionTime@D 1316.793053
References
[1] R. H. Sabersky, A. J. Acosta, E. G. Hauptmann, and E. M. Gates, Fluid Flow: A First Course in Fluid Mechanics, 4th ed., Englewood Cliffs, NJ: Prentice Hall, 1998. [2] J. L. Hess, Panel Methods in Computational Fluid Dynamics, Annual Review of Fluid Mechanics, 22, 1990 pp. 255|274. [3] P. M. Morse and H. Feshbach, Methods of Theoretical Physics, New York: McGraw-Hill, 1953. [4] J. Katz and A. Plotkin, Low-Speed Aerodynamics, Cambridge Aerospace Series (No. 13), 2nd ed., New York: Cambridge University Press, 2001. [5] J. D. Anderson, Introduction to Flight, 3rd ed., New York: McGraw-Hill, 1989. [6] J. J. Bertin and M. L. Smith, Aerodynamics for Engineers, 3rd ed., Englewood Cliffs, NJ: Prentice Hall, 1998. [7] M. S. Selig, UIUC Airfoil Data Site, Department of Aerospace Engineering. Urbana, Illinois: University of Illinois, (Jan 2007) www.ae.uiuc.edu/m-selig/ads.html.
Additional Material
Fearn.zip
Available at www.mathematica-journal.com/issue/v10i4/download.
739