4.3.1 Hüllenorientierte Struktur



next up previous contents
Next: 4.3.2 Zeilenkomprimierte Struktur Up: 4.3 Vorausberechnung der Anzahl Previous: 4.3 Vorausberechnung der Anzahl

4.3.1 Hüllenorientierte Struktur

 

Bei dieser Datenstruktur, die für direkte Löser verwendet wird, ist die Bestimmung der Anzahl der benötigten Einträge äußerst einfach, da in einer Zeile der Speicher vom minimalen Spaltenindex bis zum Diagonaleintrag minus eins zu allozieren ist.gif

Dazu setzt man die Einträge eines Vektors , welche die Länge der Anzahl aufweist, zunächst auf den Diagonalindex, also und vollzieht symbolisch einen Assembliervorgang Element für Element. Mit den globalen Indizes von wird nun folgendermaßen verfahren: wird auf gesetzt, wenn ist. Außerdem wird nur dann neu gesetzt, wenn und aktive Knoten indizieren und daher gilt (Abschnitt 3.9). Die Anzahl der notwendigen Einträge einer Zeile der strikten unteren Dreiecksmatrix in hüllenorientierter Struktur ist einfach mit bestimmt. Es wird also keine aufwendige Datenstruktur benötigt, um den notwendigen Speicher für die Matrix vorzubestimmen.

Die Koeffizienten der rechten Seite werden ebenfalls in einer Matrix abgespeichert, da es ineffizient wäre, für jeden Energieberechnungslauf eine Neuassemblierung durchzuführen. Für jeden Lauf wird die rechte Seite Matrix (RHS-Matrix) mit dem Dirichlet-Knotenvektor ausmultipliziert und das negative Ergebnis wird in die rechte Seite eingetragen. Die RHS-Matrix wird natürlich in zeilenkomprimierter Struktur abgespeichert und benötigt daher für die Berechnung des Speicherplatzbedarfs Strukturen und Methoden, wie sie im folgenden Abschnitt gezeigt werden.



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