The Java Virtual Wind Tunnel

Technical Details

The Java Virtual Wind Tunnel takes a geometry and initial condition (specified in an input file) and then time marches the flow until it reaches a steady state. The input geometry can be any structured grid (though a very skewed or irregular grid could cause the simulation to become unstable).

Normalized units are used for all flow quantities. The inlet density and temperature are declared to be "1", and all other flow quantities are normalized to those values. This results in more reasonable looking values than metric units.

Jameson's finite volume scheme is used to discretize the domain and the discrete equations are then solved using a fourth order Runge-Kutta method with local timestepping. Local timestepping is a method in which each grid point is marched in time using the largest allowable local timestep. Since different parts of the flow march at different rates, the result is not time accurate. A choice box is included, however, so the user can choose between local timestepping and a time accurate method. The scheme is cell centered and artificial viscosity is included to stabilize the solution. Fourth order smoothing is used to remove sawtooth modes, and second order smoothing is used to prevent "ringing" at shocks.

Oh, to support more complex geometries, like wings, the simulation has to be modified to support C-meshes as well as simple structured meshes. That may or may not get done in the future.

I would like to note that although this simulation is an educational tool, there's a real scientific potential here as well. It looks like it might be practical to build a flow visualizer in Java which could be linked to a native code solver running on, say, a Cray Y-MP. That would allow someone to visualize their results on a variety of platforms.


References (for the technically inclined):
Now that you know the technical details, you can
June, 1996
David Y. Oh / Computational Aerospace Sciences Laboratory, MIT / bamf@attbi.com