JavaFoil Analysis of Airfoils

About JavaFoil

JavaFoil is a new implementation of my older 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 transonic or fully supersonic flow with the methods in JavaFoil.

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 obtain the lift and the pitching moment. 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 as well as the pressure drag. Because the drag integration would be rather inaccurate, the total drag is obtained from the boundary layer parameters at the trailing edge, using the "Squire-Young" approximation. Both steps (potential flow and boundary layer analysis) are repeated for the given range of angle of attacks, which yields a complete polar of the airfoil for one fixed Reynolds number.
Note that 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 directly 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 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 turbulent flow separation, the results will be incorrect if larger areas of flow separation are present. Massive separation, as it occurs at stall, is modeled to some extent by empirical corrections, so that maximum lift can be predicted approximately for "conventional" airfoils. If you analyze an airfoil beyond stall, the results will be quite inaccurate. It is questionable, whether any 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 possibly strong three dimensional 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. There is also a short User's Manual in PDF format available.

Last modification of this page: 21.05.18

[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-2018 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       Datenschutz