Paul Manstetten was born 1984 in Berlin, Germany. He studied Mechatronics at the University of Applied Sciences Regensburg (Dipl.-Ing.) and Computational Engineering at the University of Erlangen-Nuremberg (MSc.). After three years as an application engineer for optical simulations at OSRAM Opto Semiconductors in Regensburg he joined the Institute for Microelectronics in September 2015 as a project assistant. He is researching high performance numerical approaches for Technology CAD within the scope of the Christian Doppler Laboratory for High Performance TCAD.
Using Temporary Explicit Meshes for Direct Flux Calculation on Implicit Surfaces
Dynamic surfaces play a key role in a large number of areas including fluid simulations, computer graphics and semiconductor fabrication. Across all of these fields of application, the level set method is widely used to represent the surface. The advantage of the method's inherent implicit representation is the robust handling of topological changes, for example, splitting an object into two parts or merging two objects together.
In general, one time step in a dynamic surface simulation can be split into (a) the computation of the local surface velocities, (b) the advection of the level set, and (c) the normalization of the level set. When the model for the surface velocities depends on the flux rates originating from a remote source, a computationally expensive three-dimensional visibility evaluation has to be performed for each surface point.
Our approach improves the performance of this computational bottleneck by integrating the flux on a temporarily generated explicit surface mesh. Utilizing modern hardware-tailored single-precision ray tracing libraries for visibility calculations on the explicit mesh promises a significant improvement in performance when compared to the established approaches, which perform the ray tracing directly on the level set data structure. We used Embree as a ray tracing library and OpenVDB for the level set representation and mesh extraction.
To compute the flux of a planar source towards each surface point, the solid angle, which renders the source visible, has to be evaluated. A subdivided icosahedron (Fig. 1) is used to obtain a triangulation of the hemisphere defined by the local surface normals. Rays are traced towards each of the centroids of the triangulation.
The overhead introduced by the generation of the temporary explicit mesh (illustrated in Fig. 2b) and the construction of the acceleration structure is about 0.2 seconds for meshes with more than 0.4 million triangles (Fig. 2a). This overhead is compensated by the ray tracing time, which is at least three times faster on the explicit mesh for all scenarios we investigated.
Fig. 1: Initial icosahedron (n=0) and subdivisions up to n=4.
Fig. 2: (a) Overhead introduced by the mesh extraction and the setup of Embree for different surface resolutions and (b) a plot of the implicit/explicit mesh of the unit sphere with radius 1 for a voxel size of 0.1. The red and blue isosurfaces visualize the extents of the narrow-band.