crashViewer

Online Documentation

Overview

The contribution of the University of Stuttgart to the autobench project mainly consists in developing a capable 3D visualization tool named crashViewer. It is based on Cosmo3D / OpenGL Optimizer which are high-level graphics APIs that provide several techniques for fast rendering of large data models.
crashViewer supports both, visualization of pre- and postprocessing data. Preprocessing data also can be edited in various ways before passing it to the finite element solver. CORBA is used for embedding the crashViewer in the integration environment and for cooperative work over a network. Efficient algorithms and techniques are used for visualization. Interactive frame rates are obtained this way, even when examining large data sets.

Fig. 1: crashViewer takes advantage of the occlusion culling mechanism provided by OpenGL Optimizer.
The right image shows the culled geometry.

Preprocessing data

The crashViewer gives not only an interactive 3D view of the car geometry, but it also visualizes various parameters by mapping colors onto the geometry. Those parameters could be node or element based simulation results like, for example, the material thickness of an element. Furthermore, other values which have to be computed first, like the distance of each point to the next adjacent material, can be visualized. If this distance is too small in some areas, the geometry can be changed automatically to eliminate this problem. This so-called initial penetrations removal is done in the same way as it could be done by the finite element solver before the simulation calculation starts.

Fig. 2: Back compartment of a car. Wireframe model (left), distance visualization (mid), potential flanges (right).

Spotwelds are not only displayed, but can also be edited. The handling of other connection types will also be implemented. Further features include but are not limited to the visualization of invalid spotwelds and the replacement of an assembly part by another variant, to give some examples.

Fig. 3: Visualization of spotwelds - some are invalid for different reasons.

Postprocessing data

Postprocessing data consists of several time steps resulting from a simulation run. These time-steps can be shown as an animation in three dimensions, while user interaction is still possible. Several features augment the visualization. For example, the user can lock the camera to a point of interest - so the viewers eye point moves relative to this during the animation which allows a better observation.

Parameter mapping is also available with postprocessing data while the force flux can also be represented by force tubes. The force tube diameter and color depends on the accumulated section force of the intersected elements. Another feature is the visualization of the differences between two data sets. Such differences can be caused by minor modifications in the simulation input or through numerical instabilities in parallel processing.

Fig. 4: Force flux visualization (left) and stability investigation (right).

Integration

Besides the visualization of simulation results using virtual reality technologies, a main goal of the Autobench Project is the tight integration of CAD design, grid generation, simulation and visualization. The Autobench partners agreed to use CORBA middleware for communication between components. In this context, the crashViewer has been equipped with a suitable interface.

At BMW, where crashViewer is mainly used, a web-based integration platform called CAE-Bench is currently developed. The University of Stuttgart developed an applet which is embedded in a CAE-Bench web page and integrates a user interface for crashViewer into the CAE-Bench web based user interface. The applet communicates through mutual method invocation with the JavaScript methods contained in the web page. Simultaneously it establishes a CORBA communication with the crashViewer and controls it. As the CAE-Bench environment also controls the finite element calculation, it is possible to start the visualization of the current results with a mouse click. In this case, a crashViewer connection to the solver is triggered to fetch the latest available data.

Cooperative Work

crashViewer supports the work of cooperating engineers which are located at distant sites. Thus, it allows for a collaborative discussion on the crash-worthiness of the current model variant. Two scenarios are possible:

  • All participating users can run crashViewer and load the data. A session server controls the communication between the connected crashViewer entities. Only a small amount of data, for example the current camera parameters, has to be transmitted to other clients.
    This scenario guarantees fast updates for each client even over small bandwidth channels, Furthermore, it offers alternating interaction control for the collaborating users. But it requires the same software at each client side.
  • For those cases where crashViewer is not available on a client platform the rendered images can be sent to a Java-based client application. Therefore, the Java applet can connect to crashViewer. The images are compressed by crashViewer, transmitted, and decompressed by the applet.
    The latter scenario minimizes the requirements for the client side. The applet can be downloaded, for example by jumping to an URL using a web-browser and the data needs only to be accessible on the server side. Unfortunately, there is no interaction available on the client side right now.
  • Fig. 5: The crashViewer (left) transmit the rendered images to the client applet (right).