%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\chapter{Introduction}

%\section{Software System for the Integration of Real-Time Simulations and Virtual Environments} 
\section{Real-Time Simulations and Virtual Environments} 

Parallel simulations are playing an increasingly important role in all
areas of science and engineering. As the areas of applications for
these simulations expand and their complexity increases, the demand for their
flexibility and utility grows. Interactive computational steering is
one way to increase the utility of these high-performance simulations,
as they facilitate the process of scientific discovery by allowing
the scientists to interact with their data. On yet another front, the
rapidly increasing power of computers and hardware rendering systems
has motivated the creation of visually rich and perceptually realistic
virtual environment (VE) applications. The stereoscopic display and the
enhanced user-interaction provided by these VE systems make them an
ideal platform for visualization of complex simulations. The combination
of computational steering and VE applications provides one of the most
realistic and powerful simulation tools available to the scientific
community.

As an example of such an important application here is the problem
of maximizing airport efficiency. National Aeronautics and
Space Administration (NASA) scientists predict that by the year
2022, three times as many people will travel by air as they do
today~\cite{nasascientists}. To keep the number of new airports and
runways to a minimum, there is an urgent need to increase their
efficiency while reducing the aircraft accident rate. Today, the biggest
limiting factor for airport efficiency is the time delay between aircraft
take-offs and landings which are necessary because of the wake-vortices
generated by the moving aircraft. Moreover, according to the predictions
by the United States Federal Aviation Administration (FAA), if by the
year 2015 the wake-vortex hazard avoidance systems do not improve
in any significant way, there is the potential for a significant
increase in the number of aviation accidents~\cite{atc1}. One of the
goals of this work is to create a wake-vortex hazard avoidance system
by realistically simulating an airport with real-time visualization of
the predicted wake-vortices. This system can be used to dynamically
alter the aircraft take-off and landing trajectories to avoid the
collision with wake-vortices. If implemented, such a system has the
potential to greatly increase the utilization of airports while reducing
the risks of possible accidents. In this work, an easy to use, yet
powerful computational steering library is developed to deal with
the complexities of real-time wake-vortex visualization. Since the
wake-vortex prediction for an entire fleet of aircraft taking-off and
landing at a busy airport is a computationally intensive problem, a
parallel solution for the same is proposed.

A computational steering system is required to enable such a
complex simulation. The output from the parallel code is sent to
the VE system via a computational steering framework. A significant
amount of work has been done on computational steering over
the past few years. Reitinger~\cite{steering5ms} provides a
brief review of this work in his thesis. Some of the well known
steering systems are {\em Falcon}~\cite{falcon} from Georgia Tech,
{\em SCIRun}~\cite{steering4scirun} from Scientific Computing
and Imaging research group at University of Utah, ALICE Memory
Snooper~\cite{alice_mem_snooper} from Argonne National Laboratory, {\em
VASE}~\cite{steering6vase} (Visualization and Application Steering)
from University of Illinois, {\em CUMULVS}~\cite{steering7cumulvs}
from Oak Ridge National Laboratory, {\em CSE}~\cite{steering8cse}
(Computational Steering Environment) from the Center for Mathematics
and Computer Science in Amsterdam, and {\em Virtue}~\cite{vr3} from
University of Illinois at Urbana-Champaign. A summary of the environment
characteristics of these systems based on their scope and their user interface
is shown in Table~\ref{table:steering}. Three different types of scope 
can be distinguished based on the information extracted from the target
application~\cite{steeringsurvey}:
\begin{enumerate}
\item {\em Model exploration}: In this, the user is interested primarily
in the application's input and
output data.

\item {\em Algorithm experimentation}: In {\em algorithm experimentation}, the user is informed about the application's program structure and the program algorithms can be adapted to suite the user's needs during the simulation.

\item {\em Performance optimization}: In this, the user is provided information
about the application's configuration and progress so that the user may
improve its performance by manually adjusting some parameters.

\end{enumerate}

