Dr. S.-J. Kimmerle Institut für Mathematik und Rechneranwendung Fakultät für Luft- und Raumfahrttechnik Wintertrimester 5 Aufgabe 8 (Speichertechniken) Finite Elemente Übung 5 a) Stellen Sie die Matrix aus Bsp. 3.. der Vorlesung als spaltenweise Kompaktliste (CSC) dar. b) Rekonstruieren Sie die ursprüngliche Matrix, die nach MSR abgespeichert wurde, aus den zwei Vektoren a = ( 4 4 4 4 4 NaN ), i = ( 3 5 7 8 8 6 4 3 6 3 ). Interpretieren Sie die erhaltene Matrix! a) Mithilfe CSC wird die Matrix folgendermaßen abgespeichert a 3 6 4 7 5 89 9 4 Einträge i 3 3 4 3 4 3 5 6 Zeilen k 4 5 7 3 Index in a Bemerkung: Der Speicheraufwand von CSC ist 33 wie bei CSR. b) Wir schreiben die Vektoren zuerst als Tabelle und markieren dabei die ersten Einträge in jeder Zeile a 4 4 4 4 4 Einträge i 8 4 5 5 4 3 6 3 Index in a/spalten Man rekonstruiert 4 4 4 4 4 Diese Matrix läßt sich z.b. als Steifigkeitsmatrix für das Modellbeispiel aus der Vorlesung zu einer Friedrichs-Keller-Triangulierung für 6 Knoten interpretieren. Man hat eine Dirichlet-Randbedingung in Knoten 5 berücksichtigt..
Aufgabe 9 (Numerische Integration einer Elementsteifigkeitsmatrix) Wir betrachten eine Dreieckszelle T = {x R x h, x h x } einer Triangulierung T h eines Gebietes Ω. Es sei die PDG (( + sin(πx) ) ) u + ˆγu = f Ω mit geeigneten Randbedingungen gegeben und T Ω =. Hierbei ist ˆγ eine gegebene reelle Zahl, und f L (Ω). Man berechne mit der Quadraturformel. Ordnung auf dem Referenzelement P ( ˆT ) die Komponente (A T ), der Elementsteifigkeitsmatrix bzgl. T. Lösen Sie das Integral numerisch z.b. mit Maple oder Matlab und, falls möglich, analytisch. Vergleichen Sie! ( Wir stellen fest, dass A = definit ist. + sin(πx) ) symmetrisch und wegen sin(πx) / auch positiv Die Formel für die gesuchte Komponente von A T lautet (det B und B B eliminieren sich) ( (A T ), = + sin(πx) ) (, )(, ) + γ( ˆx ˆx ) dˆx. Nach der Quadraturformel. Ordnung gilt ˆT (A T ), 3 3 ( + sin(πξ m, )) + γ( ξ m, ξ m, ) m= und mit den Stützstellen ξ = (/, ), ξ = (, /) und ξ 3 = (/, /) folgt = 6 + 6 ( + + γ( /) ) ( + + γ( /) ) + ( + + γ ) 6 = 4 3 + γ. Maple liefert (man kann dies auch analytisch zu Fuß nachrechnen) (A T ), π + + γ, wegen π.38 ist 4/3 eine gute Approximation des ersten Summanden, der zweite Summand, ein quadratisches Polynom, wird durch die Quadraturformel. Ordnung (wie zu erwarten) exakt approximiert.
Aufgabe (Gauß-Seidel-/Jacobi-Verfahren) Man betrachte das Gauß-Seidel-Verfahren und das Jacobi-Verfahren zur Lösung des LGS Ax = b für folgende Steifigkeitsmatrizen A und Lastvektoren b (mit Startvektor x () = b): a) A =, b =, b) A =, b = 3. Berechnen Sie einige Schritte. Konvergieren die Verfahren? a) Gauß-Seidel-Verfahren:, N = Mithilfe einer Gauß-Elimination erhält man M = und T = M N = 3. Für den gegebenen Startwert gilt also ist x () = b ein Fixpunkt und Lösung. x () = T x =, Es gilt T = 5 und ρ(t ) =. Wegen ρ(t ) > hat man keine Konvergenz für alle Startwerte. Auch das Sassenfeld-Kriterium ist nicht erfüllt. Jacobi-Verfahren:, N = Es folgt T = M N = N. 3
Für den gegebenen Startwert gilt also ist x () = b ein Fixpunkt und Lösung. x () = T x =, Es gilt T = 4, aber ρ(t ) =. Wegen ρ(t ) < hat man Konvergenz für alle Startwerte. Die Matrix allerdings nicht strikt diagonaldominant. b) Gauß-Seidel-Verfahren: M = / / / x () = T x () + M b = (3, 3, )., N =, T = M N = / / / / / / / x () = T x () + M b = ( 3/, 3/, ) + (3, 3, ) = (3/, 3/, ). x (3) = T x () + M b = ( 3/4, 3/4, ) + (3, 3, ) = (9/4, 9/4, ). x (4) = T x (3) + M b = ( 9/8, 9/8, ) + (3, 3, ) = (5/8, 5/8, ). Vermutung: (,, ) ist die Lösung, was man durch direktes Einsetzen überprüfen kann. Satz 3.5.4 liefert wegen T = keine Aussage. Wegen ρ(t ) = / hat man Konvergenz für alle Startwerte (Satz 3.5.5). Sassenfeld-Kriterium: Diagonalelemente von A sind alle ungleich, β = ( / + / ) =. Das Sassenfeld-Kriterium ist nicht erfüllt. Jacobi-Verfahren:, N = / / / / T = M N = N x () = T x () + M b = (, 3, 3/) + (3,, ) = (3, 3, 3/). x () = T x () + M b = ( 9/4, 9/, ) + (3,, ) = (3/4, 9/, ). 4
x (3) = T x () + M b = ( 9/4, 3/4, 5/8) + (3,, ) = (3/4, 3/4, 5/8). x (4) = T x (3) + M b = (4/3, 9/8, ) + (3,, ) = (3/3, 9/8, ). Vermutlich divergent. T =, Satz 3.5.4 liefert keine Aussage. Satz 3.5.5 liefert wegen ρ(t ) = keine Konvergenz für alle Startwerte. A ist auch nicht diagonaldominant, also liefert Satz 3.5.7 keine Aussage. Aufgabe (CG-Verfahren) Betrachten Sie die Matrix und den Vektor A = 6 8 b = Wir wollen das LGS Ax = b mit dem konjugierten Gradientenverfahren (ohne Vorkonditionierung) lösen. Betrachten Sie den Startvektor x = (,, ) und berechnen Sie Iterationen.. Der Gradient lautet g = Ax b. Man hat g () = (8,, ) und d () = g (). Nach Aufgabe nehmen wir hier an, dass ε = die gegebene Fehlertoleranz im Algorithmus ist ( g () = 8 > ε) und wir iterieren ansonsten bis zum Index k = ( Iterationen) einschließlich:. Iteration α = 8 8 6 8 = 6, x () = x () + α d () = (,, ) + 6 ( 8,, ) = ( /3,, ), g () = g () + α Ad () = (8,, ) + 6 ( 48, 8, 6) = (, 4/3, 8/3), β = 4 /3 + 8 /3 8 = 8 9 64 = 5 36, d () = g () + β d () = (, 4/3, 8/3) + 5 36 ( 8,, ) = ( /9, 4/3, 8/3) Wir erhöhen den Index k um auf k =. 5
Da g () > ist, iterieren wir weiter:. Iteration α = 8/9 /7 = 6 5, x () = x () + α d () = ( /3,, ) + 6 5 ( /9, 4/3, 8/3) = ( 3/5, 8/5, 6/5), g () = g () + α Ad () = (, 4/3, 8/3) + 6 5 ( /3, 4/3, 6/3) = ( 8/5, 3/5 4/3, 3/5), β = 576 65, d () = g () + β d () = ( 8/5, 368/65, 736/65) Wir erhöhen den Index k um auf k =. Da g () > iterieren wir weiter:. Iteration α = 5 4, x (3) = x () + α d () = ( 3/5, 8/5, 6/5) + 5 4 ( 8/5, 368/65, 736/65) = ( 7, 4, 8),.... Da wir nach Satz 3.5. wissen, dass wir nach N = 3 Iterationsschritten theoretisch fertig sind, reicht es hier zu überprüfen, dass x (3) in der Tat die Lösung ist. Besprechung der Aufgaben in der Übung am 6..5. 6