Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB) Prof. R. Leithner, Dipl. Phys. E. Zander Wintersemester 2010/2011
Kapitel 8 Partielle Differentialgleichungen/Randwertprobleme Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/2
Einführung und Beispiele Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/3
Einführung und Beispiele Randwertprobleme: Differentialgleichungen für eine Lösungsfunktion u auf einem Intervall (a, b), für die der Wert an den Grenzen a und b vorgegeben sind Mehrdimensionaler Fall: Differentialgleichung ist auf einer offenen Teilmenge Ω R d gegeben, enthält partielle Ableitungen der Lösungsfunktion bezüglich der Raumkoordinaten u u(x 0 + he i ) u(x 0 ) (x 0 ) = lim x i h 0 h Werte von u auf dem Rand Ω sind vorgegeben Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/4
Poisson-Gleichung Die Poisson-Gleichung in einer Dimension u (x) = f(x), x (a, b) In mehreren Dimensionen u(x) = f(x), x Ω Hierbei ist der Laplace-Operator: d 2 u u = x 2 i i=1 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/5
Die Wärmeleitungsgleichung Die Wärmeleitungsgleichung u(x, t) µ 2 u(x, t) t x 2 = f(x, t) für x (a, b) und t > 0 In mehreren Dimensionen u(x, t) µ u(x, t) = f(x, t) t für x Ω R d und t > 0 t Zeit, µ thermische Leitfähigkeit Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/6
Wellengleichung Die Wellengleichung 2 u(x, t) t 2 c 2 2 u(x, t) x 2 = 0 für x (a, b) und t > 0 In mehreren Dimensionen 2 u(x, t) t 2 c 2 u(x, t) = 0 für x Ω R d und t > 0 c Ausbreitungsgeschwindigkeit der Wellen Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/7
Beispiel: Thermodynamik Berechnung der Temperaturverteilung in einem Quadrat Ω Seitenlänge L Sei J(x) die Energieübertragung pro Zeiteinheit. Es gilt (Taylor) J(x) J(x + le i ) = J (x) x i Gesetz von Fourier: J ist proportional zur räumlichen Veränderung der Temperatur T. Daher: J(x) J(x + le i ) = ( kl T ) = kl 2 2 T x i x i x 2 i Summe der Energieschwankungen muss Null sein (im Gleichgewicht) d 2 T T (x) = x 2 (x) = 0 i i=1 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/8
Beispiel: Hydrogeologie Studium von Filtrierungsprozessen in Grundwasser Zweidimensionales Gebiet Ω, besteht aus einem porösen Medium mit konstanter hydraulische Leitfähigkeit K Darcy-Gesetz: mittlere Filtrierungsgeschwindigkeit des Wassers q = (q 1, q 2, q 2 ) ist proportional der Veränderung der Wasserhöhe φ ( φ q = Kgrad(φ) = K, φ, φ ) T x 1 x 2 x 3 Massenerhaltung und konstante Dichte des Fluids führen auf 3 q i div(q) = = 0 x i=1 i Aus beiden Gleichungen zusammen folgt div(grad(φ)) = φ = 0 d.h. φ erfüllt das Poisson-Problem Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/9
Randbedingungen Poisson-Gleichung lässt unendlich viele Lösungen zu Für eine eindeutige Lösung müssen geeignet Bedingungen am Rand Ω gestellt werden Dirichlet-Randbedingungen schreiben den Wert von u auf Ω vor u(x) = g(x) für x Ω Neumann-Randbedingungen schreiben den Wert der Ableitung von u in Normalenrichtung am Rand vor u (x) = n grad(u) = h(x) n Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/10
Lösbarkeit von Randwertproblemen Eindeutige Lösbarkeit des Dirichlet-Randwertproblems kann gezeigt werden, wenn 1 die Funktionen f und g stetige sind und 2 das Gebiet Ω hinreichend regulär ist Die Lösung des Neumann-Problems ist unter den gleichen Bedingungen eindeutig, bis auf eine additive Konstante Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/11
Das Dirichlet-Randwertproblem Betrachte eindimensionalen Fall des Dirichlet-Randwertproblems Gegeben: zwei Konstanten α und β und eine Funktion f(x) Finde eine Funktion u(x), so dass u (x) = f(x) für x (a, b) u(a) = α u(b) = β Man kann durch zweifache Integration leicht zeigen: wenn f C 0 ([a, b]) (d.h. f ist stetig), dann existiert eine eindeutige Lösung u C 2 ([a, b]) (d.h. u ist zweimal stetig differenzierbar) Bemerkung: Das Randwertproblem kann nicht in die Form eines Cauchy-Problems gebracht werden, da u an verschiedenen Punkten vorgegeben ist. Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/12
Finite Differenzen Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/13
Finite Differenzen Unterteile das Intervall [a, b] in N + 1 Teilintervalle I j = [x j, x j+1 ] mit j = 0,..., N Alle Intervall haben die gleiche Breite h (der Einfachheit halber) Die Differentialgleichung muss in jedem Punkt erfüllt sein, d.h. für alle j = 1,..., N u (x j ) = f(x j ) An den Rändern gilt u(x 0 ) = α bzw. u(x N+1 ) = β Ersetze in Gl. (*) die zweite Ableitung durch eine finite Differenzenapproximation δ 2 u(x + h) 2u(x) + u(x h) u(x) = h 2 (*) Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/14
Finite Differenzen Für alle Knoten x j mit j = 1,..., N gilt dann u j+1 2u j + u j 1 h 2 = f(x j ) und an den Rändern gilt u 0 = α bzw. u N+1 = β Fasst man die Koeffizienten in der Matrix A zusammen, die Werte an den Knoten im Lösungsvektor u = (u 1,..., u N ) T und die rechte Seite als f erhält man Au = h 2 f Bei dem ersten und letzten Eintrag der rechten Seite müssen um die Randwerte α und β korrigiert werden f = (f(x 1 ) + α/h 2, f(x 2 ),..., f(x N 1 ), f(x N ) + β/h 2 ) T Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/15
Finite Differenzen Die Matrix A hat folgende Form 2 1 0 0 1 2 1. A =. 0 1..... 0.... 2 1 0 0 1 2 A ist symmetrisch und positiv definit A ist tridiagonal kann effizient mit dem Thomas-Algorithmus gelöst werden Schlecht konditioniert: Konditionszahl K(A) = λ max /λ min = Ch 2 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/16
Fehler der finiten Differenzen Fehler des Verfahrens (wenn f zweimal stetig differenzierbar) max u(x j) u j h2 j=0,...,n+1 96 max f (x) x [a,b] Folgerung: das Verfahren konvergiert mit Ordnung 2 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/17
Finite Elemente Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/18
Finite Elemente Alternatives Verfahren zu finiten Differenzen Betrachte das Ausgangsproblem u (x) = f(x) Multipliziere beide Seiten mit einer beliebigen Funktion v und integriere b a u (x)v(x)dx = b a f(x)v(x)dx Durch partielle Integration erhalten wir b a u (x)v (x)dx [u (x)v(x)] b a = b a f(x)v(x)dx Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/19
Finite Elemente Annahme v wird Null an den Rändern a und b (Dies läßt sich auch streng begründen, soll hier aber nicht gemacht werden) b a u (x) v(x)dx = b a f(x)v(x)dx (*) Gleichung (*) ist definiert für alle Funktionen u, v C 1 Einschränkung jetzt auf eine endliche Teilmenge: stückweise lineare Polynome Prof. R. Leithner, Quelle: E. Zander A. Quarteroni, Einführung F. Saleri in numerische Methoden für Ingenieure 8/20
Finite Elemente Raum der Stückweise linearen Polynome V h Mit Einschränkung, dass die Funktionen an den Intervallgrenzen verschwinden V 0 h Das Finite-Elemente-Approximations-Problem ist dann folgendermassen definiert: Definition (Finite Elemente Approximation) Finde u h V h, so dass u h (a) = α und u h (b) = β und b b u h (x)v h (x)dx = f(x)v(x)dx a für alle v h V 0 h a Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/21
Finite Elemente Basisfunktionen Funktionen in Vh 0 sind stückweise lineare Polynome Basisfunktionen φ k in der Abbildung dargestellt Jede Funktion v h in Vh 0 lässt sich darstellen als N v h (x) = v j φ j (x) mit v j = v h (x j ) j=1 Quelle: A. Quarteroni, F. Saleri Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/22
Finite Elemente Basisfunktionen Darstellung der Basisfunktion φ j (x): x x j 1 x j x j 1 fallsx [x j 1, x j ], x x φ j (x) = j+1 x j x j+1 fallsx [x j, x j+1 ], 0 sonst Die φ j heißen auch Formfunktionen oder Hutfunktionen Es gilt φ j (x k ) = δ jk Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/23
Finite Elemente Es ist ausreichend wenn die Gleichung b b u h (x)v h (x)dx = f(x)v(x)dx a nur für alle Basisfunktionen φ j erfüllt ist Sie ist dann automatisch auch für alle v h V 0 h erfüllt Einsetzen des Ansatzes u h (x) = αφ 0 (x) + a N u j φ j (x) + βφ N+1 (x) j=1 führt dann auf N lineare Gleichungen in den u j, d.h. ein lineares Gleichungssystem der Form Au = f Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/24
Finite Elemente In dem linearen Gleichungssystem Au = f ist die Matrix A gegeben durch (A) ij = b a φ i(x)φ j(x)dx und die rechte Seite f durch (f) i = b a f(x)φ i (x)dx Integrationen brauchen nicht über das ganze Intervall [a, b] zu laufen, sondern nur über das kleine Teilintervall, wo φ i bzw. φ j nicht Null ist Die Integration wird im Allgemeinen numerisch ausgeführt mit Methoden, wie sie in Kapitel 4 vorgestellt wurden (bevorzugt Gauss-Integration) Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/25
Finite Elemente Wenn alle Intervalle die gleiche Länge h haben ist A die gleiche Matrix wie bei den finiten Differenzen Die rechte Seite unterscheidet sich dagegen: während bei finiten Differenzen der Vektor f die Werte von f an genau an einem Punkt enthält, sind es bei finiten Elementen gemittelte Werte Finite Elemente können auch stückweise Polynome höheren Grades verwenden, was die Genauigkeitsordnung des Verfahrens entsprechend erhöht Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/26
Finite Differenzen in zwei Dimensionen Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/27
Finite Differenzen in zwei Dimensionen Betrachte partielle Differentialgleichung in einem zweidimensionalen Gebiet Ω Idee: approximiere partielle Ableitungen durch Differenzenquotienten auf einem Gitter Lösung u wird nur in den Knoten des Gitters approximiert Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/28
Diskretisierungsgitter Problem: Konstruktion eines geeigneten Diskretisierungsgitters Annahme: Ω ist ein Rechteck (a, b) (c, d) Unterteile (a, b) in Intervalle (x k, x k+1 ) gleicher Länge h x = (b a)/(n x + 1) mit k = 0,..., N x Unterteile (c, d) in Intervalle (y k, y k+1 ) gleicher Länge h y = (d c)/(n y + 1) mit k = 0,..., N y Knotenwerte u i,j an Gitterpunkten u(x i, y j ) gesucht Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/29
Diskretisierungsgitter Quelle: A. Quarteroni, F. Saleri Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/30
Differenzenquotienten Approximation der partiellen Ableitung durch Differenzenquotienten (wie in Kapitel 4) In x-richtung δ 2 xu i,j = u i 1,j 2u i,j + u i+1,j h 2 x In y-richtung δ 2 yu i,j = u i,j 1 2u i,j + u i,j+1 h 2 y Genauigkeitsordnung ist 2 bezüglich h x bzw. h y Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/31
Diskretisierung der Differentialgleichung In der partiellen Differentialgleichung ( 2 ) u x 2 + 2 u y 2 = f(x, y) werden die partiellen Ableitungen jetzt durch die Differenzenquotienten ersetzt ( δ 2 xu i,j + δ 2 yu i,j ) = fi,j Falls das Gitter in beide Richtungen gleichmäßig ist, d.h. h x = h y = h, erhalten wir 1 h 2 (u i 1,j + u i,j 1 4u i,j + u i+1,j + u i,j+1 ) = f i,j Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/32
Diskretisierung der Differentialgleichung Quelle: A. Quarteroni, F. Saleri Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/33
Diskretisierung der Differentialgleichung Für jeden Knoten u i,j benötigt die diskretisierte Gleichung 5 Knotenwerte Name des Verfahrens auch 5-Punkt-Verfahren für den Laplace-Operator Zu den Randknoten gehörige Unbekannte werden mit u i,j = g i,j eliminert. Für die Randknoten ist i = 0 oder i = N x oder j = 0 oder j = N y. Das Verfahren hat daher nur N = N x N Y Unbekannte. Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/34
Diskretisierung der Differentialgleichung Bringe die Knoten in lexikographische Ordnung, d.h. nummeriere von links nach rechst, dann von oben nach unten Beispiel für N x = 5, N y = 3: (1, 1), (2, 1),..., (5, 1), (1, 2),..., (5, 2), (1, 3),..., (5, 3) }{{}}{{}}{{}}{{}}{{}}{{}}{{} 1 2 5 6 10 11 15 Die Matrix A nimmt jetzt block-tridiagonale Form an T D 0 0 D T.... A =. 0..... D 0. D T D 0 0 D T Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/35
Diskretisierung der Differentialgleichung Die Einträge D und T sind selbst wieder Matrizen (daher block-tridiagonal) D ist eine Diagonalmatrix mit Einträgen 1/h 2 auf der Diagonalen T ist folgende tridiagonale Matrix 2 1 0 0. T = 1 1 2... h 2. 0..... 1 0. 1 2 1 0 0 1 2 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/36
Diskretisierung der Differentialgleichung Quelle: A. Quarteroni, F. Saleri Muster der zum 5-Punkte-Verfahren gehörigen Matrix mit lexikographischer Ordnung der Unbekannten Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/37
Diskretisierung der Differentialgleichung Die Matrix A ist symmetrisch und positiv definit A ist daher auch nicht-singulär und das System besitzt eine eindeutige Lösung A ist eine dünnbesetzte Matrix: die Anzahl der Elemente ungleich Null ist sehr viel kleiner als die gesamte Anzahl der Elemente der Matrix Alle Elemente ungleich Null liegen auf nur fünf Diagonalen Erzeugung dünnbesetzter Matrizen in Matlab mit dem Befehl sparse System kann mit direkten als auch mit iterativen Verfahren gelöst werden. Aber: die Matrix ist schlecht konditioniert für kleine h (Konditionszahl O(h 2)) Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/38
Beispiel Beispiel: Lösen des Poisson-Problems mit rechter Seite f(x, y) = 8π 2 Dirichlet-Randbedingungen: g(0, y) = g(1, y) = 0 g(x, 0) = g(x, 1) = sin(2πx) Numerische Lösung mit dem 5-Punkte-Verfahren mit h = 1/10 und h = 1/20 Relativer Fehler in den Knoten 0.029 bzw. 0.0081 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/39
Beispiel Quelle: A. Quarteroni, F. Saleri Lösung der Poisson-Gleichung mit finiten Differenzen und h = 1/10 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/40
Beispiel Quelle: A. Quarteroni, F. Saleri Lösung der Poisson-Gleichung mit finiten Differenzen und h = 1/20 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/41
Konvergenz Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/42
Konsistenz und Konvergenz Wie groß ist der Approximationsfehler? Geht dieser gegen Null, wenn h 0? Falls ja, d.h. max u(x i, y i ) u i,j 0 wenn h 0 i,j ist das Verfahren konvergent. Notwendige Bedingung für die Konvergenz eines Verfahrens ist die Konsistenz. Konsistenz: der lokale Abschneidefehler geht gegen Null für h 0 Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/43
Konsistenz und Konvergenz Lokaler Abschneidefehler: der Fehler, der entsteht, wenn die exakte Lösung in das numerische Verfahren eingesetzt wird Lokaler Abschneidefehler τ h im Knoten (x i, y j ) für das 5-Punkte-Verfahren: τ h (x i, y i ) = f(x i, y j ) (u(x i 1, y j ) + u(x i, y j 1 ) 4u(x i, y j ) + u(x i, y j+1 ) + u(x i+1, y j ))/h 2 Es lässt sich schließen (Hinweis: Taylor-Entwicklung in zwei Variablen), dass lim τ h(x i, y j ) = 0 h 0 D.h. das Verfahren ist konsistent. Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/44
Konsistenz und Konvergenz Ferner kann man zeigen, dass das Verfahren auch konvergent ist. Es gilt folgender Satz: Satz (Konvergenz des 5-Punkte-Verfahrens) Sei die exakte Lösung u C 4 ( Ω), das heißt, all ihre Ableitungen bis zur vierten Ordnung sind auf dem abgeschlossenen Gebiet Ω stetig. Dann existiert eine Konstante C > 0, so dass max u(x i, y j ) u i,j CMh 2, i,j wobei M der maximale Absolutbetrag der vierten Ableitung von u in Ω ist. Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/45
Zusammenfassung Randwertprobleme sind Differentialgleichungen auf einem Gebiet Ω R d (einem Intervall, falls d = 1), die Informationen über die Lösung auf dem Rand von Ω benötigen; Die Approximation mit finiten Differenzen basiert auf der Diskretisierung einer gegebenen Differentialgleichung in ausgewählten Punkten (Knoten genannt), in denen die Ableitungen durch Finite-Differenzen-Formeln ersetzt werden; Das Verfahren der finiten Differenzen erzeugt einen Vektor, dessen Komponenten bezüglich der Schrittweite quadratisch gegen die exakte Lösung konvergieren; Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/46
Zusammenfassung Das Verfahren der finiten Elemente basiert auf einer geeigneten Umformulierung der ursprünglichen Differentialgleichung und auf der Annahme, dass die angenäherte Lösung ein stückweise stetiges Polynom ist; Die zu den Diskretisierungen mit finiten Differenzen und finiten Elementen gehörigen Matrizen sind dünn besetzt und schlecht konditioniert. Prof. R. Leithner, E. Zander Einführung in numerische Methoden für Ingenieure 8/47