Make your own free website on

Wing Analysis Version 2.1 (050221)

By Greg Ciurpita based on John Hazel's Liftroll Spreadsheet.
Wind-tunnel data from the UIUC Airfoil Data Site.

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!


Bulletin Board

  • Features of 2.1
    • Different airfoils specified at the panel breaks This requires a change in the numbering of the panel indices (e.g. :n), they now start at 1 instead of zero, allowing the zeroeth position to be used to specify the root airfoil.
    • A printFlag option that will dump the plotted values to the command line if the tool is invoked from one, allowing the data to be captured.
    • An aseq option that will dump the plotted
  • Please report any problems

1. Introduction

This tool remains a work in progress, and after starting it in 2001, is so more than ever. It began as an effort to combine several simple calculations -- mean aerodynamic chord, shear and bending-moment -- into a single web-based application, and an excuse to develop a graphical java program.

Calculation for lift-distribution uses the vortex lattice method, VLM. The inclusion of VLM has been a joint effort with John Hazel who developed the LiftRoll Spreadsheet. For more information on this technique see Applied Computational Aerodynamics by Mason, especially chapter 6. Also see "Vortex Lattice Methods" Why Should You Care? by Mike Garton.

The tool has evolved into a tool that determines the spanwise airspeed and Reynolds Numbers in banked flight to one that uses these calculations to interpolate spanwise Cd and drag values from the UIUC airfoils database. It's a tool that can get quantitative results to concepts I've only seen qualitatively discussed the literature. But the tool is not well behaved, and often craps out. I hope it's price makes up fo this.

However, the human interface has remained crude by todays expectations for user friendliness. The free-form text input method continues to allow the new parameters to be easily added, especially parameters for each panel break. Unfortunately, while the ability to validate input is possible, I have not developed sufficient proficiency with Java to provide useful error indication, and errors may require the program to be restarted, (hopefully after the current parameter specification has been copied). While I don't think human interface it is difficult to use, it is not easy. User Beware!

While I assume its useful to have such a tool so easily available on the web and through a common browser application, providing only graphical output is very limited. I use the tool from a UNIX-like shell (e.g. MKS, cygwin) and use the printFlag option to dump all the results out to the shell where they can easily be captured into a file. Various results can then be extracted from the captured data and used elsewhere.

The primary source of the wind-tunnel data is UIUC Airfoil Data Site, where data from the UIUC Low-Speed Airfoil Tests (LSATS) program is freely available under General Public License. Mike Garton provided many useful comments, and suggestions for improvements that have yet to be made. His and David Orman's Airfoil Comparison Tool is highly recommended.

1.1 Source Code

Please request through email.

1.2 Running Locally

The tool can be run locally, by downloading the source code file, which also includes this html, the applet and airfoil files. Use a browser to open wing.html in the source code directory.

Another approach, is to download the Java toolkit from, along with the source code, and run the tool directly from the command line.

1.3 Discussion

There is no right or wrong way to use the tool. While a planform must be properly specifed to get accurate results, which is especially true for MAC, shear and bending moment calculations, the lift-distribution and drag results are much less specific and must be used appropriately. My motivation for developing this tool is to gain a qualitative understanding of what happens at different locations across the span, and how different. I have been surprized by the effects some parameter changes cause.

It is also clear that proper design will require iteration. Iteratively changing the flight velocity is neccessary to find the velocity required to produce the lift that equals the weight of the aircraft. While this can be automated, and has been in previous releases, it may more likely be the exception, than the rule. Like any tool it may take a while to learn to use it, and to use it well.

Since the vortex lattice method is probably a fairly advanced analyse method for the typical modeler, and is typically described in advanced and expensive engineering texts, the following sections will attempt to describe the basic concepts. This method is often sited being unintuitive, but surprizingly accurate when compared to experimental results.

Vortex Lattice Method
The tool currently (1.3) implements the simplest form of the vortex lattice method (VLM), to determine the lift-distribution across the wing span. The simplest form is for a 2-dimensional or planar wing without dihedral. VLM is a panel method, which divides the wing into small sections called panels which extend from leading to trailing-edge.

