JavaFoil — Analysis of Airfoils

About JavaFoil

JavaFoil is a new implementation of my previous CalcFoil program. Like SimProp, CalcFoil was written solely for my web pages using the "C" language.

After rewriting SimProp using the "Java" language, I started to write JavaFoil for the same reasons (see my JavaProp pages).

© Sun Microsystems

Theoretical Background

JavaFoil is a relatively simple program, which uses several traditional methods for airfoil analysis. The following two methods build the backbone of the program:

A standard compressibility correction according to Karman and Tsien has been implemented to take mild Mach number effects into account. As long as the flow stays subsonic (V below V* in the Velocity diagram), the results should be fairly accurate. Usually this means Mach numbers between zero and 0.5. You cannot analyze airfoils in supersonic flow with the methods in JavaFoil.

During the latest upgrade in August/September 2002, the capability to handle multi-element airfoils and ground effect has been added. These additions are not extensively tested and may still contain a few bugs.

Some additional tools for creation and modification of airfoils have been added to fill the toolbox.

If supplied with the right food, the computer code will examine your airfoil. First it will calculate the distribution of the velocity on the airfoil surface which can be integrated to get the lift and the moment coefficient. Then it will calculate the behavior of the flow close to the airfoil surface (the boundary layer). The boundary layer data can be used to calculate the friction drag of the airfoil. Both steps are repeated for the given range of angle of attacks, which yields a complete polar of the airfoil for one fixed Reynolds number.
The calculations are performed by a computer code of my own, not by the Eppler or the XFOIL program. Only the boundary layer module was based on the method which is also found in the initial version of the Eppler program. Additions include new stall and transition models.


As said above, JavaFoil is a relatively simple program, with some limitations. As with all engineering computer codes, it is up to the user to judge and to decide how far he wants to trust a program. Because JavaFoil does not model laminar separation bubbles and flow separation, the results will be incorrect if either of these occur. Flow separation, as it occurs at stall, is modeled to some extent by empirical corrections, so that maximum lift can be predicted for "conventional" airfoils. If you analyze an airfoil beyond stall, the results will be quite inaccurate. It is questionable, whether a two dimensional analysis method can be used at all in this regime, as the flow field beyond stall is fully three dimensional with spanwise flow and strong vortices.

Please read all (yes, if I say all, I really do mean all!) the comments, instructions and tips - this may spare you time and trouble and lead to more realistic results. You might want to print out some pages for easier reading.

Last modification of this page: 27.01.07

[Back to Home Page] Suggestions? Corrections? Remarks? e-mail: Martin Hepperle.

Due to the increasing amount of SPAM mail, I have to change this e-Mail address regularly. You will always find the latest version in the footer of all my pages.

It might take some time until you receive an answer and in some cases you may even receive no answer at all. I apologize for this, but my spare time is limited. If you have not lost patience, you might want to send me a copy of your e-mail after a month or so.
This is a privately owned, non-profit page of purely educational purpose. Any statements may be incorrect and unsuitable for practical usage. I cannot take any responsibility for actions you perform based on data, assumptions, calculations etc. taken from this web page.

© 1996-2006 Martin Hepperle
You may use the data given in this document for your personal use. If you use this document for a publication, you have to cite the source. A publication of a recompilation of the given material is not allowed, if the resulting product is sold for more than the production costs.

This document may accidentally refer to trade names and trademarks, which are owned by national or international companies, but which are unknown by me. Their rights are fully recognized and these companies are kindly asked to inform me if they do not wish their names to be used at all or to be used in a different way.

This document is part of a frame set and can be found by navigating from the entry point at the Web site

Impressum und weitere rechtliche Hinweise für Deutschland