Octree Würfel zu Tetraedern

8

Ich versuche mehr über Volume Meshing zu erfahren und habe beschlossen, einen einfachen Volume Mesher zu implementieren. Die Strategie, die ich gewählt habe, besteht darin, meinen Raum mit einem Octree zu unterteilen, der anhand einiger Kriterien verfeinert wurde. Ich habe dafür gesorgt, dass mein Octree ausgeglichen ist, so dass der Unterschied zwischen zwei benachbarten Zellen nicht mehr als 1 beträgt (die sogenannte 2: 1-Regel).

Ich muss jetzt meine Zellen in Tetraeder schneiden. Ich habe gelesen, dass Body Centered Cubic (BCC) ein beliebter Weg ist, aber leider habe ich keine Literatur gefunden, die gut erklärt, wie man mit Unterschieden zwischen zwei benachbarten Würfeln unterschiedlicher Ebenen umgeht.

Ich habe auch gesehen, dass das Schneiden von Würfeln in 6 Tetras, wie unten gezeigt, üblich ist, aber ich habe wieder nichts gefunden, was erklärt, wie man mit Würfeln verschiedener Ebenen umgeht:

http://www.ics.uci.edu/~eppstein/projects/tetra/sixcube.gif

Ich würde es begrüßen, wenn jemand erklären könnte, wie Octree-Würfel in Tetras geschnitten werden sollten, oder mich vielleicht auf ein Papier / eine Präsentation zu diesem Thema verweisen könnte.

WesDec
quelle

Antworten:

2

Sie können dies auf zwei verschiedene Arten tun:

  • Sie akzeptieren, dass Ihr Netz hängende Knoten hat: Genau wie die Zellen Ihres Octree eine 2: 1-Beziehung haben, in der es verfeinert wird, können Sie für Tet-Netze dieselbe Art von 2: 1-Beziehung haben. Wenn Sie die isotrope (BCC) Verfeinerung von Hexaedern in Tets durchführen, wird die 2: 1-Beziehung zwischen benachbarten Zellen des Octree auch an die Tets vererbt.

  • Wenn Sie keine Knoten hängen möchten, können Sie einen Nachbearbeitungsschritt ausführen. Angenommen, Sie haben die BCC-Verfeinerung durchgeführt, dann gibt es möglicherweise benachbarte Tets, deren Größe sich um den Faktor 2 unterscheidet. Sie müssen nur die größeren Tets so verfeinern, dass sie jetzt mit ihren kleineren Nachbarn übereinstimmen. Wie das geht, ist im 2D-Fall auf einem Blatt Papier leicht zu verstehen. In 3d ist es etwas kniffliger, aber Sie werden sehen, dass Sie ein Tet anisotrop so verfeinern können, dass es zu seinen Nachbarn passt.

Wolfgang Bangerth
quelle
Hängende Knoten sind nicht erlaubt. Sie haben Recht, dass das Lösen in 2d sehr einfach ist, aber in 3d wird es kompliziert. Können Sie mich auf ein Papier verweisen, in dem die Verfeinerung der BBC und der Umgang mit hängenden Knoten erläutert werden?
WesDec
Nein Entschuldigung. Ich bin ein Hexaeder-Typ. Ich habe die Tet-Literatur nicht zur Hand. Vielleicht finden Sie etwas in Graham Careys Grids-Buch.
Wolfgang Bangerth
1

Ich habe die folgenden Artikel gefunden, in denen klar beschrieben wird, wie ein BCC-Netz erstellt wird und wie mit den hängenden Knoten umgegangen wird:

Adaptive und hochwertige tetraedrische Netzgenerierung

Isoflächenfüllung

In der folgenden Präsentation wird neben der Beschreibung des BCC auch das Face Centered Cubic (FCC) beschrieben: Ungebundenes optimales tetraedrisches Netz

WesDec
quelle
Shewchuks Isoflächen-Füllpapier ist wirklich gut. Ich wollte es posten, bevor ich nach unten gescrollt und das gesehen habe.
Nick Alger