5.4 Das Mehrgitterverfahren bei Finiten Elementen In diesem Abschnitt gehen wir von der Situation aus, dass eine reguläre Triangulierung bestehend aus Dreiecken mit Innen- und Außendurchmesser O(H) wie in Abbildung 1 noch einmal verfeinert wird. Die stetigen, stückweise linearen Elemente mit Nullrand werden mit Vh bzw. VH , H = 2h, bezeichnet. Da das Grundgebiet Ω als polygonal vorausgesetzt wird, gilt dann VH ⊂ Vh . Abb. 1 1/2 1/2 1/2 1 1/2 1/2 1/2 Abb. 3 Abb. 2 Die inneren Knotenpunkte der Triangulierung werden mit PH,i , i = 1, . . . , NH , bzw. Ph,i , i = 1, . . . , Nh , bezeichnet. In den Räumen VH und Vh legen wir die nodale Basis φH,i (PH,j ) = δij und φh,i (Ph,j ) = δij zugrunde. Wie in Abbildung 2 im eindimensionalen Fall veranschaulicht, lassen sich die Basisfunktionen des Grobgitters als Linearkombination der Feingitterbasisfunktionen schreiben X (5.22) φH,i = rij φh,j j mit 1 falls PH,i = Ph,j 1 rij = 2 falls Ph,j zu PH,i im Feingitter benachbart ist, 0 sonst R = (rij ) ∈ RN H ×Nh . Auf einer regelmäßigen Triangulierung wie in Abbildung 3 lässt sich R auch als Stern schreiben, 0 12 21 1 2 1 21 . 1 2 Für ein Element vH = P i yH,i φH,i 1 2 0 folgt dann X vH = yH,i rij φh,j , i,j daher gilt für vH = P i yh,i φh,i yh = RT yH =: P yH , womit P = RT der Prolongationsoperator des zugehörigen Differenzenverfahrens ist. Mit der Bilinearform Z a(u, v) = {Dx uDx v + Dy uDy v} dx dy Ω 70 ist die Finite Elemente Approximation uh ∈ Vh der Poisson-Gleichung definiert durch a(uh , vh ) = (f, vh ) Mit uh = P j ∀vh ∈ Vh . xh,j φh,j ist dies äquivalent zur Lösung des linearen Gleichungssystems Ah xh = bh , ah,ij = a(φh,j , φh,i ), bh,i = (f, φh,i ). Für die Matrixelemente auf dem Grobgitter folgt dann X X X rjk ah,lk ri,l , ril φh,l = rjk φh,k , aH,ij = a(φH,j , φH,i ) = a k,l l k daher AH = RAh P. Analog ist X rik φh,k ⇒ bH = Rbh . bH,i = (f, φH,i ) = f, k Auch bei der Verwendung von Finiten Elementen haben wir prinzipiell die gleichen vielfältigen Möglichkeiten zur Definition der Komponenten des Mehrgitterverfahrens wie beim Differenzenverfahren. Lassen wir uns jedoch von der Beziehung VH ⊂ Vh leiten und bilden diese durch die Komponenten des Zweigitterverfahrens nach, so ist mit dieser Beziehung alles festgelegt. Die Grobgitterkorrektur in Matrix-Vektor-Schreibweise AH yH = R(bh − Ah xk,1 h ) P erfüllt daher die Galerkin-Bedingung (5.20). Mit vH = j yH,j φH,j ist dies äquivalent zu a(uk,1 h + vH , wH ) = (f, wH ) ∀wH ∈ VH . R 5.5 Konvergenz des Zweigitterverfahrens bei Finiten Elementen Sei A ∈ n×n spd mit orthonormierten Eigenvektoren z 1 , . . . , z n . Mit A lässt sich eine Skala von Normen definieren, indem man für s ∈ setzt |x|s = (As x, x)1/2 P Offenbar gilt |x|0 = |x|. Für x = i ci z i folgt aufgrund der orthonormierten Eigenvektoren X |x|2s = λsi c2i . R i Lemma 5.9 Sei ω ≥ λmax (A). Dann gilt für das Verfahren (5.23) xk+1 = (I − die Abschätzung |xk |2 ≤ 1 A)xk ω ω −1 0 k |x |. e Bemerkung 5.10 Die Norm | · |2 wichtet die hohen Eigenvektoren stärker als die Norm | · |. Das Lemma besagt daher, dass die hohen Frequenzen durch das Verfahren reduziert werden, was wir als Glättungseigenschaft bezeichnet haben. 71 Beweis: Der Startvektor x0 lässt sich in der Form x0 = |xk |22 = X λ2i i = ω2 P i ci z i entwickeln. Dann gilt λi 2k 2 ci 1− ω X λi 2 i ω λi ω 1− 2k c2i ≤ ω 2 max ξ 2 (1 − ξ)2k |x0 |2 . 0≤ξ≤1 Zunächst bestimmen wir das Maximum der Funktion ξ(1−ξ)p auf dem Intervall [0, 1]. Das Maximum wird angenommen für ξ = 1/(p + 1). Daher 1 ξ(1 − ξ) ≤ p+1 p p p+1 p 1 = p p p+1 p+1 ≤ 11 . pe Für p = k erhalten wir daher ξ 2 (1 − ξ)2k = ξ(1 − ξ)k 2 ≤ k −2 e2 und damit die behauptete Abschätzung. Sei Ω ⊂ 2 ein Polygongebiet. Wir betrachten die Situation, dass eine reguläre Triangulierung der Maschenweite H einmal zu einer Triangulierung der Maschenweite h = H/2 verfeinert wird. Für die Räume der stetigen, stückweise linearen Funktionen gilt dann VH ⊂ Vh . Es wird die PoissonGleichung mit Hilfe der Form Z R DuDv dx a(u, v) = Ω im Raum Vh approximiert. Mit den nodalen Basisfunktionen φh,1 , . . . , φh,Nh ist dann die Steifigkeitsmatrix definiert durch Ah = (ah,ij ), ah,ij = a(φh,j , φh,i ). Lemma 5.11 Für das Eigenwertproblem in uj ∈ Vh (5.24) a(uj , v) = λj (uj , v) ∀v ∈ Vh gilt λmax ≤ c2 h−2 . λmin ≥ c1 > 0, Beweis: Mit dem Rayleigh-Quotienten R(v) = kDvk2 kvk2 gilt λmin = min R(v), Vh λmax = max R(v). Vh ch−1 kvk Aus der inversen Beziehung kDvk ≤ folgt daher λmax ≤ c2 h−2 und aus der PoincaréUngleichung kvk ≤ ckDvk folgt λmin ≥ c1 > 0. Da das Zweigitterverfahren ein lineares P Iterationsverfahren zur Lösung von Ah x = b ist, können wir b = 0 setzen und eine Iterierte u = i xi φh,i ∈ Vh betrachten. Als erstes wird ν-mal mit dem Verfahren aus Lemma 5.9 mit Matrix A = Ah relaxiert. Dabei ist zu beachten, dass das maßgebende Eigenwertproblem Ah x = λ′ x von (5.24) abweicht. In Koordinatenschreibweise ist (5.24) nämlich Ah x = λMh x, Mh = (mij ), 72 mij = (φh,j , φh,i ). Nach Satz 4.13 sind die Normen (Mh x, x)1/2 und h|x| äquivalent, es gilt daher λ′min ≥ c′1 h2 , λ′max ≤ c′2 . ′ Wir können in PLemma 5.9 daher ω = c2 wählen und erhalten nach ν-maliger Anwendung auf die Iterierte u = i xi φh,i |x1 |2 ≤ cν −1 |x| ≤ cν −1 h−1 kuk (5.25) Für u1 = (5.26) P 1 i xi φh,i wird nun die Grobgitterkorrektur durchgeführt, a(u1 + wH , vH ) = 0 ∀vH ∈ VH , u2 = u1 + w H . Wir wollen als nächstes ku2 k ≤ ch|x1 |2 (5.27) zeigen. Zusammen mit (5.25) haben wir die Konvergenz des Zweigitterverfahrens mit Faktor cν −1 bewiesen. Insbesondere kann mit genügend vielen Relaxationsschritten der Spektralradius des Zweigitterverfahrens beliebig klein gemacht werden. Für den Beweis von (5.27) muss auf eine Eigenschaft des kontinuierlichen Problems zurückgegriffen werden. Das Problem (5.28) −∆w = g in Ω, w = 0 auf ∂Ω, 2 liegt und heißt 2-regulär, wenn für alle g ∈ L2 (Ω) die Lösung im Raum H,0 kwk2,2 ≤ ckgk. Satz 5.12 Ist Ω konvex oder ist der Rand von Ω eine C 2 -Mannigfaltigkeit, so ist (5.28) 2-regulär. Beweis: Den Beweis findet man in den meisten Büchern über elliptische Differentialgleichungen, z.B. [7]. Lemma 5.13 Ist das Problem (5.28) 2-regulär, so gilt (5.27). 2,2 die Lösung von Beweis: Sei w ∈ H,0 −∆w = u1 + wH in Ω, w = 0 auf ∂Ω. Aufgrund der 2-Regularität gilt dann kwk2,2 ≤ cku1 + wH k. Mit Hilfe von (5.26) und der Interpolationsfehlerabschätzung in Korollar 4.8 folgt dann ku2 k2 = ku1 + wH k2 = a(w, u1 + wH ) = a(w − IH w, u1 + wH ) ≤ kD(w − IH w)k kD(u1 + wH )k ≤ cHkwk2,2 kD(u1 + wH )k ≤ c · 2hku1 + wH k kD(u1 + wH )k. Nach Kürzen und Quadrieren haben wir (5.29) ku2 k2 ≤ ch2 kD(u1 + wH )k2 = ch2 kDu2 k2 . Wiederum mit Hilfe von (5.26) folgt kDu2 k2 = a(u1 + wH , u1 + wH ) = a(u1 + wH , u1 ) = (x2 , Ah x1 ) ≤ |x2 | |x1 |2 ≤ ch−1 ku2 k |x1 |2 , zusammen mit (5.29) ku2 k2 ≤ ch2 kDu2 k2 ≤ chku2 k |x1 |2 . Division durch ku2 k liefert die Behauptung. Wir haben gezeigt: 73 Satz 5.14 Das Problem (5.28) sei 2-regulär. Dann gilt für die Iterierten uk des Zweigitterverfahrens, das aus ν-maliger Relaxation mit dem Verfahren (5.23) und der Grobgitterkorrektur (5.26) besteht, dass kuk+1 k ≤ cν −1 kuk k. Besitzt das Grundgebiet Ω eine einspringende Ecke, so ist das Problem (5.28) nicht 2-regulär. In diesem Fall sind die numerischen Ergebnissen für die Finite Elemente Methode schlechter als bei konvexen Gebieten. Hat man bei letzteren eine quadratische Konvergenz in L2 , so reduziert sich diese Ordnung bei einer einspringenden Ecke mit Innenwinkel α > π auf O(h2π/α ). Wie wir bei der Vorstellung der numerischen Ergebnisse sehen werden, kann beim Mehrgitterverfahren kein entsprechender Effekt beobachtet werden. Tatsächlich lässt sich der obige Satz mit Hilfe von gebrochenen Sobolev-Normen auch bei einspringenden Ecken beweisen, allerdings wird die Konstante c dann schlechter. Wesentlich an Satz 5.14 ist die Tatsache, dass man durch genügend häufiges Relaxieren die Norm des Zweigitterverfahrens beliebig klein machen kann. Mit Satz 5.4 kann man dann auf die Konvergenz des W-Zyklus schließen. 5.6 Das Full-Multigridverfahren Bisher sind wir beim Mehrgitterverfahren immer von einer Näherung u0 auf dem feinsten Gitter ausgegangen. Ist aber auf dem feinsten Gitter gar keine Näherung bekannt, so wendet man besser das Full-Multigridverfahren an, das auch als nested iteration, auf deutsch geschachtelte Iteration, bezeichnet wird. Dazu stellt man die restringierten rechten Seiten auf und arbeitet sich von unten nach oben hoch. Genauer verwenden wir den MehrgitterAlgorithmus 5.2 in folgender Form: Algorithmus 5.15 (Full-Multigridverfahren) subroutine f ullmg(m, ν1 , ν2 , γ, um , fm ) ! bei Rückgabe: um Näherungslösung von Lm um = fm Do l = m − 1, 0, −1 fl = Rl fl+1 Enddo u0 = L−1 0 f0 Do l = 1, m ul = Pl ul−1 Do i = 1, k call mg(l, ν1 , ν2 , γ, ul , fl ) Enddo Enddo Auf jedem Level wird das normale Mehrgitterverfahren k-mal aufgerufen. Dieses k bestimmt man mit folgender Überlegung. Angenommen, wir haben ein Diskretisierungsverfahren der Fehlerordnung p, also mit ku − uh k ≤ chp . Halbieren wir die Schrittweite auf jedem Level, so muss unsere Näherungslösung auf jedem Level um den Faktor 2−p genauer werden, um in der Größe des Fehlers zu bleiben. Für die Iterationsmatrix Ml des Mehrgitterverfahrens auf dem Level l muss demnach kMl kk ≤ 2−p gelten, damit Algorithmus 5.15 eine brauchbare Näherung liefert. Beispielsweise haben wir für den 5-Punkte-Stern höchstens p = 2. Wir können daher k = 1 und den V -Zyklus mit ν = 2 RBGS-Relaxationen wählen, um kMl k ≤ 14 zu erreichen. Genau diese Situation ist im obigen Bild dargestellt. Haben wir allgemeiner nur h-unabhängige Normkonvergenz, also kMl k ≤ ρ < 1, so bekommen wir mit Algorithmus 5.15 ein Verfahren, dass auf allen Leveln eine genügende Näherung in O(N ) Operationen liefert. Das Full-Multigridverfahren lässt sich auch mit einer adaptiven Verfeinerung kombinieren. Dazu benötigt man einen lokalen Fehlerschätzer, der angibt, wo der Diskretisierungsfehler groß ist. Für das Finite Elemente-Verfahren sind zahlreiche Fehlerschätzer bekannt, auch mit Beweis für ihre 74 Schätzerqualitäten. Hier wollen wir eine mehr heuristische Herleitung eines Schätzers für den 52,2 gilt auf Gebieten mit ∂Ωh ⊂ ∂Ω, das sind Punkte-Stern angeben. Für eine Lösung u ∈ H,0 Polygongebiete mit orthogonalen Seiten, die Fehlerabschätzung 2 2 (5.30) kD+ (Rh u − uh ))k2h ≤ ch2 kDxx uk2 + kDyy uk2 , wobei Rh u die Einschränkung von u auf das Gitter bezeichnet und kD+ vh k2h = ah (vh , vh ) mit ah (·, ·) aus (4.5). Wir nehmen an, dass (5.30) auch lokal gilt mit lokaler Schrittweite hl und dass sich die zweiten reinen Ableitungen von u lokal nur wenig ändern: Für einen Gitterpunkt Pij = (xi , yj ) und Ωij = (xi − hl /2, xi + hl /2) × (yi − hl /2, yi + hl /2) soll also 2 2 u(Pij )|2 + |Dyy u(Pij )|2 , (5.31) µ(Ωij )|D+hl (Rh u − uh )(Pij )|2 ∼ µ(Ωij )h2l |Dxx gelten Für ε > 0 fordern wir daher 2 2 h2l |Dxx u(Pij )|2 + |Dyy u(Pij )|2 ≤ ε2 , wobei die reinen zweiten Ableitungen von u mit den zugehörigen zweiten Differenzenquotienten von uh lokal geschätzt werden. Wenn diese ganze Heuristik zutreffend ist, so können wir über die Ωij in (5.31) summieren und erhalten in etwa kD+ (Rh u − uh )kh ≤ ε. P Haben wir für einen Gitterpunkt P das Signal zur Verfeinerung, so wird lokal ein Gitter mit Schrittweite h/2 eingezogen und damit 8 neue Nachbarpunkte von P generiert (siehe Bild links). Um den 5-Punkte-Stern auch für die neuen Punkte definieren zu können, verwenden wir die mit einem Kreuz markierten hängenden Knoten“, in denen uh durch lineare Interpolation aus den beiden ” Nachbarknoten definiert ist. In jedem Schritt wird nur einmal verfeinert und es gelten die Regeln: Ist ein Knoten aus zwei Gründen hängend, so wird er in einen normalen Knoten umgewandelt (siehe Bild rechts). Jede Kante trägt höchstens einen hängenden Knoten. Soll also in einem der neuen Punkte in Bild links weiter verfeinert werden, so muss in Umgebung dieses Punktes einmal verfeinert werden. Diese Vorgehensweise kann einfach auf den dreidimensionalen Fall und auf die strukturierten Gitter aus Abschnitt 4.2 übertragen werden. 75