VT Logo 

Dr. James F. Marchman

Aerospace & Ocean Engineering Department
Virginia Polytechnic Institute and State University
215 Randolph Hall, Blacksburg, Virginia 24061, USA
email: marchman@vt.edu






Matlab Codes
Thin Airfoil
Monoplane Eq.
Panel Method



      The following computer programs were obtained from several sources and several have been modified to update them and to make them work better on the PC. Most of the programs are written in BASIC but a couple are written in FORTRAN. The user should note that some variations in the program formats may be needed depending on the versions of BASIC or FORTRAN installed in one's computer. Matlab versions of THINFOIL, AIRFOIL, MONOPLEQ and PANEL are also provided (Matlab Version 5 required).

      These programs are all fairly simple examples of the types of aerodynamics codes generally employed in industry today. These are all inviscid codes, meaning that boundary layer influences ( especially separation ) are not accounted for in the programs. In general, adding a boundary layer solution to these codes requires an iterative process in which the inviscid code is run, the pressures from that run are used to compute the nature of the boundary layer and the "momentum thickness" of the layer, which is then used to find an artificially displaced "surface" for which a new inviscid solution is determined. This process is repeated until the results of the momentum thickness solution cease to change in successive calculations.

      Most of these programs are available in the College of Engineering computer lab in Randolph Hall and may be copied from the disk there.

1. THINFOIL: A 2-D program in BASIC based on classical thin airfoil theory but limited to a single, pre-defined airfoil camber line equation.

2. PANEL: A "Smith-Hess" type of 2-D panel code combining source panels and vortices for a single-element, lifting airfoil in incompressible flow.

3. AIRFOIL: A FORTRAN program for a vortex panel method used for 2-D airfoils in incompressible flows. Airfoil is available in both versions: F77 & F90.

4. MONOPLEQN: A BASIC code which computes the lift and induced drag on a 3-D wing using clasic lifting line theory. It is subject to the normal sweep and aspect ratio limitations of lifting line theory.

5. VORLAT: A simple vortex lattice code in BASIC for a 3-D planar wing of any sweep or aspect ratio.

6. DELTAWING: A very simple BASIC program to evaluate the lift and dragt on a delta wing using Polhamus' leading edge vortex theory data.


      THINFOIL is a code based on classical "thin-airfoil" theory derived from potential flow methods. This theory assumes that the airfoil can be treated as a "vortex sheet" placed on a camber or "mean" line through which no flow may pass. The theory solves for a satisfactory distribution of vortex strength density along the sheet using the no-flow criteria at the sheet itself and the Kutta Condition which fixes the vortex strength or circulation as zero at the trailing edge.

      The needed input to the program is a definition of the camber line and the airfoil angle of attack. Since all output is given in terms of coefficients, the velocity is not needed.

      Many similar programs use the camber line equations inherent in the NACA airfoil designations. This program uses a camber line definition given by a cubic equation which can approximate the NACA cambers with reasonable accuracy:

