Balla, C. (2023). Tetrahedral mesh cleaving of level set surfaces [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.106905
Technology computer aided design (TCAD); Meshing; Mesh Cleaving; Process Simulation; Process Emulation; Microelectronics
en
Abstract:
In the field of microelectronics, device simulations require meshes which consist of good quality tetrahedra in order to achieve reliable results. Simulations of the fabrication of those devices are often carried out using process simulations which apply an implicit geometry representation, such as the level set (LS) method. Several algorithms exists which, from those implicit representations, generate tetrahedral meshes with various qualities, such as accurate surface representations or high element quality.This work describes the implementation of an algorithm from the group of lattice-based meshing algorithms, where mesh generation is initiated on a background lattice with tetrahedra of known quality. Using a multi-material LS input, a graded tetrahedral mesh with good dihedral angles is generated. The presented implementation adapts existing algorithms in order to create meshes from sparse multi-material LS grids, rather than a continuous signed distance function (SDF), or a dense LS grid. The input LSs are Manhattan normalized and use the so called LS wrapping approach, where an additive layer wrapping of the materials is used, in order to preserve thin features and make use of the LS sub grid accuracy during process simulation.The implemented algorithm consists of modular and exchangeable parts. There are three main parts: the creation of an octree substructure, the creation of a background mesh, and the cleaving of the background mesh. The octree creation is composed of an initial loading of LS input data and a module for grading its interior. The background mesh is created using the octree by employing a crystal lattice stencil module. This should ease further development of the algorithm, by making it possible to develop drop-in replacements for key parts of the algorithm. Therefore the presented implementation allows for the used body centered cubic (BCC) background lattice to be replaced by another background lattice in the future. Using alternative background lattices can potentially increase the quality of the produced tetrahedra.
en
Im Bereich der Mikroelektronik brauchen Bauteilsimulationen Gitter aus guten Tetraedern um verlässliche Ergebnisse zu liefern. Simulation des Herstellungsprozesses dieser Bauteile werden oftmals durch Prozesssimulationen unter Anwendung impliziter Geometriedarstellungen wie der Level-Set (LS) Methode gemacht. Es existieren einige Algorithmen, welche von solchen impliziten Darstellungen tetraedrische Gitter mit unterschiedlichen Qualitäten erzeugen. Zu diesen Qualitäten gehören unter anderem eine akkurate Wiedergabe der Oberflächen oder Elemente von hoher Güte.Die vorliegende Arbeit beschreibt die Implementierung eines solchen Algorithms, aus der Gruppe der Kristallgitter-basierten Gittererzeugungsalgorithmen. Diese Algorithmen initiieren die Gittererzeugung mit einem Hintergrundgitter basierend auf einem Kristallgitter, welches eine bekannte Güte aufweist. Ausgehend von multi-materiellen Level-Set Daten wird ein Gitter erzeugt, dessen Elemente im inneren größer werden und welches gute Diederwinkel aufweist. Die präsentierte Implementierung adaptiert existierende Algorithmen, um Gitter ausgehen von multi-materiellen dünn besetzten LSs zu erzeugen, anstatt ausgehend von einer vorzeichenbehaftete Abstandsfunktion oder einem dicht besetzten LS. Die verwendeten LSs sind dabei Manhattan normalisiert, außerdem wird der sogenannte LS Wrapping Ansatz verwendet. Bei diesem Ansatz werden die einzelnen Materialschichten additiv umeinander gelegt, um dünne Schichten und Regionen zu bewahren und um Subgridgenauigkeit in der Prozesssimulation zu nutzen zu können.Der implementierte Algorithmus ist modular gestaltet und aus einzelnen austauschbaren Teilen aufgebaut. Es gibt drei Hauptteile: das generieren einer Octree Substruktur, die Erzeugung einer Hintergrundgitters und das Mesh Cleaving des Hintergrundgitters. Die Generierung des Octrees setzt sich aus dem Laden der LS Eingangsdaten und einem Modul zu graduellen Füllung des Octree zusammen. Das Hintergrundgitter wird ausgehend von einem Octree und einem Modul zur Anwendung der Schablonen erzeugt. Die Schablone basiert dabei auf einem Kristallgitter. Der modulare Aufbau des Algorithmus sollte seine Weiterentwicklung begünstigen, in dem er es ermöglicht in der Zukunft einzelne Komponenten, unabhängig von einander, leicht auszutauschen. Daher erlaubt die präsentierte Implementierung auch, das verwendete kubisch-raumzentrierte (BCC) Kristallgitter durch andere Kristallgitter zu ersetzen. Alternative Kristallgitter erhöhen eventuell die Güte der erzeugten Tetraeder.
de
Additional information:
Zusammenfassung in deutscher Sprache Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers