Parallele L ¨osung großer Gleichungssysteme, Wintersemester 2012/13 Aufgabenblatt 2 Prof. Dr. Peter Bastian, Pavel Hron, Ole Klein Abgabe 9. November 2009 IWR, Universit¨at Heidelberg
U¨BUNG3 ADJAZENZMATRIX
SeiI eine Indexmenge undRII eine symmetrische und reflexive Relation mit maxi |tj:pi, jq PRu| ¤K
Definiere eine zugeh ¨orige MatrixEdurch
pEqij :
#
1 pi, jq PR 0 sonst
Zeige||E||2 ¤K. 5 Punkte
U¨BUNG4 OPTIMALERPARAMETER FUR DAS¨ RICHARDSON-VERFAHREN
SeiAeine symmetrische und positiv definite Matrix. Die Iterationsformel des Richardson-Verfahrens lautet
xk 1 xk ωpbAxkq.
Der minimale und maximale EigenwertλminundλmaxvonAsei bekannt.
1. Wie kann man die Eigenwerte der Iterationsmatrix beschr¨anken?
2. Bestimmen Sie den optimalen Relaxationsparameterωund den dazugeh ¨origen Spektralradius.
5 Punkte U¨BUNG5 L ¨OSERKONVERGENZ INABHANGIGKEIT VON DEN¨ ANFANGSWERTEN
In dieser Aufgabe betrachten wir die Laplace-Gleichung mit homogenen Dirichlet-Randbedingungen ∆u0 inΩ p0,1q2 R2,
u0 aufBΩ.
Diese Gleichung hat offensichtlich die L ¨osungu0. Wir nutzen dies aus, um das Konvergenzverhal- ten verschiedener L ¨oser zu visualisieren, indem wir verschiedene Startvektoren ungleich0vorgeben und beobachten, wie sie durch die iterativen L ¨oser ged¨ampft werden.
Dazu gibt es im Modul dune-parsolvedie Dateiistl.cc, in der eine Reihe L ¨oser definiert werden. Das Jacobi- und das Gauß-Seidel-Verfahren werden in der Regel nur als Vorkonditionie- rer eingesetzt und finden sich daher in ISTL in der Datei preconditioners.hh. Man kann sie trotzdem als eigenst¨andige L ¨oser verwenden, daf ¨ur gibt es einen trivialen L ¨oserLoop, der in jeder Iteration lediglich den Vorkonditionierer anwendet. Der Rest der L ¨oser ist wie erwartet in der Datei solvers.hhzu finden.
Modifizieren Sie die Dateiuebung02.ccso, dass sie analog zuistl.ccL ¨oser anlegt und nach- einander VTK-Ausgaben f ¨ur alle Kombinationen folgender Koomponenten erstellt:
• L ¨oser: Jacobi, Gauß-Seidel, Steepest Descent und CG
• Startwerte: Die Startwert-Funktionen u1px, yq 1,
u2px, yq cosp10xq sinp10yq, u3px, yq cosp100xq sinp100yq
• Iterationszahlen: 1, 10 oder 100 Iterationen
In der gegebenen Datei existiert die Matrix, die Sie f ¨ur den direkten Einsatz der ISTL-L ¨oser brau- chen, nur innerhalb der PDELab-Klassen. ¨Uberlegen Sie sich, wie Sie diese Matrix extrahieren k ¨onnen (Tip: die GridOperator-Referenz der Assembler-Klasse), oder duplizieren Sie den Code, der innerhalb von PDELab die Matrix erzeugt.
Die entstehende N¨aherungsl ¨osung ist f ¨ur die obigen Probleme jeweils gleich dem Restfehler des linearen L ¨osers, da die exakte Finite-Elemente-L ¨osung ebenfalls identisch verschwindet. Diesen Feh- ler k ¨onnen wir nun mittels ParaView visualisieren:
Falls Sie Ihr Programm so schreiben, dass es auch f ¨ur die ¨ubrigen Iterationen passende VTK- Dateien schreibt, k ¨onnen Sie sich den Verlauf der Konvergenz noch besser ansehen.
Untersuchen Sie die Konvergenzrate der einzelnen L ¨oser. Hat die Startbedingung einen Einfluss?
Welche weiteren Modifikationen der Aufgabenstellung w¨aren m ¨oglich, und was w ¨urde sich am Kon-
vergenzverhalten ¨andern? 10 Punkte