\begin{table}[h!]
\begin{small}
\centerline{
\begin{tabular}{|l|c|c|c|c|} \hline
{ }&{ Model}&{ Algorithm }&{ Performance}&{ } \\
{ }&{ exploration}&{ experimentation }&{ optimization}&{ User Interface} \\ \hline
Falcon & & & x & 2-D visualization; \\ 
& & &   & steering user-interface \\ \hline
ALICE & x & &  & steering GUI; \\ 
& & &   & MATLAB~\cite{matlab} interface \\ \hline
VASE &   &   & & visualization through existing\\ 
 & x & x & & packages; steering through \\ 
 &   &   & & textual input \\ \hline
SCIRun & x & x & & visualization modules; \\ 
 &   &   & & steering user interface \\ \hline
CUMULVS &   & &   & visualization external through \\ 
& x  &  & x  & AVS~\cite{avs}; steering through textual \\ 
&   & &   & input \\ \hline
CSE &   & & & graphical editor for multi- \\ 
& x & & & dimensional datasets; \\ 
&   & & & steering GUI \\ \hline
Virtue & & & x & Interactive VR visualization \\ 
& & &   & and steering \\ \hline
\end{tabular}}
\end{small}
\caption{Summary of environment characteristics of existing steering systems~\cite{steering5ms}}
\label{table:steering}
\end{table}

Computational steering has also been attempted by coupling of
a 2-D solver with the Virtual Reality (VR) environment by Carolina
Cruz-Neira et al~\cite{cosmicworm, cave3} at the Electronic
Visualization Lab (EVL), University of Illinois, in as early as
1993. They worked on very simple simulations of Rayleigh-Taylor
instability and gravitational wave components predicted by Einstein's
theory of general relativity. The datasets were relatively small and
calculations were simplified by approximating theoretical algorithms
and decreasing rendering quality. The steering was implemented by
providing a menu to change input parameters of the simulation and then
restarting the simulation when a change was detected. The computation
was simultaneously performed on a separate machine which was networked
with a CAVE. Parker et al. have several publications~\cite{o_steering1,
o_steering3, o_steering5} which discuss computational steering software
systems and strategies, and applications of their SCIRun system. Juler
et al.~\cite{vr8battlefield} have implemented a software architecture
called Dragon for real-time battlefield visualization. Taylor et
al.~\cite{vr2} have done some interesting work which explores the lag
time involved in interactive virtual reality applications.

While they are all powerful, the major drawback of these systems
is that they are often too complex, are not object-oriented and
have a steep learning curve. It is not easy to couple these systems
with existing scientific codes. It may take a significant amount of
time to be productive with these systems, especially for the large
number of computational scientists with little formal education in
computer science or software systems. To address these problems, a
new lightweight and portable computational steering system based on a
client/server programming model has been developed.

\section{Representative Applications}

The ease-of-use and the power of the new computational steering system,
POSSE, is illustrated with the help of two major applications. The
first application deals with the real-time visualization of wake-vortex
hazards, whereas the second application deals with the interactive
visualization of complex computational fluid dynamics simulations. Here,
``real-time'' means that the physical time simulated by the wake-vortex
prediction application is not less than the actual running time of
the application by more than a small upper limit $\epsilon$--that
is, $t$ seconds of wake-vortex physics does not take any longer than
$t+\epsilon$ seconds to compute. Both these applications run on parallel
machines and use a remote graphics workstation for visualization.
Theoretically, however, the steering software described here could be used
in traditional real-time systems such as flight simulators and aircraft
cockpits. This would require more work to make it fault-tolerant.

\subsection{Real-Time Simulation of Wake-Vortex Hazards}
% http://europa.eu.int/comm/research/growth/gcc/in-action-vortex.html

Just as a moving boat or a ship leaves behind a wake in the water, an
aircraft leaves behind a wake in the air. The aircraft wake is generated
from the wings of the aircraft and consists of two counter-rotating
swirling rolls of air which are termed the ``wake-vortex'' or
``wake-vortices''. Figure~\ref{fig:vortex} shows a photograph depicting
the smoke flow visualization of wake-vortices generated by a Boeing
727. This visualization has been made possible by using wingtip smoke
generators~\cite{smokegenerator}. It is to be noted that these are not
contrails (i.e., condensation trail left behind by the jet exhausts).
These wake-vortex pairs stretch for several miles behind the aircraft
and may last for several minutes. The strength of these vortices depends
on several factors, prominent amongst which are the weight, size and
speed of the aircraft. The strength generally increases with the weight
of the aircraft. The rate of decay of the vortices depend on the
prevailing weather conditions. Typically, vortices last longer in calm
air and shorter in the presence of atmospheric turbulence.

\myfigureW{figs/vortex.ps}{vortex}{12cm}
{B-727 vortex study photo (Courtesy: NASA Dryden Flight Research Center)}

The study of these vortices is very important for aircraft
safety~\cite{wake1, wake2, vortexhazard1}. The rapid swirling of air
in a vortex can have a potentially fatal effect on the stability of a
following aircraft. Past incidents and tests have repeatedly shown that
even a commercial aircraft can be thrown out of control if it follows
too close behind a large aircraft such as a Boeing 747. What makes
the problem worse is that these wake-vortices are normally invisible
and the pilots have no way to find out if they are heading into one.
The infamous US Air Flight 427 (Boeing 737) disaster~\cite{disaster1} which
occurred on September 8, 1997 is attributed to this phenomenon,
wherein the aircraft encountered the wake-vortices of a preceding
Boeing 727. The more recent American Airlines Flight 587 (Airbus A300)
disaster~\cite{disaster2} on November 12, 2001 in New York is also
believed to be, at least partially, a result of wake-vortex encounter
from a preceding Boeing 747. For this reason, the FAA and the
International Civil Aviation Organization (ICAO) have laid down strict rules
about the permitted spacing between aircraft, based on their size. In
instrument flying conditions, aircraft may follow no closer than three
nautical miles, and a small aircraft must follow at least six nautical
miles behind a heavy jet such as a Boeing 747. These separations are
extremely conservative; while they do not always completely avoid
the effects of wake-vortices, they are sufficient to be safe in most
meteorological conditions.

Nearly all airline pilots have had encounters with vortices, usually on
the final approach to airports~\cite{pilotwake}. These are experienced as
a buffeting of the aircraft. While of little concern to passengers and
crew who are wearing seat belts at this stage, pilots regularly report
minor injuries to crew members who are standing up or moving around the
cabin. Although the conservative ICAO regulations on aircraft spacing
have greatly reduced the risk of serious accidents, they come at
the cost of reduced airport capacity. The spacing between aircraft is
very conservative to compensate for the inaccurate
prediction of the strength and the position of the wake-vortices, and is
often several times more than the actual safety limit, thus reducing the
number of take-offs and landings that can be performed safely every hour.

%\subsection{Aircraft VOrtex Spacing System (AVOSS)}

To tackle this problem of reduced airport capacity, which is becoming
increasingly important, the NASA researchers have designed a system to
predict aircraft wake-vortices on final approach, so that the
aircraft can be spaced more safely and efficiently. This technology is
termed AVOSS or Aircraft VOrtex Spacing System (AVOSS)~\cite{avoss1}.

AVOSS determines how winds and other atmospheric conditions affect
the wake-vortex patterns of different types of aircraft. The system
uses laser radar, or lidar technology, to confirm the accuracy of
these forecasts. This information is processed by computers, which can
then provide safe spacing criteria automatically. The AVOSS concept
integrates the output from a number of subsystems such as the weather,
wake prediction, and wake sensors (Figure~\ref{fig:avoss}). Weather
gear at the airport measures the prevailing winds, temperatures
and turbulence levels. The equipment also makes short term
predictions of potential weather changes. AVOSS then establishes an
invisible aircraft approach corridor with multiple wake prediction
windows. This information is fed into the wake prediction subsystem
which predicts the time it will take for wake-vortices to decay or drift
away from the flight path.
The prediction subsystem calculates spacing criteria and potential
runway capacity. It then provides appropriate aircraft separation
distances for the next 30 minutes. The system then predicts the time
it will take for the wakes to clear the corridor at multiple windows. The
most conservative time is taken as the final spacing time. The end
result is thus automatic and is considered sufficiently accurate, safe
and efficient for the air-traffic controllers.

\myfigureW{figs/avoss.ps}{avoss}{13cm}
{AVOSS subsystem architecture~\cite{avoss2}}

AVOSS has been extensively tested at the Dallas/Fort Worth (DFW) airport
since 1997. Further details and developments on AVOSS can be found
in references~\cite{avoss2,avoss3,avoss4,avoss5}.

In spite of carrying out a rigorous simulation of the
wake-vortices, AVOSS does not implement any system for their
visualization. It only provides the Air-Traffic Control (ATC) with the
aircraft spacing time for each aircraft which is all the current
systems can handle. Thus, at present, it is unable to provide alternate
trajectories for the take-off and landing of aircraft.
The system presented here not only predicts (computationally) where the
vortices will be, but also displays them in the VR system.

