A VRML Animation Creation System for ParaView
with connections to the CFD package, OpenFOAM



Background: The primary research topic in pursuit of my Mater of Science degree has been the Computational Fluid Dynamics (CFD) modeling of the fluid-structural interaction of turbulent, open-channel flow with riverway sediment. During my introduction to several CFD software packages, I used Ansys' CFX 10. It is a complete package that includes a solver with pre- and post- processing programs. The post-processing program contains a robust VRML export utility which allows the user to save their current visualization (including color legend widgets) to a VRML 2.0 file. (See selection of my lab notebook for examples). This format was very useful in communicating my results to other researchers. It allowed for a full 3D view of the solution which aided in highlighting my thoughts on the simulation. It also allowed other researches to explore the 3D nature of the solution, free of my post-processing decisions (e.g. camera angle). A wider audience of people were also able to view my results, as no special software or advanced computer usage skills are necessary -- just a web browser with the correct plug-in.

Since then, I have begun to use a CFD package called OpenFOAM. It is an open source continuum mechanics library written in C++ that contains a wide array of CFD solvers and turbulence models. It is much more powerful than CFX 10.0, and is more easily extendable to the types of problems I will encounter in my research. The recommended post-processing tool for OpenFOAM is ParaView , a tera-scale, parallel visualization tool that is currently under development by Kitware and several of the U.S. national labs. It is also released under an open source license and is freely available. One drawback to this package is there is limited support to export work to VRML (only avaiable in version 2.6).

Objective: I would like to create a system that can automatically generate VRML files from the results of OpenFOAM using the ParaView system. Since ParaView uses the VTK visualization system, it can produce data structures that represent input data as scalers, vectors, or glyphs. This system will change those structures into a VRML visulization. I propose to ...
  1. To create a program that exports the output of OpenFOAM to the time-series file format of VTK (pdv). Currently, the ability of OpenFOAM to interface with ParaView is limited to the use of specific versions of the software (OpenFOAM 1.3a and ParaView 2.4.3 -- 2.4.3 does not contain VRML export support). The ability to export these files to a native VTK format will allow any version of of ParaView to read the OpenFOAM data format (past or present -- but namely, the soon to be released ParaView 3.0)

  2. Write a Python module that interfaces with ParaView 3.0's keyframe animation abilities to export single or a time-series of VRML files.

  3. Write a script that automates the process of assembling a time-series of VRML files into a VRML animation file.

Future Work: I would also like the ability to publish the VRML files to the scientific community. With this in mind, the VRML files or animations will require extra information to be inserted into the visualization. Namely, details of the simulation parameters (author, title, Reynolds number, etc), representations of qualitative simulation data (color bars, graph widgets), and in the case of the animations, a widget to control time (e.g. a DVD-like control). Nicholas Polys has experience with these types of VRML widgets, and has offered to help me.