Each panel has a control point at which a circulation (G) value is determined. The lift can be calculated from the circulation. The circulation depends on the planform, the velocity (V) and angle-of-attack (a) at the control point, and is influenced by all other panels. In other words, it solves for G in the the following equation

[C] G = 4 p u n a n
[C] = influence matrix
G = circulation
V n = freestream velocity at panel n
a n = angle-of-attack at panel n

This requires the inversion of the influence matrix. In the current implentation, the influence matrix only considers the panel positions in 2-dimensions without considering the verticle dimension which would represent dihedral.

The lift is determined from the circulation

L = r V n G n

or CL can be determined

CL = 2 G / (V n c)
Circling Flight
The latest modifications consider a wing in circling flight. In this case, both the velocity across the span varies, as well as, the effective angle-of-attack due to the constant sink velocity (Vs) but a non-constant forward velocity at each panel position.

The following equations determine various velocities for a banked circling aircraft. They include the sink velocity used to determine the local sink rate at any position along the wing span. This in turn, is used to determine a local angle-of-decent (Aod) which can be used to adjust the local angle-of-attack (Aoa).

V = (W / (1/2 r S Cl)) 1/2 required straight and level airspeed to support aircraft
LD lift-to-drag ratio
Vs = V / LD straight and level sink velocity (LD = lift-to-drag ratio)
q bank angle
Vc = V / cos(q)0.5 required circling airspeed
Vcs = Vs / cos(q)1.5 sink velocity while circling
G = 9.81 m/s or 32 ft/s acceleration due to gravity
R = Vc 2 / (G * tan(q)) turning radius
V y = Vc (R + y cos(q)) / R local velocity at span position y
Aod y = atan (Vcs / Vy) local angle-of-decent
Aoa'y = Aoa + Aod locally adjusted angle-of-attack

2. Usage

The default example is intended to demonstrate most of the latest capabilities, even if they are not discussed in these notes. Some capabilities, such as flap and aileron specifications, may not be in the current example.

This section is effectively the user manual. Since the tool evolves so quickly, new features are added, and some removed, and it is easy for this section to become out-of-date.

2.1 Controls

There are three input areas in the applet: buttons, wind-tunnel airfoil selections window and parameter specification window. Subsequent sections discuss the parameters that can be specified, and provides various examples. The wind-tunnel selection window provides a list of airfoils from the UIUC Airfoil Data Site. Some results use wind-tunnel data for the selected airfoil. Airfoil selections can be easily changed and results compared. However, the interpolated results can be inaccurate. User Beware!

There are five buttons. Three are menu buttons resulting in additional choices. The button menu structure is as follows:

2.2 Parameter Specification

acc acceleration of gravity (9.81 m/sec^2)
aileronPosL On the right wing, the leftmost span position of the aileron
aileronPosR the rightmost span position of the aileron
aileronAng a convenient way to set both aileronAngR and aileronAngL, the left aileron is set to the negative of the value
aileronAngR aileron deflection on right wing
aileronAngL aileron deflection on left wing
airfoil:N airfoil by name from the available list
airspeed expressed in consistent units (ft/sec)
aoa expressed in degrees
aseq=beg,end,step display drag curve for each AOA from begin to end incrementing AOA by step
bank expressed in degrees
chord:N tip-chord length of wing sub-section (N=0 indicates root)
debug specified debugging level (0 is off)
dihedral:N upward dihedral at tip of wing sub-section (experimental)
dragToLift inverse of lift-to-drag, zero is ideal
end-configuration indicates the end of the input parameters, anything after this statement will be ignored while processing a planform specification.
english defines rho and acc for english units (ft/lb/s)
flapAng a convenient way to set both flapAngR and flapAngL
flapAngR flap deflection on right wing (positive is down)
flapAngL flap deflection on left wing
flapPosL On the right wing, the leftmost span position of the flap
flapPosR the rightmost span position of the flap
mac must be expressed as a fraction less than one.
metric defines rho and acc for metric units (mks)
nPanels manually define number of panels, default is 100
printFlag prints screen values when run from shell
rho density (1.225 kg/m^3) (0.0023769 slugs/ft^3)
show-results indicates calculated results for panel positions, gamma/lift-distribution, and Cl values will be displayed in the input specification text areas. This text can be cut and pasted, allowing the data to be used for other purposes.
span:N span length of wing sub-section
sweep:N rearward sweep at tip of wing sub-section
twist:N twist at tip of section (washout is negative)
viscosity (0.0000179 kg/m/sec) (0.000000373 slugs/ft/sec)
weight experessed in the most convenient units.

