INTERACTIVE VISUALIZATION AND COMPUTATIONAL STEERING IN VISUAL SUPERCOMPUTING

Jim X. Chen(1), Horst D. Simon(2), and David Rine(1)

1) Department of Computer Science, George Mason University
2) Lawrence Berkeley National Laboratory, University of California

(appeared in IEEE Computational Science and Engineering, Vol. 3, No. 4, Dec. 1996, pp. 13 - 17. )

1. INTRODUCTION

Researchers in the field of scientific computation have the fortune to see their capabilities increase by more than an order of magnitude each decade. Visual supercomputing is the new frontier in scientific computation and visualization. As high-end supercomputers have become more powerful, an greater than Cray Y-MP performance has become available on the desktop, the scientific community has witnessed an explosion in its ability to generate results. Satellites, medical scanners, microscopes, radio telescopes, geophysical sensors, and information superhighways all generate huge amount of scientific, engineering, and medical data. Systems which tightly couple high-performance visualization with high-performance computing are becoming more common, as are high-performance networks which are beginning to allow remote visualization and interaction with running simulations.

There are many aspects to visual supercomputing, including numerical computation, scientific visualization, interactive visualization, computational steering, and virtual reality. An overview and clear understanding of some of these aspects will help to gain insight into the design of a supercomputing system, the implementation of many aspects and methods, and the results of scientific and engineering calculations. This paper discusses several aspects of modern visual supercomputing, and presents a case study in real-time fluid simulation.

2. SCIENTIFIC COMPUTATION AND VISUALIZATION

Scientific computation is at the heart of supercomputing. It uses computers to generate data from engineering, chemistry, medicine, physics, mathematics, and other scientific area. It includes simulating physical processes, calculating engineering properties, producing chemical behaviors,
manipulating medical data, etc.

Users, when presented with a new result, are impatient to see and understand it as quickly as possible. They will prefer to understand it from observing an image rather than from reading abstract numbers and symbols. Visualization, or scientific visualization, is a process of transforming the generated abstract data into a visual form so that the users can observe and
understand the results better and easier. Its goal is to make a systems nature apparent at a glance. Visualization employs techniques from computer graphics, image processing, computer vision, graphical user interface, and other related fields. Besides visual computing and display, we need to take into account human perceptual and cognitive capabilities, human variations, and task characteristics [1]. The ability to visualize complex data sets, synthetic models, and results from supercomputer calculations is essential in provoking insights, enabling communication of these insights to colleagues, and confirming the integrity of observations [2].

Visualization uses computer graphics to make pictures that give us insight into the abstract data and symbols, not just its appearance. It is related but different from the subject of computer graphics. Computer graphics is mostly concerned with realistic rendering of scenes that either do exist or might exist in the real world or our experience [3]. Graphical simulation uses graphics to simulate and animate the behaviors or phenomena which we encounter in real life. In contrast, visualization is mostly concerned with visualizing things we could not otherwise see. For example, software visualization can help software engineers cope with the complexity while increasing programmer productivity. Software visualization tools use graphical techniques to make software visible by displaying programs, program artifacts, and program behaviors [4]. As we can see, there are many methods and research directions in visualization. The mostly discussed research areas include volume visualization for volumetric data, large data-set visualization for physical and natural sciences, and information visualization for text libraries.

Volume visualization is a method of extracting meaningful information from volumetric data using graphics and imaging. For example, a sequence of 2D slice images obtained from Magnetic Resonance Imaging (MRI) or Computed Tomography (CT) can be reconstructed into a 3D volume model and visualized for diagnostic purposes or for planning of treatment or surgery. Volume rendering techniques were developed that attempt to capture the entire 3D data in a single 2D image. Volume rendering convey more information than surface rendering images, but at the cost of increased algorithm complexity, and consequently increased rendering time [2]. Fundamentally, it works by modeling the volume as cloudlike cells composed of semi-transparent material. Each cell emits light, partially transmits light from other cells, and
absorbs some incoming light [5].

