Back to Joe's Java Index.
This library is provided as free software under the terms of the Lesser General Public License.
I have written a Java class package for computing aerodynamic quantities
and aiding with aerodynamic analysis. This package contains classes and
sub-packages that do the following:
- AeroReference: This class is a container for holding all the
reference quantities used to non-dimensionalize aerodynamic coefficients.
It holds quantities such as reference area, span and wing chord. It also
holds the moment reference center location. Units are tracked for all
these quantities. This class is commonly used in conjunction with the AeroCoefficients
- AeroCoefficients: Serves as a container for holding dimensionless
aerodynamic coefficients. This class holds six coefficients (3 forces,
3 moments) in association with the reference quantities that were used
to non-dimensionalize them. This class will automatically convert the
aero coefficients between the following axis systems: body axis, wind
axis and stability axis. This class will also automatically do reference
quantity conversions including moment reference center changes. I
wrote this class to address a common problem in aero analysis of working
with dimensionless coefficients and loosing track of the reference quantities
that were used to non-dimensionalize them. This class keeps the coefficients
and the reference quantities in close association which helps avoid
- AeroMethods: This class contains a collection of utility methods
commonly used in aerodynamic analysis. Methods currently include: Prandtl-Glauert
and Karman-Tsien compressibility corrections, estimation of critical
Mach number, viscosity ratio, and turbulent skin friction accounting for
the effects of compressibility, viscostiy and heat transfer.
- Isentropic: A set of utility methods for calculating isentropic
(adiabatic and reversible) flow properties in a gas. Methods currently
include: calculation of temperature ratio, pressure ratio and density
ratio, calculation of stagnation flow properties, area ratio necessary
to create sonic flow, and Mach number at entrance or exit of a nozzle
- ShockMethods: A set of utility methods for calculating the properties
across shock waves. Methods currently include: Mach number, density
ratio, pressure ratio, temperature ratio, and stagnation pressure ratio
down stream of a normal shock, supersonic pitot tube measurement, maximum
pressure coefficient behind a shock and Mach angle. Includes oblique
shock relationship allowing you to calculate Mach number or incline
angle or shock wave angle for an oblique shock. Also, the critical oblique
shock angle dividing weak from strong shocks, maximum incline angle
for attached shocks, the Prandtl-Meyer function for expansion shocks,
and the Mach number for a given Prandtl-Meyer function value.
- ConicalShock: A class that computes many properties related
to a semi-infinite cone in supersonic flow by numerically solving the Taylor-Maccoll
- StdAtmos1962 & 1976: Two standard atmosphere models: the
U.S. Standard Atmosphere of 1962 and the ICAO 1976 Standard Atmosphere.
These atmosphere models allow you to calculate how various properties
(pressure, density & temperature) change with altitude in a "standard"
or "reference" atmosphere. This model of an imaginary atmosphere allows
engineers and scientists to communicate with each other in a standard
way and yet still have a representative model of the real atmosphere.
- Airfoils: This sub-package contains a series of classes that
allow you to calculate the ordinates for a range of standard NACA 4
and 5 digit airfoils, both cambered and uncambered. I have included a
NASA technical report that describes the theory behind these class files
which are ported from a standard FORTRAN program from NASA.
- PanelGeom: This sub-package contains a series of classes for
working with paneled geometry in an object oriented manner. This isn't
strictly an aerodynamics function, but I wrote these classes with the
intention of using them with a series of panel based aerodynamic analysis
codes. This sub-package contains classes for reading a couple of different
geometry formats and can could easily be extended to read more. I've included
a sample geometry file in the download that can be read into memory with
If you download my aero package and use it, let me know what you think
and especially let me know if there is something that should be corrected
or added to this package.
My aero package can be downloaded by clicking here: jahuwaldt.aero (504k), Version: April 30,
Change history .
Created: August 17, 2002
Modified: May 1, 2005