z = 4h [x - (k + 1) x^2 + kx^3]
In this equation all dimensions are given as a fraction of the chord. Z is the height of the camber line above the chord line and is zero at the leading and trailing edges. X is the distance along the unit chord line ( zero at the leading edge and unity at the trailing edge ). K determines the change in curvature or slope of the camber line with a value of zero giving a circular arc airfoil and positive values giving a reflexed trailing edge. H determines the magnitude of the maximum camber as a fraction of the chord.

      The program also allows for the addition of a symmetrical trailing edge flap by specifying its length as a fraction of the airfoil chord and its deflection angle relative to the chord line.

      The program will present a plot of the defined camber line (with flap) and values for the lift coefficient, the zero-lift angle of attack and the pitching moment coefficient about the aerodynamic center ( always the quarter-chord for this theory ) using simple equations which result from using the above camber line formula in the classic thin airfoil solution:

  Cl = 2*Pi*alpha + (4 - 3k)Pi*h      alphaLo = - (2 - 3k/2) h

  Cmac = (7k/8 - 1) Pi*h                    xcp = 1/4 - Cmac/Cl

      A second screen will display the computed "pressure distribution" based on the difference in the pressures above and below the camber line. This will always go to infinity at the leading edge.


      Program PANEL is based on the type of two-dimensional airfoil code classed as a "Smith-Hess" panel method. Smith-Hess codes utilize a combination of "source" panels and either vortex panels or a system of discrete vortices placed at a critical place on the airfoil. The method normally uses constant strength source panels to define the shape of the airfoil; ie. to set the "no-flow" condition at the desired airfoil surface. Vortex panels or individual vortices are added to the equations to meet the Kutta Condition. When vortex panels are used they are usually coincident with the source panels and are defined such that all panels have the same vortex strength and the strengths sum to that needed to place the rear stagnation point at the trailing edge by requiring that the velocities tangent to the upper and lower rearmost panels be equal. A simplier approach might use a single vortex of a strength sufficient to make the rear panel tangential velocities equal at the quarter chord. This code uses the latter approach.

      This code includes a subroutine defining the surface for NACA four or five digit airfoil shapes and automatically placing panels on that surface. The program will plot the chosen airfoil shape and the pressure coefficient distribution.


      Program AIRFOIL is a very versatile vortex panel code which forms the basis for numerous 2-D aerodynamics programs used in industry and research. It uses vortex panels on which the vortex strength varies linearly from one end of the panel to the other. The code solves for the values of the vortex strength at the panel end points using the "no-flow" through the panel requirement and the Kutta Condition. The Kutta Condition is met by requiring the vortex strengths at the end of the first and last panels ( at the lower and upper part of the trailing edge ) to sum to zero.

      This is a FORTRAN code which computes the velocity and pressure coefficient values at the center point of each panel. The data printout gives the x and y location of each panel center or control point, the slope of each panel, the length of each panel, the values of the vortex strength at each panel endpoint, and the velocity and pressure at the control point. For an airfoil with n panels there are n values of all parameters printed ( at the panel control points or centers ) and n + 1 values of gamma printed ( one at eacn panel end point [ not at the centers ] ).

      Care should be taken in the interpretation of the printed results. As usual, all lengths and distances are given as a fraction of the chord. It is particularly important to note that the GAMMA value given is not the actual vortex strength but is the vortex strength divided by 2*Pi*Vinf. The velocity values given are also normalized by the free stream velocity.

      Two sample airfoil solutions are given, one for the NACA 4412 airfoil and the other for a Wortmann airfoil ( a very good low speed shape ). The sample case shown in the program itself is for a 12 panel airfoil but the sample pressure plots given show the effects of increasing the number of panels. In redimensioning the program to accomodate a wing with more than 12 panels remember that there will always be one more gamma value solved for than the number of panels used.


      This BASIC computer program uses the classical monoplane equation from lifting line theory to solve for the lift and induced drag coefficients and the spanwise load distribution on a specified wing ( 3-D ). Lifting line theory assumes that a wing's behavior at any spanwise location where the equations are solved is essentially two-dimensional ( no spanwise flow ). It is also based on a model using a bundle of lift inducing vortices placed at the unswept quarter chord of the wing. The method is, therefore, only valid for wings with unswept quarter-chord lines and with moderate-to-high aspect ratio.

      The program is set up for the fairly standard four term solution ( solving the monoplane equation at four points along the span ) at values of f of 22.5, 45, 67.5 and 90o . If more accuracy is needed the program may be modified fairly easily to solve a N x N matrix instead of a 4 x 4.

     The program allows specification of the wing span, root chord and tip chord, the twist of the wing tip relative to the root ( in degrees ), the airfoil section lift curve slope and the section zero-lift angle of attack. The wing angle of attack is defined as relative to the root chord. The wing twist is assumed to be linear from root to tip with a "nose-up" twist considered positive.


      This is a simple version of a vortex lattice code which assumes a planar wing. The code essentially determines the effect of altering a wing's planform and can handle any type of linear wing taper and sweep. This code does not account for wing camber or twist or other geometric effects. It; therefore represents the simpliest possible example of a vortex lattice program but is, nonetheless, useful for demonstrating the ability of the vortex lattice method to handle the effects of sweep and low aspect ratio which cannot be determined from the classical lifting line approach.
      The code assumes a wing similar to the one in the figure below using 12 panels and 12 control points. Using symmetry, the program solves for only six unknown vortex strengths. Using the input data consisting of the leading edge sweep and the tip chord and root chord as fractions of the span, the program divides the wing into 12 panels, defines the panel coordinates and the coordinates for the control points at the three-quarter chord point at the center of each panel. It also determines the coordinates of the end points for the vortex along the quarter chord of each panel.
      All calculations are for the left wing only and the normalized vortex strengths are for panels 1 - 6 on that wing. Note that the vortex "strengths" are really gamma divided by the product of four Pi, the span, the free stream velotity and the angle of attack in radians. A rough spanwise load distribution can be found by using the calculated vortex strengths at the spanwise center of each of the three pairs of panels ( 1&4, 2&5, 3&6 ) and finding the "local" lift from:

l = rho*Vinf*Sum[Gamma]
     With slight modifications, the program will handle different arrays of panels from the 2x6 used here. The limit depends on the computer's ability to invert the matrix. Changes must be made in lines 100, 110, 140, 640 and 970 of the code.


     This is a very simple code for calculation of the lift and drag coefficients of a delta wing at low Mach number. It is a direct application of the Polhamus leading edge suction analogy which is described in Chapter 7 of Bertin and Smith.

Send comments and suggestions to Joe Honaker