The visual presentation and examination of large data-sets from physical and natural sciences often require the integration of terabyte or gigabyte distributed scientific databases with visualization. The display and interpretation of data and information from physical and natural sciences employs statistical analyses, cartography, Computer Aided Design (CAD) and Geographic Information Systems (GIS) techniques in conjunction with visualization. The integration of multi-disciplinary data and information (e.g. atmospheric, oceanographic, and geographic) into visualization syst=
ems will help and support cross-disciplinary explorations and communications. Computation and visualization in the physical and natural sciences are distinguished by the need to deal with data sets that are produced by a large variety sources. Raw data are remotely sensed by a variety of satellite sensor types, radars, sonars, and lidars (laser radars). Direct measurements are taken from surface stations, airplanes, ships, buoys and balloons. The variety of data comes with different data geometries, sampling rates, and error characteristics. These issues are compounded when dealing with environmental science research problems which attempt to merge air, water and
subsurface data into a single visualization [6].

Information visualization is emerging as a new research area. Visual representation of information requires merging of data visualization methods, information categorization, information retrieval, and computer graphics. In contrast with scientific and physical data which are mostly spatial, information is completely abstract and thus require different visualization approaches. The field of information visualization includes visualizing retrieved information from large document collections (e.g., digital libraries), the World Wide Web, and text databases. Because information is usually non-spatial data, one needs to map the text library information into a physical space that will represent relationships contained in the information faithfully and efficiently. This could enable the observers to use their innate abilities to understand through spatial relationships the
correlations in the library. Finding a good spatial representation of the information at hand is one of the most difficult tasks in visualization of abstract information [1].

3. INTERACTIVE VISUALIZATION

The traditional computational engineering and visualization includes the following process: develop a computational model; specify initial conditions; simulate the model (i.e., the governing equations) numerically; store the results off to disk; visualize the data via a separate visualization package. The intermediate results, which might be part of the solutions to the problems, are ignored. Interactive visualization allows us to visualize the results or presentations interactively in different perspectives (e.g., angles, magnitude, layers, levels of detail, etc.), and thus help us to
understand the results on the fly better. Graphical User Interface (GUI) is needed for this interaction. Interactive visualization systems are most effective when the results of models or simulations have multiple or dynamic forms, layers, or levels of detail. Thus interactive visualization helps users interact with visual presentations of scientific data and understand
the different aspects of the results. For example, new interactive computerized visualization technology can give doctors easier, quicker and less expensive ways to see the interiors of a patient's heart (from sliced images) in different angles and layers, and determine whether and to what extent a patient may have heart disease.

Interactive visualization makes the scientist an equal partner with the computer to manipulate and maneuver the 3D visual presentations of the abstract results. The requirements for such mastery are very high performance components in computing, networking, and visualization. The visualization software needs to be integrated directly with the numerical computation software, and in many cases there is no need for extra storage because the intermediate results are displayed and used on the fly. The ultimate in interactive visualization will permit the user to input any conceivable technical questions, manipulate the system results, and traverse the visual presentations in real-time.



4. COMPUTATIONAL STEERING

Many software tools, packages, and interactive systems have been developed for scientific visualization. However, most of these systems are limited to post-processing of data-sets. In a traditional visualization and computational model, parameters, initial conditions, and boundary conditions are all predefined. Any changes and modifications made to the model, input parameters, initial conditions, boundary conditions, or numerical computation considerations are accomplished off-line, and each change made to the model or input parameters causes most of the other steps and computation processes to be repeated. In many cases the computations are done after hours or days of numerical calculations, only to find the results do not help solving the problems or the initial value of a parameter has been wrong. Scientists and engineers would prefer to have a system in which all these computational components were linked so that, parameters, initial and boundary conditions, and all aspects of the modeling and simulation process could be steered, controlled, manipulated, or modified graphically through interactive visualization within the context of a single application program.

The integration of computation, visualization, and control in one tool is highly desirable, because it allows users to interactively steer the computation. At the beginning of the simulation before there is any result generated, a few important feedbacks will significantly help choosing correct parameters and initial values. One can visualize some intermediate results and key factors to steer the simulation in the right direction. With computational steering, users are able to modify parameters in their systems as the computation progress, and avoid something being wrong or uninteresting after long hours or days of expensive computations. Therefore, computational steering is an important tool to adjust uncertain parameters, to steer the simulation in the right direction, and to fine tune the results. Implementation of a computational steering framework requires a successful integration of many aspects of visual supercomputing, including numerical= computation, system analysis, and interactive visualization, all of which need to be effectively coordinated within an efficient computing environment. Computational steering can be considered as the ultimate goal of interactive computing [7].

Computational steering is different from interactive visualization. It uses interactive visualization to check the parameters, conditions, intermediate results, and other aspects of a simulation to control and steer the computation in the right direction. Interactive visualization, on the other
hand, is a general method to visualize intermediate or final results of a scientific computing from different perspectives specified by the users. It doesn't emphasis the control and steering of the computing process.


5. PRODUCTS, PACKAGES, AND CURRENT TRENDS


There are many existing products and packages for visualization applications, such as VTK, AVS, IRIS-Explorer, Khoros, Tcl/Tk, Motif, etc. Visualization toolkits (VTK, AVS, IRIS-Explorer, Khoros) and user interface development toolkits (Tcl/Tk, Motif) simplify the implementation of a visualization system. The developers can assemble components instead of constructing everything from scratch. However, on one hand, there is a bottom-neck between the applications and the visualization packages and tools. In many cases it takes time to learn an existing package only to find that the package lacks the specific functions needed for the application. On the other, some of
these packages are relatively expansive, thus the number of users to have access to the software is limited. For example, AVS/Express is a multiplatform, standards-based software environment for developing technical applications with interactive visualization and graphics functions. The package is well developed and available for all major UNIX workstations and costs $18,000, with subsequent seats priced from $4,500 [8]. Due to these reasons, many interactive visualization and computational steering systems are implemented for specific applications with specialists from engineering, computer graphics, network, and other related research area.

Software systems are towards integrating scientific computation, interactive visualization, computational steering, and multimedia. Hardware systems appear more and more to be integrations of distributed supercomputers, visualization workstations, VR tools, and other hardware devices through high speed networks. Distributed systems provide a mechanism for effectively harnessing the total computational power of multiple workstations available on a network. Distributing the output of large supercomputing results emphasizes sharing of resources among applications. Partitioning large computation and visualization processes into independent subtasks and then distributing those subtasks provide us the benefit of parallelism. The harnessed distributed system is thus made to serve as a cost-effective high-performance virtual machine for performing large computations, steerings, and interactive visualizations. A synchronously conferenced collaborative visualization environment would let multiple users on a network
of workstations and supercomputers share large data sets, simultaneously view
visualizations of the data, and interact with multiple views while varying
parameters [9].


6. STEERING AND INTERACTIVE VISUALIZATION OF FLUID FLOW - A CASE STUDY


Simulating physically realistic complex fluid behaviors presents an extremely challenging problem for computer graphics researchers. Such behaviors include the effects of driving boats through water, stirring liquids, blending differently colored fluids, mixing insolubles such as oil and water, rain falling and flowing on a terrain, fluids interacting in a distributed interactive simulation, etc. Such capabilities are useful in computer art, advertising, education, entertainment, and training. To provide a physical foundation for general fluid animation, one must employ the Navier-Stokes equations, which are the embodiment of Newton=D5s second law in fluids, and the governing equations of general fluid flow. Recently, we have developed a Computational Fluid Dynamics and visualization system using the Navier-Stokes equations for real-time fluid behaviors [10]. This method integrate computational steering, interactive visualization, together with real-time graphical rendering of the fluid behaviors. Here we concisely introduce our
methods and techniques.


6.1 Navier-Stokes Equations

Navier-Stokes equations are derived from Newton=D5s second law. The following
equations are called the Navier-Stokes equations for an incompressible flow
(1)

where , , , , r is the density, p is the pressure, m is the viscosity, i+ j + k, V ui + vj + wk,

g = gxi + gyj + gzk, and gx, gy, gz are the gravity vectors. The differential continuity equation for incompressible flow
(2)
is used together with Navier-Stokes equations to determine the relationships
between velocities and pressures. The Navier-Stokes equations without external forces can be written in the dimensionless form
(3)
where Re is the Reynolds number. The Reynolds number is a parameter that indicates mainly the viscosity of the fluid. If the Reynolds number is relatively small, the fluid is viscous and the flow is laminar; if it is large, the fluid tends to be inviscid and the flow is turbulent. Therefore the results of the Navier-Stokes equations with different Reynolds numbers correspond to the behaviors of different kinds of fluids.


6.2 Simulation

