Diana Phillips Mahoney
Researchers using computational fluid dynamics (CFD) to study the flow of liquids and gases have a problem. A big problem. In fact, it is a problem of terabyte proportion. Advances in CFD technology have enabled them to simulate a wide range of time-dependent flow phenomena, such as the flow of air around aircraft and automobiles or the movement of fluid through complex assemblies. Such simulations, however, can result in datasets of unmanageable size. "Complete datasets of terabytes have been reported," says Freek Reinders, a researcher in the Department of Computer Science at Delft University of Technology. It is impossible to store, let alone analyze, this amount of data."
Computational fluid dynamics calculates the flow of liquids or gases by solving flow equations resulting in values for such data as velocity, pressure, and temperature. These data values are calculated at each node of a grid representing the geometry of the object causing the flow disturbance and the area surrounding it. While a static simulation may result in a manageable gigabyte-size dataset, a simulation to investigate time-dependent phenomena requires the calculation of thousands of time steps, burdening researchers with what has been termed "the terabyte problem."
A new system developed at Delph University of Technology helps researchers explore the evolution of important events in fluid-flow simulations--such as the birth and death of a given feature--by presenting two different representations of the data over time. A 3D viewer (top) shows where an isolated event took place (red objects) and where it is most likely to occur next (blue objects). The event graph (bottom) uses a red line to trace the frame-by-frame evolution of the feature depicted above. It also shows other predefined features as blue nodes and tracks their evolution with blue lines.
|In the final event graph after feature tracking and event detection, small icons indicate different events, such as birth/death and split/merge.|
Reinders and his colleagues are working on a technology that should help solve this problem. The group has developed a system for detecting, tracking, and visualizing the important features and events represented in the monstrous flow-simulation datasets. Using multiple passes through the data, the system extracts the evolution of certain features from each frame or time step. It then determines the correspondence between features in successive frames, detects significant events or stages in the evolution such as the birth and death of a feature, and visualizes (using a graph representation in combination with a 3D feature viewer) the relationship between features in successive frames and shows the occurrence of particular events.
"Feature extraction focuses on the interesting phenomena in a dataset. Instead of looking at the whole dataset, only particular interesting features are studied," says Reinders. The first step in the process, he says, is an exploration stage during which the feature definition is specified. This definition describes any pattern or structure in the visualized data that is of interest and considered worthy of investigation.
Next, an expression must be found to identify the points or nodes on the grid where the data meet the "interesting" criteria. "In general, clusters of interesting nodes are found, which together form a feature. From these clusters, particular characteristics such as position and size and more complicated characteristics such as shape may be calculated," says Reinders. The collection of attributes describing a feature's characteristics are called "feature data."
Although feature tracking itself is not new, this implementation of it is. "We use a [three-frame] prediction-verification scheme, where a prediction of the feature attributes is made to the next frame, and these attributes are compared to those of [feature] candidates in that next frame."
In addition to the huge data reduction resulting from the isolation of feature data, which results in the storage of only a small number of attributes describing the characteristics of the feature, there are other advantages to this approach. Among these are the higher level of abstraction achieved by utilizing data describing the interesting features instead of the data containing such features. Also, the attribute sets describe the features quantitatively, enabling further analysis, and the features can be visualized using simple graphical objects, such as icons or glyphs.
The feature-tracking/event-detection process offers advantages over the more traditional use of animation. "Animations can be made by creating images of every timestep. This gives a nice movie of the time-dependent data--however it also has a number of deficiencies," says Reinders. One such deficiency is the need to rely on human perception, which is far from foolproof, for the extraction of salient features. In addition, traditional animation does not provide quantitative information on the evolving phenomena, precluding further analysis, nor does it enable user interaction with the data.
In contrast, says Reinders, "once the features are tracked and events are detected, all kinds of visualizations are possible." For example, he says, the relations between features in successive frames can be viewed in a graph-type visualization where the nodes represent features and the connections between nodes represent correspondences between features. In addition, the evolution of all features can be viewed in a player, showing the 3D icons, and a direct relation between the graph visualization and the player can be made. "Selection of a path in the graph will show the feature evolution in 3D space in the player and vice versa," Reinders notes. Finally, users can make queries on the events, such as directing the system to show all events of a certain type, and they can make plots of one attribute of a feature as a function over time.
A critical characteristic of this feature-tracking system is that the feature data is implemented in a manner that is amenable to adding new types of attributes and new criteria for tracking and event detection. "The prediction scheme and event-detection criteria are based on a priori knowledge about the application. The knowledge is translated into rules that lead to the tracking results. The visualization may lead to new insights, but unexpected events will not be found unless new rules are implemented and tested," says Reinders. "It is therefore indispensable to have a wide range of prediction schemes and event tests, or to have a flexible implementation so that new tests can be added easily."
|Highly vortical structures are evident in this frame of a CFD visualization.|
Reinders and his colleagues have tested the reliability of their tracking method in a number of ways. One method they use is the creation of data with known correspondences between frames. The tracking results are compared to the correspondences that were known in advance. Toward this end, he says, "we generate synthetic grid data with known features that can be used as input for the tracking process." Additionally, they've compared their solutions to the results obtained by other researchers and have received satisfactory results. And finally, they rely on their own eyes. "We play the features with a browser and see if correspondences are missed or if false positives are found."
The feature-tracking system is still a work in progress, says Reinders. Among the issues being considered for continuing research are the creation and implementation of new, higher-order prediction schemes and new attributes describing additional feature characteristics and correspondence rules. Another area of focus is the creation of additional event criteria for detecting new events. Currently, the system detects birth/death, entry/exit, and split/merge events. "New events may include bouncing of features or transition from one type of feature to another," says Reinders. Finally, the team plans to modify the system to allow it to track features with a coarse sampling in time, find an interesting stage in time, and focus on that part of the feature evolution.
|One frame of a CFD visualization of a flow past a tapered cylinder shows areas of turbulence that evolve over time behind the cylinder.|
As an ongoing project, the system is not slated for commercial development. More likely, it will eventually be made available as freeware, says Reinders.Diana Phillips Mahoney is chief technology editor of Computer Graphics World.