CUDA-Based Particle Tracing in Time-Variant Tetrahedral Grids
Computational fluid dynamics (CFD) uses numerical methods, e.g. Navier-Stokes Equations, to calculate simulations of flow fields over time. The domains under investigation are most often discretizised using unstructured grids consisting of cells of heterogeneous size which allows fine-grained distribution of cell nodes in areas of special interest.
In my thesis, I've developed a new approach for the direct interactive exploration of such unstructured grids build of atomic volumetric elements called tetrahedrons, by tracing massless particles through the flow field embedded in a time-variant domain. The simulation data resulting from CFD hereby consists of several temporal states of the time-variant domain which are represented each by a tetrahedral grid with embedded flow field velocities.
The massless particles are used to visualize the flow over time and behave like smoke in real wind tunnel experiments. A vast amount of particles is needed to convey the visual impression to some extend similar to real-world experiments. Deployed in an immersive Virtual Reality environment, the time-variant flow can be interactively explored providing a natural and intuitive user interface for the creation of particles within the domain under investigation.
One of the challenges was the efficient location of the particles within the unstructured grid, as this operation is performed very often while integrating the flow field velocities to advect the particles through the field. To achieve interactive frame rates, an absolute requirement for virtual reality applications, the particles' movement is calculated entirely on the GPU using the CUDA framework. This allows visualizing the flow using up to 500.000 particles at interactive frame rates. This video shows the application running on a L-Bench: