Intake of a BMW engine.

Research and development of interactive visualisation methods for visualising and understanding complex systems, such
as modern cars or the human body.

Modern engineering is impossible without simulation. In order to understand various phenomena, the engineers build complex computer models to simulate the abstract models describing the phenomenon to be investigated. In the case of internal combustion engines, domain experts need very complex volume meshes, which are used in computational fluid dynamics simulations. For each cell of a volume various parameters are computed. These cells can be of various shapes; even arbitrary polyhedrons are supported in modern simulations. As the complexity of the meshes increases, they no longer fit into the main memory of a workstation. Still, the user needs to display and manipulate the mesh interactively. The mesh generation is done mostly automatically, but users need, for example, to move some vertices, or define a sub-volume.

Our task is to make it possible to display and interactively manipulate meshes that are far too large to fit into main memory. Besides the mesh itself, users want to depict simulation results on the mesh as well. In this case meshes are not manipulated anymore, but users have to be able to interact with visualization objects (seeding of flow lines, moving the cutting planes, etc.). To fulfill this task, we have developed a new visualization framework, which is based on ParaView (by Kitware) and the AVL ASTViewer, and combines the strengths of both systems. The full spectrum of visualization methods offered by ParaView is supported, and, on the other hand, users can flexibly combine all available filters and operators in an intuitive way. The rendering itself is done using AVL’s ASTViewer, which runs on MS Windows and Linux platforms, and takes care of efficient rendering independent of the graphics library actually used.

The system supports various parallelization strategies, from a basic approach, where the CPU cores of a single workstation are utilized, to huge computer clusters (communicating via MPI) utilizing data parallelism and client/server separation. Depending on the hardware specifications of the client and the size of the data set, rendering can be done locally (client receives geometry data), in parallel on the remote server (client receives image data) or by combining remotely rendered images with locally rendered geometry (client receives image and z-buffer/depth data). By applying the appropriate strategies, the domain experts can now interact with huge volume meshes with up to 109 cells. This is essential in exploring and understanding various phenomena in modern engines. Simulation and advanced visualization and analysis methods make it possible to meet today’s very strict emission regulations and to develop highly efficient engines all users are expecting nowadays.