Kapitel 5b

Werbung
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
Herunterladen