5.2.1.1 Korrekte Kantenzuordnung im Element



next up previous contents
Next: 5.2.1.2 Kantenzerteilung Up: 5.2.1 Ein auf transfiniter Previous: 5.2.1 Ein auf transfiniter

5.2.1.1 Korrekte Kantenzuordnung im Element

Um den Anwender zu entlasten, muß die Angabe der Kantenreferenzen in der Elementsspezifikation nicht in einer bestimmten Reihenfolge erfolgen. Das Programm bildet aus den zwölf gegebenen Kanten automatisch das korrekt orientierte Element.

Ziel ist es, die in Abbildung 5.22 gezeigte Kantennumerierung und Kantenorientierung zur Ausführung der transfiniten Interpolation, durch geeignete Umsortierung der Kantenreferenzen zu generieren.

Man startet dazu mit einer symbolischen Auftrennung der Kanten, dabei entstehen 24 Halbkanten (HK). Diese werden nach ihren Eckpunktskoordinaten (1-8) sortiert. Für eine praktische Realisierung kann man folgende Organisation der Halbkantenliste verwenden:

Die Kantenreferenz (Ref. K) zeigt durch einen Index auf den Eintrag in die Kantenliste. Die (Ref. HK ) zeigt auf die andere Hälfte der Kante in die Halbkantenliste. Ein Marker zeigt an, ob es sich um die linke oder rechte Hälfte der Kante handelt. Da die Referenzen (Ref HK), die beim Eintragen der Kanten in der Halbkantenliste aufgebaut werden, nicht zerstört werden sollen, sollte die Sortierung über ein zusätzliches Indexfeld (Scrambling-Feld) und alle folgendenden Vertauschungsoperationen über das 24 Einträge große Scrambling-Feld erfolgen. Wird im folgendenden Abschnitt über das Vertauschen von Halbkanten in der Halbkantenliste gesprochen, so ist immer ein Vertauschen von Einträgen im Scrambling-Feld gemeint.

Nach der Sortierung werden sogenannte Dreibeine aus den Halbkanten mit gleichen Eckpunktskoordinaten gebildet. Ein Dreibein geht von einem Hexaedereckpunkt aus und wird aus jeweils drei Halbkanten erzeugt. Die richtige Numerierung eines Dreibeins, welche der richtigen Numerierung der Hexadereckpunkte entspricht, erfolgt erst später. Auch die Bestimmung der ausgezeichneten Richtungen wird erst später erfolgen. Alle ungeraden lokalen Kantenbezeichnungen im Bereich 1-8 sind in -Richtung orientiert. Alle geraden lokalen Kantenbezeichnungen im Bereich 1-8 gehören der -Richtung an. Und die restlichen Kanten 9-12 sind in -Richtung orientiert.

  
Abbildung 5.22: Geeignete Orientierung für transfinite Interpolation

Aus der Halbkantenliste wird das Dreierpaket, daß an erster Stelle liegt, herausgegriffen und diesem willkürlich Eckpunkt eins zugeordnet. Dieses Dreibein ist nun noch richtig zu orientieren. Man bildet vom Eckpunkt zum jeweils nächsten Punkt auf der gekrümmten Kante einen Vektor und bestimmt das Spatprodukt dieser drei Vektoren.gif Ist es negativ, so vertauscht man z.B. den zweiten und dritten Eintrag der Halbkantenliste. Damit sind die Kanten k1, k4 und k9 in ihrer Reihenfolge festgelegt.

Für den folgenden Teil der Überlegungen ist es günstig, den Hexaeder auf einen planaren Graphen abzubilden. Ausgehend vom Eckpunkt eins kann man folgenden Baum mit vier Ebenen zeichnen (Abbildung 5.23), um alle Abhängigkeiten der Punkte von Kanten eindeutig aufzulösen.

  
Abbildung 5.23: Unvollständiger planarer Graph des Hexaeders

Im Prinzip läßt sich das restliche Problem in zwei Teilschritte zerlegen: Alle Dreibeine einer Ebene aus schon gefundenen Kanten bestimmen und dann die Orientierung der neuen Dreibeine finden.

Die Ebene eins wurde mit Hilfe des Spatprodukts bereits gebildet und damit sind die Kanten k1, k4 und k9 gefunden. Bei Ebene zwei läßt sich zunächst für Dreibein mit p2 sicher sagen, daß k1 im Dreibein p2 an die erste Stelle der Dreiergrupper (-Richtung) zu tauschen ist. Die Kante k1 im Dreibein p2 wird im Dreibein p1 an erster Stelle -Richtung gefunden. Die Kante k2 kann zunächst noch nicht festgelegt werden. Da aber in Dreibein p4 Kante k4 in -Richtung zeigen muß und damit auf die Stelle p4/ in der Halbkantenliste zu tauschen ist und außerdem die Eckpunktsnummer p3 von Dreibein p2 gleich der Eckpunktsnummer p3 von Dreibein p4 sein muß, so sind diese beiden Kanten durch maximal vier Vergleiche zu finden. Diese Kantennummer ist dann an die Stelle im Dreibein p2 und für Dreibein p4 an die Stelle zu plazieren.

Damit sind die Dreibeine p2 und p4 eindeutig bestimmt, und das Dreibein p5 kann einfach über die entfernten Eckpunkte von Dreibein p1/ und Dreibein p4/ bestimmt werden. Die Ebene vier mit Dreibein p7 läßt sich mit dem gleichen Schema bestimmen.

Aus dieser geordneten Halbkantenliste läßt sich am besten durch eine Abbildung über zwei Indexfelder

die richtige Kantenreferenzreihenfolge in das jeweilige Element eintragen. Das erste Feld weist auf die Stelle im Element, wo die Kantenreferenz im Element einzutragen ist, und das zweite Feld zeigt auf die richtige Halbkante, um die richtige Kantenreferenz zu finden. Die korrekte Orientierung der Kante im Element läßt sich gleichzeitig mit der Kantenzuordnung im Element über das dritte Markerfeld A/E bestimmen. Das Markerfeld gibt die richtige Kantenorientierung für die einzutragende Kante zurück. Stimmt die im dritten Feld angegebene Orientierung mit der in der Halbkantenliste eingetragenen Orientierung nicht überein, so ist dies parallel zur Kantenreferenz im Element durch einen Marker anzuzeigen.



next up previous contents
Next: 5.2.1.2 Kantenzerteilung Up: 5.2.1 Ein auf transfiniter Previous: 5.2.1 Ein auf transfiniter



Martin Stiftinger
Fri Nov 25 16:50:24 MET 1994