Florian Rudolf
Dipl.-Ing.
Publications

Biography

Florian Rudolf, born in Austria 1984, studied technical mathematics at the Technische Universität Wien. 2012 he received the degree of Diplomingenieur and started working on his doctoral degree on the Institute for Microelectronics. His scientific interests are geometry, computer graphics, and programming.

Highly Flexible Mesh Generation for Physical Simulation

Meshing is an important part in the process of calculating numerical solutions to partial differential equations, especially finite element problems. Particularly in the area of microelectronic device simulation, the process of creating reasonable meshes is challenging due to the shapes of the device geometries, which tend to be very thin and often have non-uniform material properties in the interior of the mesh. A meshing framework is needed that provides the flexibility to tackle the issues brought about by microelectronic device geometries.
The ViennaMesh meshing framework has been improved by a dynamic layer enabling more flexibility at runtime, especially in applications with direct user interaction, like grahpical user interfaces. Additionally, interfaces to more algorithms, like mesh generators for constructive solid geometries, were implemented to provide an improved mesh generation backend. These algorithms also enable simple design and creation of device templates and geometries. Also, a mechanism was implemented, which manages the data handling and execution of multiple meshing algorithms to allow for sequential combination of algorithms, like creating a mesh and then optimizing mesh element quality.
In many simulation scenarios, a-priori information, like boundary conditions or non-uniform material properties, is available and can be used to optimize the mesh regarding the element size. Typically, the desired element size can be specified by global sizes for all elements of a (possibly partitioned) mesh or by scalar fields. While global sizes lack flexibility, scalar fields are difficult to treat due to their non-trivial impact, in particular, when using multiple scalar fields simultaneously. Additionally, some software libraries, like Triangle, support a callback mechanism for externally providing element size criteria in order to steer the mesh generation process However, this option typically requires recompilation with specific compilation flags and the actual implementation of the element size function.
ViennaMesh had also been extended by a dynamic framework for defining the size of mesh elements with an XML-based configuration. The framework automatically manages the computation of the local element sizes and provides interfaces to mesh generation backends, like Triangle, Tetgen, CGAL or Netgen. Arbitrary element size functions can be composed from scalar fields, arithmetic operations, and geometric predicates, such as the local feature size.

Fig. 1: TSV device, meshed with small element size in the areas of interest.