%Write about Terminal Area Simulation System (TASS) here~\cite{tass1,tass2}.

\subsection{Computational Fluid Dynamics Visualization}
%Computational Fluid Dynamics (CFD) is the science of determining a
%numerical solution to the governing equations of fluid flow whilst
%advancing the solution through space or time to obtain a numerical
%description of the complete flow field of interest.

Computational Fluid Dynamics (CFD)~\cite{cfd} is a simulation
technique which allows the numerical prediction of fluid flow based
on the governing equations. CFD has become an indispensable tool in
aerodynamics for both designing and analyzing flows for which no
analytical solutions are available. It constitutes a ``third'' approach
in the philosophical study and development of the whole discipline of
fluid dynamics alongside {\em experiment} and {\em theory}. However, the
sheer complexity and size of today's CFD calculations pose innumerable
problems for the visualization of their results. It is common for
a typical unsteady run over a full-scale aircraft geometry to take
several days or weeks even on a modern state-of-the-art supercomputer.
To let such an expensive and time-consuming simulation go unchecked is
tantamount to taking a big risk should the solution diverge or give
unexpected results due to incorrectly set parameters. Hence, there is
a great need to be able to interactively visualize the results from
these simulations while they are being performed. This can enable the
detection of errors in the simulation earlier which can possibly be
rectified by changing the solver parameters. Also, the amount of data
these simulations generate can run into hundreds of gigabytes and become
prohibitive for storage. An efficient way to retrieve and post-process
this data interactively from a remote machine as and when they are
generated can result in huge savings of both time and storage.

A computational steering approach not only makes the interactive
visualization of CFD simulations possible, but it also makes it more
efficient due to the ``dimensional reduction'' in the data to be
visualized. This is due to the fact that the simulation data lives in
a higher dimensional space (3D, or 4D when time is included) than the
data needed for visualization (2D for iso-surfaces, and 1D for chord
plots). This data can be obtained directly from the parallel simulation
in a scalable manner as opposed to the traditional way of consolidating
the data into a file and post-processing it. Thus, not only is there an
order of magnitude less data to deal with which reduces communication
time, but it is also computed faster as it is done in parallel.

To develop such an interactive CFD system~\cite{pumasteering}, the
computational steering approach is used to augment an existing
parallel flow solver, Parallel Unstructured Maritime Aerodynamics
(PUMA)~\cite{puma2}, which is written in C using the Message Passing
Interface (MPI) library. This enhanced system can be used to monitor
and steer several large flow simulations over helicopter and ship
geometries, thus providing the user with a fast and simple debugging and
analysis mechanism. The flow and convergence parameters can be changed
dynamically without having to abort and restart the simulation. Further,
this CFD system can be coupled to a VR setup to obtain
near real-time visualization of the 3D solution data in stereoscopic
mode.

%\subsection{Aircraft Noise}

%Aircraft noise has been a quality of life issue near airports for many
%years. Even though the absolute single event noise levels have decreased
%with the introduction of newer and quieter aircraft, aircraft fleet
%noise impact will continue to constrain the growth of air travel as the
%public expectation is for lower community noise impact. Many airports
%in the U.S. are facing strong public resistance to adding new runways
%or changing air-traffic flight paths. However, the demand for the goods
%and services provided by our air transportation system is also very
%strong. FAA projections show a 3-5\% increase in air travel per year over
%the foreseeable future. Until objectionable aircraft noise is contained
%within airport boundaries through successful implementation of advanced
%noise reduction technology, noise from subsonic airplanes will continue
%to be an issue resulting in the reliance on constraining mitigation
%polices and procedures, such as curfews and noise budgets, for noise impact
%relief.

\section{Thesis Flow}
This thesis is divided into \ref{chapter:conclusions} chapters.
Integrated Virtual Environments and Parallel Computing are introduced
in Chapters~\ref{chapter:vr} and~\ref{chapter:parallel}, respectively.
A detailed discussion on computational steering is then provided in
Chapter~\ref{chapter:steering}, followed by the details of wake-vortex
simulations in Chapter~\ref{chapter:wake} and the details of CFD
simulations in Chapter~\ref{chapter:cfd}. Finally, conclusions are drawn
in Chapter~\ref{chapter:conclusions}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
