NASA Logo - Web Link to Vertical Line

+ Text Only Site
+ Non-Flash Version
+ Contact Glenn

NASA Meatball Image

FoilSim Student JS


If you find errors in the program or would like to suggest improvements, please send an e-mail to FoilSim II is still available if you prefer the older version.

****** WARNING ******** WARNING ********* WARNING ********** WARNING ******* WARNING *******

FoilSim is a simulation. It is not reality.
FoilSim is an educational computer program. It is not a design program.

FoilSim was built to help students learn how wings work. It produces the correct trends (for example, doubling velocity will quadruple the lift and drag) but it does not give the exact value of lift or drag. FoilSim uses a very simplified analysis to calculate lift, and it interpolates experimentally measured drag data to determine the drag. The drag data was obtained by students using inexpensive models and an inexpensive wind tunnel. Please do not attempt to design, build, or fly a full scale aircraft using data from FoilSim. It is fine for models, but be careful.

****** WARNING ******** WARNING ********* WARNING ********** WARNING ******* WARNING *******
Program does not display properly on internet explorer

With this software you can investigate how an aircraft wing produces lift and drag by changing the values of different factors that affect lift and the factors that affect drag.

FoilSim Student JS is the latest (April 2019) version of the FoilSim family of interactive simulations. The different versions of FoilSim require different levels of knowledge of aerodynamics, experience with the package, and familiarty with computer technology. This web page contains the on-line student version of the FoilSim Student JS program. It includes an on-line user's manual which describes the various options available in the program and includes hyperlinks to pages in the Beginner's Guide to Aerodynamics describing the math and science of airfoils.

Download FoilSim StudentJS here.

Elementary Version - FoilSim III

There is a special version of FoilSim for elementary students who are just beginning to learn about wings and airfoils. This version only lets you change the flight conditions and the geometry of the wing. Input is performed with buttons, so the student does not have to work the sliders, input boxes, and choice boxes of the student version. The only output are lift and drag gages in English units. Again, the student does not have to select types of output, or interpret graphs.

Student Version - FoilSim II

FoilSim II is still available for students who are learning about the lift of airfoils and wings. This version calculates the lift of an airfoil based on user inputs of flow conditions and wing geometry. Output is provided by a variety of plots, performance graphs, and text fields. But FoilSim II does not make any calculation of the drag of the wing. Undergraduate versions of FoilSim II are also available for college students.

Undergraduate Version - FoilSimU III

There is a special undergraduate version of FoilSim III for students who are studying computational modeling of airfoil problems. This version let you change some of the assumptions in the analysis and has additional graphics to view the details of the analysis. There are on-line and off-line applet versions of this program.

There are several other applets based on FoilSim. You can investigate the role of aerodynamics in pitching a baseball by using CurveBall, the curve of a soccer kick by using SoccerNASA, or wind tunnel testing techniques by using TunnelSys.


This program is designed to be interactive, so you have to work with the program. There are a variety of choices which you must make regarding the analysis and the display of results by using a push button or a drop menu. To operate a button, move the cursor over the button and left click with the mouse. The push buttons occur in groups, and the chosen option is shown as a yellow "lighted" button. A drop menu has a descriptive word displayed in a box with an arrow at the right of the box. To make a choice, click on the arrow, hold down and drag to make your selection. The current values of the design variables are presented to you in boxes. By convention, a white box with black numbers is an input box and you can change the value of the number. A black box with yellow numbers is an output box and the value is computed by the program. To change the value in an input box, select the box by moving the cursor into the box and clicking the mouse, then backspace over the old number, enter a new number, then hit the Enter key on your keyboard. You must hit Enter to send the new value to the program. For most input variables you can also use a slider located next to the input box. Click on the slider bar, hold down and drag the slider bar to change values, or you can click on the arrows at either end of the slider. At any time, to return to the original default conditions, click the red Reset button at the upper right of the program.


The program screen is divided into four main parts:

  1. On the top left side of the screen is the View Window. The view window includes a graphic of the airfoil that you are designing and several buttons which control the graphic. Details of the window are given in the Graphics section of this page.
  2. On the upper right side of the screen is the Control Panel. The control panel holds several push buttons which control the input and output to be displayed. You can choose either Imperial Units or Metric Units by using the pull down menu at the top. Input choices have blue letters and the selected input panel appears at the lower left. Output choices have red letters and the output panel appears at the lower right. You will always see the computed lift, drag, Reynold's number and lift to drag ratio. You can display lift and drag as numerical values or as dimensionless coefficients. Details of the input and output variables are given below.
  3. On the lower right side of the screen is the Output Window. The output can be presented as graphs of airfoil performance, a probe which you can move through the flowfield, lift and drag gages, or printed numerical values of certain parameters. You select the type of output displayed by using the push buttons labeled "Output:" on the upper right panel.
  4. On the lower left side of the screen is the Input Window. Various input panels are displayed in this window. You select the input panel by using the push buttons labeled "Input:" on the upper right panel.


