next up previous
Next: 5.5 Unvollständige Zerlegungen Up: 5.4.4 Das parallele Verfahren Previous: 5.4.4.2 Variante 2 : Gauß-Seidel-Jacobi

   
5.4.4.3 Variante 3 : Gauß-Seidel-Blocklöser

Im Unterschied zu Variante 2, welche (5.3b) und (5.3d) durch ein etwas schlechteres Verfahren ersetzte, werden nunmehr die entsprechenden Blocksysteme direkt gelöst. Voraussetzung für eine parallele Auflösbarkeit ist die in Abschnitt 4.3.1 geforderte Blockstruktur der akkumulierten Matrizen  ${\ensuremath{\color{red} \mathfrak{K} } }_E$ und  ${\ensuremath{\color{red} \mathfrak{K} } }_V$ (siehe auch Netzanforderungen 3a und 3b). Die Matrixeinträge  ${\ensuremath{\color{red} \mathfrak{K} } }_{E,j}$ aus ${\ensuremath{\color{red} \mathfrak{K} } }_{E} = \mathrm{blockdiag}\{{\ensuremat...
...ed} \mathfrak{K} } }_{E,j}\}_{j=\overline{1,\mathrm{NumEdges}} \makebox[0pt]{}}$ sind für Kanten und lineare Ansatzfunktionen tridiagonal und lassen sich somit problemlos invertieren (Thompson/Progonka). Die Matrix ${\ensuremath{\color{red} \mathfrak{K} } }_V$ ist normalerweise eine Diagonalmatrix.
Genauso wie zwischen den Blöcken ''$V,E,I$'' wird im Teilgebietsinneren die Gauß-Seidel-Iteration ausgeführt. Durch die partielle Anwendung eines direkten Lösers ist die Konvergenzgeschwindigkeit etwas besser als beim GausSeidel Verfahren.
 \begin{algorithmus}% latex2html id marker 17678
[H]\caption{Paralleler Gau\ss{}-...
... \\
\multicolumn{3}{l}{ \mbox{\textbf{\sf end}}}
\end{array}$\end{algorithmus}
Berücksichtigt man, daß die Crosspoints (''$V$'') und die Interfacedaten (''$E$'') in jedem Falle getrennt akkumuliert werdem, dann wird pro Iterationsschritt nur genausoviel Kommunikation wie beim $\omega $-Jacobi Verfahren (Algorithmus 5.6) benötigt, allerdings ist der Vorbereitungsschritt durch die Akkumulation der Matrix (tridiagonal) fast 3-mal so aufwendig.
Die akkumulierten Matrizen  ${\ensuremath{\color{red} \mathfrak{K} } }_E$ und  ${\ensuremath{\color{red} \mathfrak{K} } }_V$ müssen in obigem Algorithmus zusätzlich gespeichert werden, da die nichtakkumulierten Matrizen  ${\ensuremath{\color{green} {\sf K}} }_E$ und  ${\ensuremath{\color{green} {\sf K}} }_V$ noch in den Matrix-mal-Vektor Operationen benötigt werden.

Falls kein Abbruchtest nötig ist, z.B. bei Verwendung als Glätter mit einer fixen Anzahl von Schritten, kann man die Berechnung der Skalarprodukte weglassen und $\underline{{\ensuremath{\color{green} {\sf r}} }}$ identisch  $\underline{{\ensuremath{\color{red} \mathfrak{w} } }}$ wählen.


Aufgabe :


Geben Sie eine Variante von Algorithmus 5.11 an, welche ohne die doppelte Abspeicherung von $K_E$ und $K_V$ auskommt !



next up previous
Next: 5.5 Unvollständige Zerlegungen Up: 5.4.4 Das parallele Verfahren Previous: 5.4.4.2 Variante 2 : Gauß-Seidel-Jacobi
Gundolf Haase
1998-12-22