This page contains various programs that may prove useful to my design class students, and other aerodynamics and design students. These are mostly old-fashioned codes without graphical user interfaces. See the software review page for commercial codes with modern user interfaces. In some cases I have now added links to sites located elsewhere, where key codes are available. Some other useful online Java-based programs are available at www.engapplets.vt.edu. Comments or questions? Contact me at mason@aoe.vt.edu. Last modified: March 18, 2001.

- Aerocal Pak #1
- Airfoil generation: NACA 4&5 Series
- Airfoil generation: NACA 6&6A Series
- Planform Analysis (Aerocal Pak #2)
- Nicolai's sizing program(s)
- Simple Lifting Line Theory
- Standard atmosphere
- Skin Friction/Form Factor Drag
- Induced Drag for a single planar wing
- Induced Drag for nonplanar lifting systems
- Induced Drag for simple nonplanar lifting systems, with camber line design
- Control Power Assessment
- Lateral/Directional estimates and Engine Out
- Vortex lattice design to get a 2D camber line for a given chordload
- Vortex lattice analysis and design: VLMpc
- Vortex lattice analysis and design: VLM 4.997 (manual only)
- Subsonic Airfoil Analysis and Design: XFOIL 6.9
- Subsonic Airfoil Analysis and Design: Pablo
- Transonic airfoil analysis: TSFOIL2
- Supersonic aerodynamics of arrow wings
- Propulsion
- Landing Gear Integration
- Takeoff Distance Calculation

Aerocal Pak #1

This software is a BASIC program that implements the old Aerocal Pak #1,
*Basic Aerodynamic Relations*. It has the NACA 1135 tables,
Prandtl-Meyer angle and inverse, properties of oblique shocks,
the Rayleigh/Fanno line table and the 1976 standard atmosphere.
Originally written for a programmable calculator, the code is in
QuickBASIC, and runs as is on a Mac with QuickBASIC. A one line change
is required to run it on an IBM type PC. The file is standard ascii text.

Airfoil generation: NACA 4&5 Series

This is an interactive FORTRAN program that allows the user to construct airfoils using the NACA 4 digit or modified 4 digit airfoil thickness distributions and the NACA 4 digit, 5 digit or 6- and 6A series camber lines. A variety of output options are available on the screen. It can also create a file for use as input to airfoil analysis programs. This file is in the so-called "Jameson format". The file is standard ascii text. It should run using any FORTRAN compiler.The theoretical description of the equations used is available as a pdf file which is actually an Appendix to my Applied Computational Aerodynamics Notes.

This is a FORTRAN program that allows the user to obtain (approximately) the NACA 6 digit or 6A digit airfoils. The program was written at NASA by Cuyler Brooks and Charles Ladson. It appears to be considered to be in the public domain. The file is standard ascii text. It should run using any FORTRAN compiler. The theoretical description of the equations for the camber lines is available as a pdf file which is actually an Appendix to my Applied Computational Aerodynamics Notes. The thickness distribution of these airfoils is not described by a single equation.

Planform Analysis (Aerocal Pak #2)

This software is a BASIC program that implements the old Aerocal Pak #2,
*Basic Geometry for Aerodynamics*. I put it up for the little
planform and wing analysis programs, which I find still find useful,
although today they should be on a spreadsheet. It also generates the
shapes for several of the classic bodies of revolution, and has the BASIC
(original) version of the FORTRAN program FOILGEN given above for the NACA
airfoils. Originally written for a programmable calculator, and then
translated to Applesoft, the code is in QuickBASIC, and runs as is on a Mac
with QuickBASIC. A one line change is required to run it on an IBM type PC.
The file is standard ascii text. The theoretical description is available
as a pdf file which is actually an Appendix to my Applied Computational
Aerodynamics Notes.

Nicolai's sizing program(s)

These programs implement Nicolai's aircraft sizing algorithm in QuickBASIC. The first code, acsize, provides the size, while the second code, acsweep, covers a range of takeoff gross weights, showing the empty weight required and available. They should run on either Mac or IBM type PCs with QuickBASIC. Data values are set in the program, with the hope that the users will look at the code and see what is going on. The only modification to Nicolai's notation is a supersonic mission leg. The file is standard ascii text.

- acsize.QB
- acsweep.QB
- A similar and likely better code is available from Dan Raymer's web site.

Simple Lifting Line Theory

This is an interactive FORTRAN program that solves the classical Prandtl lifting line theory using the monoplane equation. The file is standard ascii text. It should run using any FORTRAN compiler.

Standard atmosphere routine

This is a FORTRAN subroutine that can be used in other programs. It is the same routine used in Pak #1 above. The units are listed in the subroutine header. A sample main program is included to illustrate the use of the program, and it should run using any FORTRAN compiler.

Skin Friction/Form Factor Drag estimation

This program can be used to estimate the basic friction drag of an airplane. It is from Mason's Applied Computational Aerodynamics Class, and the acrobat manual is App. D.5 of the class notes. It should run using any FORTRAN compiler. Along with the manual and code, a sample input and the resulting sample output are provided.

Induced Drag for a single planar wing

Computation of the induced drag of a single planar surface given
the spanload distribution. You get a value of the span *e* as output.
The coefficients of the assumed Fourier Series are computed using a
Fast Fourier Transform. The program was written by Dave Ives, and
used in numerous programs developed for the government by Grumman.

Induced Drag for nonplanar lifting systems

This program can be used to find the induced drag of a system of nonplanar
lifting elements. It was written by Joel Grasmeyer. It has both design
and analysis capabilities. This means that you either find the spanload
required to obtain the minimum induced drag, or you can input a spanload
and find the induced drag. The program also prints out the span efficiency
factor *e*. This program does not give you the twist and
camber required to generate the spanloads. Three FORTRAN programs are
required and must be linked to run the program.

- idrag.f
- idragin.f
- math77.f
- idragman.pdf The program manual
- dsample.in A winglet design example input file
- dsample.idrag A winglet design example output file
- asample1.in An analysis example input file (linear load distribution)
- asample1.idrag An analysis example output file
- asample2.in An analysis example input file (elliptic load distribution)
- asample2.idrag An analysis example output file

Induced Drag for simple nonplanar lifting systems, with camber line design

John Lamar's design program, modified to find the span *e* for
two nonplanar lifting surfaces given the spanload on
each surface. This is a more capable version of LIDRAG. This
code also finds the wing camber and twist required to obtain
this spanload at subsonic speeds. The code will also do an
optimization analysis, finding the minimum trimmed drag and
spanload required to achieve it.

Control Power Assessment

This is a collection of codes that may be useful in aircraft conceptual design. There are two main components, a vortex lattice code to provide at least a rough estimate of the stability and control derivatives, and a spreadsheet to evaluate a design using specified aircraft characteristics. We also have codes that implement the methods of NASA TP 2907 to find the best way to trim the aircraft when you have multiple possibilities. This includes three surfaces, and two surfaces with thrust vectoring.

- VPI-Aero-200.pdf
(the complete report, including the user's manuals for the codes)
- JKayVLM.f This is the original "small" code. It might fit on a PC.
- JKaydblp.f This is the double precision version with more panels.
- JKsamp.inp This is the sample input file
- JKlata.tst This is the sample input file for the lateral geometry
- JKlonga.tst This is the sample input file for the longitudinal geometry
- JKsampoutref This is the sample output to check your results.
- CPRCheck.sit CPRCheck (the spreadsheet in Lotus 1-2-3 format, in Stuffit format from a Macintosh)
- VPINASACPC.sit VPI-NASA-CPC (the spreadsheet in EXCEL format and improved by Marty Waszak at NASA Langley, in Stuffit format from a Macintosh.)
- VTnascpc.zip VPI-NASA-CPC (the spreadsheet in EXCEL format
and improved by Marty Waszak at NASA Langley, zipped so that an IBM can download and
unzip. It is the same file format from a Macintosh as the .sit file above. EXCEL on IBM
should be able to import the file - let me know if there is a problem.)
- fltcond.f A program to establish various flight conditions to assess the configuration.
- FLTcondSetup.sit This is a spreadsheet in Lotus 1-2-3 format, in
Stuffit format from a Macintosh, to setup the input for the fltcond.f code.
- trim3s.f (FORTRAN program implementing NASA TP 2907, the version for 3 surfaces)
- 3SURFACE.DAT (input file that reproduces the case in the manual)

- trimTV.f (FORTRAN program implementing NASA TP 2907, the version for 2 surfaces and thrust
vectoring)
- 2SURFACE.DAT (input file that reproduces the case in the manual)

Lateral/Directional estimates and Engine Out

This is a code that can be used to estimate some of the key lateral directional stability and control derivatives for use in estimating aircraft characteristics. It is basically an implementation of the DATCOM method, with adjustments to match published B747 data. It should be used in place of lateral-directional estimates from Jacob Kay's code given above, which is on shakey theoretical grounds. It was developed by Joel Grasmeyer for the truss-braced wing project.

- LDstabdoc.pdf This is the report describing the methods, including the user's manual
- LDstab.f This is the FORTRAN source.
- 747LDs.in This is the sample input file.
- 747LDs.out This is the sample output to check your results.

Vortex lattice design to get a 2D camber line for a given chordload

The camber line required to produce a specified chord load distribution is computed using the quasi-vortex lattice method by Prof. Lan of the University of Kansas. The method is valid for two dimensional incompressible flow, and is an original (and very simple) program.

- DESCAM Manual (pdf)
- descam.f
- descam.inp

Vortex lattice analysis and design: VLMpc

John Lamar's two surface vortex lattice program, developed at NASA Langley. The program treats two lifting surfaces using up to 200 panels. Vortex flows are estimated using the leading edge suction analogy. This program was typed in from the NASA TN D, which contained the listing, by students in Applied Computational Aerodynamics nearly 10 years ago. John Lamar didn't have a copy of the code anymore. It has been modified to run in WATFOR, and to produce 80 column output.

- VLMpc Manual (pdf) Note: this code has many check cases
- VLMpcv2.f
- vlm.dat
- vlm.out
- vlm2.dat
- vlm2.out
- B767.dat
- B767.out
- YF23.inp
- YF23.out
- YF23.in2
- YF23.out2

Vortex lattice analysis and design: VLM 4.997 manual

VLM 4.997 is a NASA Langley Vortex Lattice Program which can handle four planforms and up to 400 panels. It is an extension and improvement of the two surface code discussed above. This is an Acrobat Manual only. If you want the code you need to contact NASA Langley. Our version is available for student use in the design lab.

- VLM 4.997 Manual
- A7wing.inp An A-7 with a different wing, wing alone case input
- A7wing.out the output for this input
- A7wingfus.inp An A-7 with a different wing, wing-fuselage case
- A7wingfus.out the output for this input
- A7full.inp An A-7 with a different wing, wing-fuselage-tail case
- A7full.out the output for this input

Subsonic Airfoil Analysis and Design: XFOIL 6.9

XFOIL is an airfoil analysis and design program from Prof. Mark Drela at MIT. It is for essentially incompressible single element airfoils. However, it includes viscous effects, and can be used in an inverse mode, where the pressure distribution is input and the required geometry found. It runs on workstations and win32 PC systems. Some very good airfoil work has been done by design class students with this code.

- Xfoil The location for the code, which is available under the GNU licensing rules, and related manuals and discussion groups.

Subsonic Airfoil Analysis and Design: Pablo

Pablo is a subsonic airfoil analysis and design program. It comes from KTH, the Royal Institute of Technology, in Stockholm, Sweden. Christian Wauquiez wrote the program, and Professor Arthur Rizzi was his advisor. Pablo stands for "Potential flow around Airfoils with Boundary Layer coupled One-way". It is a MATLAB code, so you need to have MATLAB to run it. Eventually, this url will go away, and when it does, Prof. Rizzi has given us permission to put this up on our site at Virginia Tech.

- pablo The location for the code and related manuals.

Transonic airfoil analysis: TSFOIL2

TSFOIL2 provides a finite difference solution of the transonic small disturbance equation. It will run on my Mac with no problem. Some students have not been able to fit it on their PCs. The source code is provided as standard ascii text. The code was written by Earll Murman and co-workers, and includes wind tunnel wall effects. It originated at NASA Ames. It's very old, but appears to be in the public domain. The listing was included in a NASA CR which is referenced in the mini-manual provided here as a pdf file.

- TSFOIL2 Manual (pdf)
- tsfoil2.f The source code.
- bicon.inp Sample input for a biconvex airfoil
- bicon.out Sample output for the biconvex airfoil input
- n2412.inp Sample input for an NACA 2412 airfoil
- n2412.out Sample output for the NACA 2412 airfoil
- N0012.inp Sample input for an NACA 0012 airfoil
- N0012.out Sample output for the NACA 0012 airfoil
- SC20610.inp Sample input for a NASA SC(2)-0610 airfoil
- SC20610.out Sample output for the NASA SC(2)-0610 airfoil

Supersonic aerodynamics of arrow wings

arrow is a code to compute the linear theory lift curve slope, aerodynamic center and drag due to lift of arrow wings at supersonic speed.

- arrow.f The source code.

Propulsion

The best source of propulsion information and software is the site by Professor Jack Mattingly. He is a co-author of the AIAA Aircraft Engine Design book, and the software that goes with it. Various codes are available from him.

- Propulsion codes, including ONX. Note that OFFX is apparently included in the AEDsys code.

Landing Gear Integration Codes

These programs allow the designer to assess the configuration against the landing gear requirements, and also the pavement thickness requirements. Finally, there is a code that will estimate the landing gear weight. The report and codes are available on a separate page that is accessible by looking at the html cover page for the report and software for MAD 96-09-01, "Landing Gear Integration in Aircraft Conceptual Design."

Takeoff Distance Calculation

This program computes the takeoff distance, including the balanced field length. The program uses the method of Krenkel and Salzman. Two versions are available. The original FORTRAN program was written by Sean Lynn as an undergraduate research project. After some initial experience, a few improvements to the numerics were made by Pete MacMillin, who felt compelled to convert the code to c. For the test case, there is very little difference between the answers from the two different codes. The input files are also slightly different between the FORTRAN and c verisons. The basic theory is contained in Sean's final report, which is available as a pdf file.

- takeoff2.f
- TAKEOFF2manf.pdf
- TAKEOFF2.IN the sample input
- TAKEOFF2.OUT the sample output
- DC9.IN a sample DC-9 case
- 747.IN a sample 747 case
- takeoff2.c
- TAKEOFF2cman.pdf
- takeoff.in the sample input
- takeoff.out the sample output

Other codes to come.