The View Window contains a schematic drawing of the wing that you are designing and some buttons to control the schematic drawing. Possible choices are colored blue while the selected option is colored yellow.

  1. Edge shows the wing as viewed looking along the leading edge. The cross section appears as an airfoil or circle with the flow going from left to right. You can move the picture within the window by moving the cursor into the window, holding down the left mouse button, and dragging the airfoil to a new location. You can also "Zoom" in close to the airfoil by using the green slider at the left of the window. If you get lost, pushing the red Find button will return the airfoil to the initial position.
  2. Top shows the wing as viewed from above looking down onto the planform. The flow is from bottom to top. Since FoilSim only solves for the two-dimensional flow past objects, you won't see any flow in this view. It is provided only to display the geometry of the wing area.
  3. Side - 3D shows an orthographic projection of the three dimensional wing.
  4. Moving shows particles flowing past the airfoil. The particles are drawn as line "traces". The inclination of the trace is at the local flow angle, and the left most part of the trace is the particle location. Particles are being periodically released from a constant streamwise location upstream of the airfoil.The streamwise distance between any two particles is proportional to the local velocity.
  5. Frozen is a snapshot of the moving particles. In this view, you can change the streamwise release point of the particles by moving the cursor into the view window, holding down the left mouse, and dragging the particles to the left or right. In this view, the particles are color coded by the time at which they are released. (All of the yellow particles were released at the same streamwise location at the same time.)
  6. Streamlines are collections of the particle traces to form a solid flow line.
  7. Geometry shows only the geometry of the wing or airfoil with some descriptive labels but with no flow field.


There are several different output options available for the Output Window at the lower right. You select the type of output by using the push buttons on the control panel. The default setting is Plot and a graph will appear in the window. The type of graph is described below and you can vary the plot by using the Plot Selection input panel. If you display a plot and begin to change the input variables, it may become necessary to rescale the plot axes by pushing the white Rescale button at the lower left of the window. The types of available plots are listed below.

  1. The default plot is the Surface Pressure. The yellow line will be a plot of the lower surface pressure, and the purple line a plot of the upper surface pressure. For reference, the green line shows the value of free stream pressure.
  2. You may also display the Surface Velocity. As with the pressure, the yellow line will be a plot of the lower surface, and the purple line a plot of the upper surface.
  3. You may also display the Drag Polar. A drag polar is a plot of lift coefficient versus drag coefficient for a selected geometry at various angles of attack.
  4. The remaining plot choices show Lift, Drag, Lift Coefficient -Cl, or Drag Coefficient - Cd versus each of the input variables. For these plots, the current value of the flow conditions is shown as a red dot on the plot.

The Gages shows the current value of lift (or lift coefficient) and drag (or drag coefficient) displayed in scientific notation. The gages are displayed in the output window and move as the lift and drag are varied. This display shows the relative sensitivity of lift and drag to the input variables.

The Probe lets you explore the flow around the wing. A probe control panel appears in the output window when you select "Probe" from the control panel. By default, the probe is turned off. You turn the probe on by pushing one of the white buttons on the probe panel. The probe itself will then appear in the view window. You change the location of the probe using the sliders to the left and below the gage on the probe panel. The value of the pressure or the velocity at the location of the probe tip (magenta ball on the view window) is displayed on the gage. Or a green trail of "smoke" is swept downstream from the probe location. You turn the probe off by using the red button located above the gage.

The performance options provides a written list of important input and computed variables in the Output Window. You have two options for performance output; the Data option gives the computed lift, drag and flow conditions, the Geometry option shows the coordinates of the airfoil geometry and the local value of velocity and pressure. These numbers correspond to the plots of velocity and pressure described above.

Some additional output from the program is displayed on the Control Panel and some input panels. On the Control Panel, you can choose to display the lift or the lift coefficient by using the drop menu. Similarly, you can either display the drag or the drag coefficient. The value is displayed in the output box to the right of the drop menu. Lift and drag may be expressed in either Imperial (English) or metric units (pounds or Newtons). The Reynolds number is the ratio of inertial forces to viscous forces and affects the calculated value of the lift and drag. Reynold's number and lift to drag ratio are always displayed on the Control Panel. On the Flight Test input panel is a group of output boxes that give the atmospheric conditions of the air. The pressure, temperature, density, and viscosity will change depending on the altitude and planetary inputs. On the Size input panel the geometric aspect ratio of the wing is displayed. The aspect ratio is defined to be the square of the span divided by the wing area and is included in the calculation of induced drag.