The specification of parameter names is case-sensitive.

Configuration parameters are entered in the text window. The mouse can be used to select the display buttons on the left. The mouse can also be used to zoom in on some of the graphical results. The left mouse button zooms in, and the right button zooms out. The mouse position indicates the center of the region to zoom in on.

Parameters can be entered on multiple lines as name-value pairs separated with semicolons:

Parameters having multiple values, such as span, are entered with indices:
span:0=10; span:1=15;
Corresponding values must use the same indices
span:1=10; chord:1=7;
Each wing section requires three parameters: span, chord and sweep. Span is the span of the section, not the distance from the root to the end of the span. Chord respresents the tip chord of the section. Sweep is specified as the difference in distance between the tip chord of the current section and the tip chord of the previous section, or the root. Zero sweep means a straight trailing edge.

Indices start with the value of zero. A rectangular wing having only a single section could be specified as:

root=10; span:0=20; chord:0=10; sweep:0=0;

2.3 Saving Specifications

Web based java applications are prevented from accessing files local PC files for security reasons. However, the configuration data can be cut and pasted to a local file through a local application such as notepad. The tutorial and sample configurations can be copied and pasted over the exiting configuration in the applet text window, and can previously saved configuration text from a local file. For now, there is no easy way to save the analysis results, either graphically or numerically, except possibly through a screen capture program.

2.4 Tutorial

This section hoped to provide a cookbook approach to explain the usage of the tool. The following examples can be cut and pasted into the applets configuration window. Let's start with a simple rectangular wing:
chord:0=10;        span:0=40;

A root chord value is specified, along with the tip chord and span for a single section. In this case, the tip chord is equal to the root chord. When specifying the chord and span values for each section, a section parameter is needed. This is the value specified after the colon, ':', for each section parameter, in this case, chord and span. And yes, the first section is zero.

The Structure->Draw button shows the planform's outline, and it's overall span. The Structure->MAC button displays the mean aerodynamic chord as a verticle red line, the default value of 25% of this chord as a horizontal red line, and it value relative to the leading edge of the root chord. To the right, is dispayed various planform parameters: area, wingspan, aspect ratio (A/R), and wing loading using a default weight value of 1. By default, the applet uses english units of measure so that wing-loading is specified per square-foot.

The Lift->Alpha button displays a default downwash angle of 6o across the entire trailing edge. The Lift-Dist->Lift button displays the corresponding lift-distribution, and the Structure->Shear and Structure->Bend-Moment display the corresponding shear loading and bending moments. The Lift-Dist->Cl displays the resultant lift coefficient, given the resultant lift, a default airspeed of 1, and the corresponding wing-chord.

The downwash angle is specified as the angle-of-attack. The weight, downwash angle and airspeed (ft/sec) values can be specified with the following modifications. Try changing some values to see their affect on the lift distribution.

chord:0=10;        span:0=40;
weight=40; aoa=4;  airspeed=10;

The wing-loading will be greater with a more realistic value, but the lift-distribution will be significantly smaller at the smaller downwash angle. Now consider a two panel wing with a tapered outer section.

chord:0=10;        span:0=20;
chord:1=6.5;       span:1=20;    sweep:1=-1.5;
weight=40; aoa=4;  airspeed=10;

Use Structure->Draw or Structure->MAC to verify the new planform shape. The MAC display indicates the MAC for each wing section as a verticle green line. Notice that the chord and span parameters for the 2nd section are specified uniformly as ':1', and that a sweep parameter is added. The sweep parameter if only needed if it non-zero, with zero meaning no trailing-edge sweep. Also, negative sweep means toward the leading-edge.