In our approach, we use the pressures in a 2D fluid flow field to simulate the fluid surface behaviors [10]. At the same time, we can visualize the pressure distributions in the fluid flow field through the fluid surface. Therefore we only need to compute the 2D Navier-Stokes equations. There are several approaches in computational fluid dynamics to solve the Navier-Stokes equations. Here we employ a finite-difference solution technique that uses a penalty method [11].

After we calculate each state of the velocity vectors and pressures of the fluid flow field, we can draw a current frame of fluid flow as in Fig. 1. The fluid surface height shows the turbulences as well as the values of the pressure distributions in the flow field.

6.3 Computational Steering

As shown in the graphical user interface in Fig. 1, all the parameters for simulating the Navier-Stokes equations can be modified. In a simulation, one can manipulate these parameters (grid size, time-slice, Reynolds number, etc.) to achieve stability and other special effects. For example, we can simulate different kinds of fluids by changing the Reynolds number. However,
higher Reynolds number in the calculation may result in numerical divergence, while lower Reynolds number will result in numerical convergence. We may first specify a very high Reynolds number to achieve some specific turbulent behavior but reduce the Reynolds number before the numerical calculation diverges. This way we can use a simple numerical method to achieve behaviors not possible for a constant parameter, and more importantly, to steer the= simulation in the right direction. Even though this is not an accurate fluid computation at the beginning, it is very helpful to locate the bugs at the initial stage, find reasonable parameters, and fine tune the results.

6.4 Interactive Visualization



Through the interactive graphical user interface, we can look at the fluid surface pressures, check the velocity vector field, change the viewing angle, adjust boats' respective locations, add floating objects, and apply some other controls and manipulations for interactive visualization. The interactive visualization is integrated together with the numerical computing and steering.

A flow is called internal if the flow field is inside a channel, pipe or any other external boundaries. It is termed external if the flow field is outside a tower, bridge or any other internal boundaries. A fluid flow can be both internal and external if it has both internal and external boundaries. The fluid boundary condition changes determine the fluid behavior. Therefore, the boundary conditions are extremely important in achieving the required fluid flow simulation. The boundary conditions can be modified iteratively to change the fluid behaviors. Therefore, depending on the applications, the boundary conditions can be fixed, movable, not modified or modified at each
step. For example, by specifying a small internal boundary area inside the fluid flow field and moving the area and its boundary conditions in the fluid field, we can achieve the behavior of a boat moving inside the fluid. At the same time, we can interactively visualize the pressure changes on the fluid surface with such a moving boundary condition (Fig. 1).


7. REFERENCES

  1. S. Card, S. G. Eick, N. Gershon, =D2Information Visualization, ACM SIGGRAPH 96 Course #8, New Orleans, LA, August, 1996.
  2. A. Kaufman, R. Avila, B. Lorensen, L. Sobierajski, and R. Yagel, Volume Visualization: Principles and Practice, ACM SIGGRAPH96 Course #34, New Orleans, LA, August, 1996.
  3. P. R. Woodward, Interactive Scientific Visualization of Fluid Flow, IEEE Computer, October, 1993.
  4. T. Ball and S. G. Eick, Software Visualization in the Large, IEEE
    Computer, April 1996.
  5. C. T. Silva, A. E. Kaufman, and C. Pavlakos, The PVR System, IEEE
    CS&E, Winter, 1996.
  6. T. M. Rhyne, M. Botts, B. Hibbard, and L. Treinish, Visualizing Scientific Data and Information: Focusing on the Physical and Natural Sciences, ACM SIGGRAPH 96 Course #16, New Orleans, LA, August, 1996.
  7. J. D. Mulder and J. J. van Wijk, Computational Steering with Parametrized Geometric Objects, Proceedings IEEE Visualization 595, Oct, 1995.
  8. S. Hamilton, New Products: Graphics and Visualization Applications, IEEE Computer, July 1994.
  9. V. Anupam, C. Bajaj, D. Schikore, and M. Schikore, Distributed and
    Collaborative Visualization, IEEE Computer, July, 1994.
  10. J. X. Chen, and N. V. Lobo, Toward Interactive-Rate Simulation of Fluids with Moving Obstacles Using Navier-Stokes Equations, CVGIP: Graphical Models and Image Processing Vol.57, No.2, Mar. 1995.
  11. R. Peyret and T. D. Taylor, Computational Methods for Fluid Flow, Springer-Verlag New York Inc. 1985.


back to home page