The input variables are located on input panels that are displayed at the lower left. You can select the input to display by using the push buttons on the control panel. You can choose to vary the Shape, the Size, or perform a Flight Test of a wing design. You can also display the Plot Selection Panel and a panel to control the Analysis used in FoilSim III.

  1. If you choose to Flight Test, you can change the value of lift and drag by varying the speed, or the altitude. You can flight test your wing on the earth (default), on Mars, or in the water by using the drop menu at the upper right. You can also choose to specify your own values of temperature and pressure for air, or to specify your own fluid by providing a value of the fluid density.
  2. If you choose Shape, you can select a classic airfoil shape, an ellipse, or a thin plate cross section by using the drop menu. You can change the camber, thickness, or the angle of attack of the cross section. The definitions of these geometric variables are given on the wing geometry web page. There are some push buttons on the airfoil Shape input panel to let you chose some "basic" airfoil shapes: symmetric airfoil, flat bottom foil, negative camber, flat plate, high camber, curved plate, or ellipse. Clicking on these buttons will set a representative value of camber, thickness, and angle of attack. You can also choose to investigate the lift and drag created by a rotating cylinder, or a spinning ball. For these problems you must specify the spin rate and radius and the span of the cylinder.
  3. If you choose Size, you can vary the layout of the wing. You can change the chord, span, or the wing area. The ratio of the span to the chord is called the Aspect Ratio and this parameter also has an effect on the lift and drag of the wing. If you have selected a cylinder or ball shape, this input panel is not used.
  4. There are a variety of Analysis options in FoilSim III. The option being used is shown by a yellow lighted button on the Analysis panel. You can change the analysis by clicking on a white button. The default lift calculation includes a Stall Model that decreases the lift for angles of attack greater than 10 degrees. The optional analysis uses Ideal Flow that neglects viscous and compressibility effects. The actual calculations are done with ideal flow and the stall model corrects for flow separation at high angles of attack. The actual calculation is done for a two-dimensional (2D) foil. The Aspect Ratio correction includes the 3D wing tip effects on lift. The Induced Drag correction includes the 3D wing tips effects on drag. The drag of an airfoil is determined by a table look-up for experimentally determined values of drag coefficient. The values were obtained at a specific Reynold's number. The Reynolds number correction includes the effects of changing Reynolds number to the test conditions. The drag of a cylinder or ball is based on experimental data as a function of Reynolds number.


The NASA Glenn Educational Programs Office will continue to improve and update FoilSim III based on user input. Changes from previous versions of the program include:

  1. On 20 Feb 13, version 1.5a was released. This version was developed to support a NASA project to study a wind-powered rover on Venus. It models the surface atmospheric conditions on Venus. Later extensions of this version will include a weight calculation for all wings.
  2. On 21 Mar 11, version 1.4d was released. This version modifies the geometry output to include the volume of the wing. This addition was prompted by user email.
  3. On 17 Feb 11, version 1.4c was released. This version modifies the plotting package to include more significant figures for small amounts of lift and drag. This fix was prompted by user email.
  4. On 29 Nov 10, version 1.4b was released. This version corrects a graphics problem with the drag coefficient as a function of angle of attack, camber, and thickness. And we have corrected a drag determination error for negative camber airfoils.
  5. On 23 Nov 10, version 1.4a was released. In response to a user email, we have some basic airfoil shapes available on the airfoil "Shape" input panel.
  6. On 23 Sep 10, version 1.3b was released. In response to user emails, we have moved the choice button for Imperial or Metric Units back to the control panel.
  7. On 27 Jul 10, version 1.3a was released. This is the first release version for FoilSim III and includes a drag calculation which was not available in FoilSim II. Earlier versions of FoilSim III were developmental versions and not released to the public. With the release of FoilSim III, upgrades and revisions will cease for FoilSim II. The wind tunnel data used in the FoilSim III computer program was obtained by Anthony Vila, a student at Vanderbilt University, during a summer intern session at NASA Glenn in 2010.
  8. On 16 Apr 19, JS version was released. This is the first release version for FoilSim Student JS, this version generates a CSV file with the airfoil coordinates. With the release of FoilSim Student JS, upgrades and revisions will cease for FoilSim III.

Guided Tours


Button to Display Aerodynamics Index
Credits for FoilSim
Beginner's Guide to Aerodynamics
Beginner's Guide to Aeronautics


     First Gov Image

+ Inspector General Hotline
+ Equal Employment Opportunity Data Posted Pursuant to the No Fear Act
+ Budgets, Strategic Plans and Accountability Reports
+ Freedom of Information Act
+ The President's Management Agenda
+ NASA Privacy Statement, Disclaimer,
and Accessibility Certification


NASA Logo   
Editor: Daniel A Rodriguez Lopez
NASA Official: Nancy Hall
Last Updated: 4/16/2019 May 13 2021

+ Contact Glenn