The downwash remains the same, but the lift-distribution is different for that of the rectangular wing, with corresponding differences in shear and bending moment.

Twist can also be specified for each section. Washout is specified as a negative twist which reduces the downwash. The amount of twist is applied proportionally across the section. Use the Lift-Dist->Alpha to verify the configuration.

chord:0=10;        span:0=20;
chord:1=6.5;       span:1=20;    sweep:1=-1.5; twist:1=-1.5;

The next step will be to add ailerons. Ailerons are specified with and inner and outer span position. The sweep is also modified so that the trailing-edge is straight. An aileron deflection angle of 2o is also specified. A positive value corresponds to a downward deflection, adding to the downwash angle on the right wing, but a deflection in the opposite direction, upward on the left wing. Use the Lift-Dist->Alpha button to see the affect on downwash angle. The lift-distribution is dramatically affected. The aileron deflections can be specified separately for left and right ailerons using aileronAngL and aileronAngR.

chord:0=10;        span:0=20;
chord:1=6.5;       span:1=20; twist:1=-1.5;
weight=40;   aoa=4;   airspeed=10;
aileronPosL=20; aileronPosR=38;  aileronAng=2;

The next step is to add flaps, in a similar manner as ailerons. Flap deflections are the same for both left and right wings. Use the Lift->Alpha and Lift-Dist->Lift buttons to see the affect.

chord:0=10;        span:0=20;
chord:1=6.5;       span:1=20; twist:1=-1.5;
weight=40;   aoa=4;   airspeed=10;
aileronPosL=20; aileronPosR=38;  aileronAng=2;
flapPosL=2;     flapPosR=20;     flapAng=3;

3. Some Example Models

The following section contain example specifications which can be cut and pasted into the applet.

These examples are incomplete in terms of specifying airspeed parameters in consistent units.

3.1 Simple Rectangular Wing

chord:0=10;        span:0=20;     sweep:0=0;

3.2 Cranked Wing

chord:0=12;        span:0=20;     sweep:0=8;
chord:1=8;         span:1=15;     sweep:1=-8;
chord:2=4;         span:2=10;     sweep:2=8;


3.3 Original Liftroll Wing

chord:0=9;        span:0=27;
chord:1=8;        span:1=38;
chord:2=6;        span:2=15;
chord:3=3;        span:3=7;

3.4 Mantis

These measurements are from an older version which may no longer be in production.
chord:0=8.875;    span:0=26.25;
chord:1=5.25;     span:1=28.625;
chord:2=3.5;      span:2=5.125;

3.4 Circling Flight

bank=60.0; dragToLift=0.05;,

chord:0=8;    span:0=30;  sweep:0= 0;,
chord:1=6;    span:1=10;  sweep:1= 0;  twist:1=-1;,
chord:2=4;    span:2=10;  sweep:2= 0;  twist:2=-2;,


3.5 Calibration

The following configuration if from an example in the Simon's book showing how to calculate the required coefficient of lift. The example determines a Cl of 0.4 for a 2kg plane, having a wing area of 0.2 m2, and traveling at 20 meter/sec. The air denisty is 1.225 kg/m3.
root=0.1; chord:0=0.1;    span:0=1;

The corresponding example in english units is a 4.4 lb plane, with a wing area of 2.16 sq ft, and traveling 65.7 ft/sec. For an accurate comparision, the aspect-ration of the wing must be identical.

root=0.328; chord:0=0.328;    span:0=3.28;

3.5 Multiple Airfoils, Drag Series Allegro

bank=30.0; dragToLift=0.00;
root=8.2;                   airfoil:0=AG_16;
chord:1=7.5;    span:1=15;  airfoil:1=AG_17;
chord:2=5.8;    span:2=16;  airfoil:2=AG_18;
chord:3=3.4;    span:3=8.3; airfoil:3=AG_19;

4 Release History

Last modified Wednesday, 27-Apr-2005 20:43:30 EDT

You are visitor since 9/14/2001.