Kapitel 4 Lineare Hyperbolische Gleichungen 4.1 Lineare, skalare Advektion Die skalare Advektions- oder auch Transportgleichung lautet in einer räumlichen Dimension ∂u ∂u +a =0 (4.1) ∂t ∂x wobei die Gleichung quasilinear für a = a(u, x, t) ist und linear für a = const. Sei im Folgenden a = const. Als Anfangsbedingung gelte u(x, 0) = u0 (x) Gleichung (4.1) hat als Lösung u(x, t) = u0 (x − at) wie durch Substitution verifiziert werden kann. Die Anfangsbedingungen werden also mit der konstanten Geschwindigkeit |a| nach rechts für a > 0 und nach links für a < 0 transportiert. Einfachste Form einer Wellenlösung. Die Linien x − at = const. heißen Wellenfronten, u(x, t) ist das Signal (oder Welleninformation, a ist die Ausbreitungsgeschwindigkeit, und u0 (x) ist die Wellenform. Bem.: Damit eine eindeutige Lösung existiert, muss wiederum gelten du = ut dt + ux dx und mit Gl. (4.1) erhält man 1 a dt dx ut ux = 0 du (4.2) Nullsetzen der Determinante liefert die Charakteristische Gleichung dx =a dt und u ist damit konstant auf den Charakteristiken, den Wellenfronten. 27 (4.3) 28 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN 4.2 Einfache Explizite Lösungsverfahren Wir berechnen die numerische Lösung auf einem Gitter. Seien die Gitterzellen äquidistant mit der Größe ∆x, die Zeitschritte konstant mit ∆t, und die konstante Geschwindigkeit a > 0. unj = u(j∆x, n∆t) Beispiele für die Diskretisierung von (4.1), vgl. vorheriges Kapitel. 4.2.1 Einseitige Differenzen Zunächst zwei einseitige Verfahren erster Ordung in Raum und Zeit, daraufhin höherer Ordnung 1) Upwind Man benutzt für die Zeitableitung eine forward und die räumliche Ableitung eine backward Ableitung, auch Forward Time Backward Space (FTBS) genannt. − unj un+1 unj − unj−1 j + O(∆t) + a + O(∆x) = 0 ∆t ∆x Umformung un+1 = unj − σ(unj − unj−1 ) j (4.4) wobei ∆t > 0 ∆x die CFL-Zahl ist. (Courant-Friedrichs-Lewy) (4.5) σ=a σ spielt bei der Stabilitätsanalyse eine große Rolle. 2) Downwind Sei immer noch a > 0 un+1 − unj unj+1 − unj j +a =0 ∆t ∆x Umformung = unj − σ(unj+1 − unj ) un+1 j (4.6) Hier handelt es sich um eine Forward Time Forward Space (FTFS) genannt. 4.2.2 Zentrierte räumliche Ableitung 3) Centered Hierbei wird nur die räumliche Ableitung zentriert = unj − un+1 j σ n (uj+1 − unj−1 ) 2 (4.7) Diese Methode wird auch FTCS (Forward Time Centered Space) genannt. Wie sich später zeigen wird, sind die Downwind- als auch die FCTS-Methode numerisch instabil für alle Zeitschritte. c W. Kley; Skript: Numerische Hydrodynamik 4.2. EINFACHE EXPLIZITE LÖSUNGSVERFAHREN 29 4) Leapfrog un+1 − ujn−1 unj+1 − unj−1 j +a =0 2∆t 2∆x dies liefert un+1 = ujn−1 − σ(unj+1 − unj−1 ) j (4.8) 5) Lax-Wendroff Schema Die Herleitung des Lax-Wendroff (LW) Schemas kann durch die sog. Lax-Wendroff, bzw. Cauchy-Kowalewski Technik erfolgen. Betrachte zeitliche Taylor-Entwicklung der Funktion u u(x, t + ∆t) = u(x, t) + ∆t ∆t2 ∂ 2 u ∂u (x, t) + (x, t) + O(∆t3 ) ∂t 2 ∂t2 (4.9) Mit der ursprünglichen Dgl. gilt ∂u ∂u = −a ∂t ∂x woraus für die zweite Ableitung folgt 2 ∂2u 2∂ u =a ∂t2 ∂x2 (4.10) also eine typische Wellengleichung mit der Ausbreitungs-Geschwindigkeit a. Diese Relationen für die zeitlichen Ableitungen setzt man nun in die obige Entwicklung (4.9) ein und erhält u(x, t + ∆t) = u(x, t) − ∆t a ∂u ∆t2 2 ∂ 2 u (x, t) + a (x, t) + O(∆t3 ) ∂x 2 ∂x2 (4.11) Die Ableitungen werden durch forward Differencing in der Zeit und zentrierte räumliche Differenzen angenähert, und man erhält das Lax-Wendroff Schema. un+1 = unj − j σ n σ2 (uj+1 − unj−1 ) + (unj+1 − 2unj + unj−1 ) 2 2 +O(∆t2 ) + O(∆x2 ) (4.12) Eine andere, anschaulichere Möglichkeit der Ableitung ergibt sich durch die Unterteilung des Zeitschritts ∆t in zwei Unterschritte (siehe Abb. 4.1). Zunächst Prädikn+1/2 torschritt für ũj+1/2 , d.h. den Werten bei den halben Zeitschritten und räumlichen Zwischenwerten (Abb. 4.1) n+1/2 ũj+1/2 = Dann Korrektor-Schritt σ n 1 n uj + unj+1 − uj+1 − unj 2 2 n+1/2 n+1/2 n − σ ũ − ũ = u un+1 j j j+1/2 j−1/2 Zusammengenommen lautet das Verfahren dann wie oben (4.12). c W. Kley; Skript: Numerische Hydrodynamik (4.13) (4.14) 30 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN t t n+1 ui n+1 u~ n+1/2 i−1/2 n+1/2 tn uni−1 u~ n+1/2 i+1/2 uni uni+1 Abbildung 4.1: Die Zeitschritt-Integration durch ein Prädiktor-Korrektor Verfahren beim der Lax-Wendroff Methode 6) Beam-Warming Schema Die Ableitung des Beam-Warming (BW) Schemas (1976) erfolgt wie oben ebenso durch die Cauchy-Kowalewski Technik. Ersetzen der zeitlichen Abltg. (4.11) durch die räumlichen ergab u(x, t + ∆t) = u − a∆tux + a2 ∆t2 uxx + O(∆t3 ) 2 Hier sei wieder a > 0. Die erste räumliche Ableitung wird durch Zweite Ordnung Backward (stromaufwärts) ersetzt ux (xj , tn ) = 3unj − 4unj−1 + unj−2 + O(∆x2 ) 2∆x Die zweite Ableitung uxx wird wieder räumlich zentriert, hier aber bei xj−1 (ebenso stromaufwärts). Es ergibt sich das Beam-Warming Schema: σ σ2 (3unj − 4unj−1 + unj−2 ) + (unj − 2unj−1 + unj−2 ) + O(∆t2 ) + O(∆x2 ) 2 2 (4.15) Bei umgekehrter Strömungsrichtung, a < 0, müssen die Indizes entsprechend korrigiert werden. un+1 = unj − j 7) Lax-Friedrich Schema Zur Ableitung des Lax-Friedrich (LF) Schemas (1954) beginnt man von dem Centered Schema (4.7) σ = unj + (unj−1 − unj+1 ) un+1 j 2 was jedoch unconditionally unstable ist. Hier wird jetzt unj durch eine zentrierte Form (unj+1 + unj−1 )/2 ersetzt, und man erhält das Lax-Friedrich Schema: 1 σ = (unj+1 + unj−1 ) − (unj+1 − unj−1 ) un+1 j 2 2 (4.16) c W. Kley; Skript: Numerische Hydrodynamik 4.3. IMPLIZITE VERFAHREN 4.3 31 Implizite Verfahren Allgemein lautet ein finites Differenzen Schema für ∂u = Lu ∂t un+1 = unj + L̃unj ∆t = unj + j X ck unj+k ∆t (4.17) |k|≤K wobei K eine ganze Zahl ist, abhängig von der Ordnung der räumlichen Ableitung. Die Konstanten ck sind unabhängig von u und j L ist ein linearer Operator (NOTE: i.A. in Hydrodyn. nicht linearer Operator) Ein Differenzenverfahren kann jetzt allgemein geschrieben werden als. un+1 = un + L̃un (1 − β)∆t + β L̃un+1 ∆t (4.18) β ist Parameter 0 ≤ β ≤ 1, der den Grad der Implizität angibt. β = 0: Explizit: un+1 als Funktion von un gegeben β = 1: voll Implizit: (rechte Seite auch von un+1 abhängig) β = 1/2: Zweite Ordnung in Zeit (zentriert), halb-implizit Implizite Verfahren, also sobald β > 0 ist, führen zur Kopplung der uj , .d.h. zu Matrixgleichungen. Sei u der Vektor der {uj }, dann gilt un+1 = Aun Im eindimensionalen Fall ist die Matrix A tridiagonal. Bem: • Explizite Verfahren nur eingeschränkt (für ∆t < ∆tmax ) stabil • Implizite Verfahren können größere Zeitschritte benutzen, Beschränkung durch Physik (z.B. dynamische Zeitskalen) • Aber: Rechenaufwand bei impliziten Verfahren (vor allem in Mehr-dim. Problemen) sehr viel höher (Matrixgleichungen) – Bei nicht-linearen Problemen −→ Linearisierung. −→ Meistens werden explizite Methoden verwendet, vor allem in mehrdimensionalen Problemen. Bsple.: Implizit 8) Rückwärts-zentriert Dies Verfahren ist analog der Centered Methode (FTCS), wobei jetzt allerdings die räumliche Ableitung am neuen Zeitschritt genommen wird, und dadurch das Verfahren implizit wird. σ n+1 (4.19) = unj − (un+1 un+1 j+1 − uj−1 ) j 2 Diese Methode wird auch BTCS (Backward Time Centered Space) genannt. Im Gegensatz zu FTCS ist dies nun nicht mehr explizit, sondern voll-implizit mit β = 1. Es muss also eine Matrixgleichung (tridiagonal) zu jedem Zeitschritt gelöst werden. c W. Kley; Skript: Numerische Hydrodynamik 32 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN 9) Crank-Nicolson Man beginnt wiederum mit dem instabilen FTCS-Schema (4.7): un+1 = unj − j σ n (uj+1 − unj−1 ) 2 und zentriert die räumliche Ableitung auf der rechten Seite in der Zeit un+1 = unj − j σ n n+1 (u − unj−1 + un+1 j+1 − uj−1 ) 4 j+1 (4.20) Also ist das Crank-Nicolson Verfahren ein implizites Verfahren mit β = 0.5. Zusätzlich betrachten wir die eindimensionale Diffusionsgleichung (z.B. Wärmeleitung oder Vislosität), weil in der Literatur das Crank-Nicolson Verfahren meist in diesem Zusammenhang präsentiert wird. qt = qxx (4.21) Hier bezeichnet q z.B. die Temperatur im Fall der Wärmeleitung. Explizit lautet eine mögliche Diskretisierung: qin+1 = qin + ∆t n n (q − 2qin + qi+1 ) ∆x2 i−1 (4.22) implizit (β = 1/2): qin+1 = qin + 1 ∆t n n+1 n n+1 ) − 2qin+1 + qi+1 (qi−1 − 2qin + qi+1 ) + (qi−1 2 2 ∆x (4.23) Beim Crank-Nicolson Verfahren ergibt sich erneut eine Tridiagonalmatrix, sowohl für die linaere Advektion als auch im Fall der Wärmeleitungsgleichung. 4.4 Konsistenz, Stabilität, Konvergenz Bisher wurden einige Verfahren für die lineare Advektionsgleichung (4.1) beschrieben. Es ist wichtig zu wissen, wie sich die numerisch berechneten Lösungen zu der wahren verhalten. Gleichzeitig ist es wichtig zu wissen, inwieweit ein Verfahren gegen die wahre Lösung für kleine ∆x und ∆t konvergiert. 4.4.1 Konsistenz Gute numerische Verfahren werden ideal für ∆t, ∆x → 0, d.h. die diskreten Gleichungen gehen in die Differentialgl. über. Wir betrachten jetzt eine diskrete finite Differenzengleichung der Form un+1 = Lun (4.24) wobei un = unj für die Menge der diskreten Werte von u steht. c W. Kley; Skript: Numerische Hydrodynamik 4.4. KONSISTENZ, STABILITÄT, KONVERGENZ 33 Name Differenzengleichungen Stencil Upwind un+1 = unj − σ(unj − unj−1 ) j Downwind un+1 = unj − σ(unj+1 − unj ) j Centered un+1 = unj − 21 σ(unj+1 − unj−1 ) j Lax-Friedrichs un+1 = 12 (unj−1 + unj+1 ) − 21 σ(unj+1 − unj−1 ) j Leapfrog un+1 = ujn−1 + σ(unj−1 − unj+1 ) j Lax-Wendroff un+1 = unj − 12 σ(unj+1 − unj−1 ) j + 12 σ 2 (unj+1 − 2unj + unj−1 ) Beam-Warming un+1 = unj − 12 σ(3unj − 4unj−1 + unj−2 ) j + 12 σ 2 (unj − 2unj−1 + unj−2 ) Crank-Nicolson n+1 un+1 = unj − 41 σ(unj+1 − unj−1 + un+1 j+1 − uj−1 ) j Tabelle 4.1: Übersicht über die grundlegenden Differenzenmethoden für die einfache, lineare Advektionsgleichung mit a > 0. Das Downwind- und FCTS Verfahren sind numerisch nicht stabil. Das Crank-Nicolson Verfahren als implizite Methode ist für alle Zeitschritte stabil. Sei jetzt der lokale Diskretisierungsfehler (Local-Truncation Error, oder kurz LTE) definiert durch 1 Le = un+1 − Lune (4.25) e ∆t Hierbei bezeichnet ue = ue (x, t) die exakte Lösung der Dgl. am Ort x z.Zt. t, also un+1 = ue (x, tn+1 ). Das heißt, Le ergibt die Abweichung der numerischen Lösungen von e der exakten Lösung in einen Zeitschritt tn zum nächsten tn+1 . Er ist also ein Maß für den Fehler, der in einem Zeitschritt erzeugt wird. Definition: Einem Methode heißt konsistent, falls ||Le (x, t)|| → 0 Bemerkung zu Normen: L1 Norm ||u||1 = L2 Norm ||u||2 = c W. Kley; Skript: Numerische Hydrodynamik Z für Z ∆t, ∆x → 0 ∞ −∞ |u(x)|dx ∞ 2 −∞ |u(x)| dx 1/2 34 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN Supremums-Norm ||u||∞ = sup|u(x)| Für nichtlineare Gleichungen ist z.B. ||u||1 besser als ||u||2 , welche sich gut bei Fourieranalysen (von linearen Gl.) eignet. Beispiel: Upwind angewandt auf die Advektionsgleichung (siehe Gl. 4.4) Der Diskretisierungsfehler lautet hier 1 n+1 n LUe pw = ue,j − ue,j − σ(une,j − une,j−1) ∆t = (4.26) 1 {u (xj , t + ∆t) − [ue (xj , tn ) + σ (ue (xj − ∆x, tn ) − ue (xj , tn ))]} ∆t e ∂ue 1 ∂ue 2 2 ∆t + O(∆t ) + σ ∆x + O(∆x ) = ∆t ∂t ∂x ∂u ∂u = e + a e + O(∆x) + O(∆t) ∂t ∂x Das heißt: LUe pw = O(∆t) + O(∆x) Bemerkung: −→ 0 für (4.27) ∆t, ∆x → 0 • Konsistenz heißt nicht Konvergenz. Konsistenz bezieht sich auf die diskrete Approximation, Konvergenz auf die Lösung. • Wenn diskrete und exakte Gleichungen identisch werden im Limes ∆t → 0 und ∆x → 0, heißt das noch nicht, dass die Lösungen auch gleich sein müssen. Infinitesimale Abweichungen können sich (z.B. bei Instabilität) zu sehr großen aufschaukeln. • Konsistenz ist i.a. gewährleistet, wenn die Differenzengleichungen aus einer TaylorreihenApproximation gewonnen wurden. 4.4.2 Konvergenz Definition: Für Le = O X p,q≥0,p+q=l ist ∆tp ∆xq ! (4.28) • die Ordnung des LTE = O(l + 1) • der Globale Fehler des numerischen Verfahrens: Ordnung l Bspl: Upwind: l = 1, Le = O(∆t) + O(∆t) (Übung: LTE beim Lax-Wendroff Verfahren) Definition: Ein numerisches Schema heißt konvergent, falls unj gegen ue (xj , tn ) konvergiert für ∆t, ∆x → 0, also lim ||ue (xj , tn ) − unj || −→ 0 ∆t,∆x→0 c W. Kley; Skript: Numerische Hydrodynamik 4.4. KONSISTENZ, STABILITÄT, KONVERGENZ 4.4.3 35 Stabilität Betrachte zwei (benachbarte) diskrete Lösungen z.Zt. tn , die exakte Lösung ue (xj , tn ) und die numerisch berechnete unj . Wie laufen die beiden Lösungen auseinander in einem Zeitschritt? ||un+1 − un+1 || = e ≤ ≤ ≤ ||un+1 − Lune + Lune − un+1 || e ||un+1 − Lune || + ||Lune − Lun || e ||Le ∆t|| + ||L(une − un )|| ||Le ∆t|| + ||Ln || (4.29) Hierbei wurde der Index j unterdrückt. Der erste Term auf der rechten Seite ist der (bekannte) lokale Diskretisierungsfehler, der die Konsistenz angibt. Der zweite Term misst, inwieweit sich zwei diskrete Lösungen pro Zeitschritt voneinander entfernen. Eine Methode ist stabil, wenn ||L(une − un )|| beschränkt werden kann durch ||(une − un )|| multipliziert mit einer Konstanten, die unabhängig von un und une ist. Für lineare Gleichungen impliziert Stabilität die Beschränktheit (und umgekehrt). Wir kommen zur Definition: Eine numerische Differenzenmethode heißt stabil, falls ||L(une − un )|| ≤ K||une − un || (4.30) wobei K eine Konstante unabhängig von u ist. Für den Fehler nj ≡ une,j − unj muss also gelten lim ||nj || < K 0 n→∞ für feste ∆t Falls wir den Lösungsvektor zur Zeit tn schreiben als ũn = (un1 , ..., unk , ...)T , dann führt das Differenzenverfahren im allgemeinen zu einer Matrix-Gleichung der Art ũn+1 = Aũn wobei A die Verstärkungsmatrix bedeutet. Bei einer linearen Gleichung gilt dann auch ˜n+1 = A˜ n . Stabilität ist dann gewährleistet, wenn alle Eigenwerte von A kleiner als 1 sind. 4.4.4 Lax-Äquivalenztheorem Wichtig für die praktische Berechnung der Lösung wird im Besonderen die Konvergenz der Lösung an die exakte Lösung sein. Da Konvergenz i.A. nicht so einfach zu zeigen ist, Konsistenz und Stabilität dagegen einfacher, ist das Äquivalenztheorem von Lax von großer Bedeutung in der numerischen Hydrodynamik Unter geeigneten Annahmen gilt: Lax Äquivalenztheorem (1956): Stabilität + Konsistenz −→ Konvergenz Hierbei ist die Stabilität und Konsistenz notwendig und hinreichend für die Konvergenz. Dieses Theorem gilt in dieser Form nur für lineare Gleichungen, und bei geeigneter Definition von Stabilität (siehe auch Roache, 1998). c W. Kley; Skript: Numerische Hydrodynamik 36 4.5 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN Stabilitätsanalyse Aufgrund ihrer Wichtigkeit beschränken wir uns hier auf die Von Neumann’sche Stabilitätsanalyse, wie sie für lineare Gleichungen gilt. Sie ist auch gleichzeitig die populärste und wurde von von Neumann während des zweiten Weltkrieges in Los Alamos (New Mexico) entwickelt. Erst nach Aufhebung der Geheimhaltung wurde die Methode nach dem Krieg allgemein zugänglich. Von Neumann hat sie für die Gasdynamik entwickelt, sie ist aber für alle linearen finiten Differenzen-Approximationen gleichermaßen anwendbar. Die weiter unten diskutierte Methode der modifizierten Gleichung im Kapitel (4.7) hängt sehr eng mit einer alternativen Stabilitätsanalyse nach Hirt zusammen (vgl. Roache). Weil instabile Lösungen typischerweise oszillierendes Verhalten zeigen, macht es Sinn, diese in eine Fourierreihe zu entwickeln und die zeitliche Entwicklung der Koeffizienten zu untersuchen. Dazu nehmen wir vereinfachend an, dass die Lösung periodisch in x sei, also un0 = unN , wobei N die Anzahl, der räumlichen Gitterpunkte ist, deren Abstand ∆x konstant sei. 4.5.1 Fourier-Analyse der FTCS Methode Die Methode soll am Beispiel der linearen Advektionsgleichung (4.1) und der forward time centered space Methode illustriert werden. Die FTCS-Methdoe Gl. (4.7) lautete σ un+1 − unj + (unj+1 − unj−1 ) = 0 j 2 n Die Werte uj werden jetzt in eine Fourier-Reihe entwickelt unj = N/2 X Ckn e 2πkij N (4.31) k=−N/2 √ wobei i die imaginäre Einheit i = −1 bezeichnet. Die Formeln für die Werte un+1 , und j unj±1 folgen ganz analog aus (4.31). k bezeichnet die Wellenzahl der entsprechenden Mode. Eingesetzt in die obige FTCS Differenzengleichung, und durch Ausklammern von e2πki/N erhält man i 2πkij Xh σ n 2πi n − 2πi n n+1 N N Ck e − C k e e N =0 Ck − C k + 2 k Mit Hilfe der Eulergleichung eix = cos x + i sin x erhält man für Ckn 6= 0 und der Definition θk = für FTCS X k Ckn (4.32) 2πk N (4.33) Ckn+1 − 1 + iσ sin θk eiθk j = 0 Ckn Diese letzte Gleichung ist eine Summe von trigonometrischen Funktionen, eiθk j , die voneinander linear unabhängig sind. D.h. die Koeffizienten in der Summe müssen einzeln verschwinden. Also gilt Ckn+1 = 1 − iσ sin θk (4.34) Ckn c W. Kley; Skript: Numerische Hydrodynamik 4.5. STABILITÄTSANALYSE 37 für alle k. Für das Quadrat des Verhältnis der Amplituden zu den beiden Zeitschritten tn und tn+1 folgt n+1 2 Ck 2 2 (4.35) C n = 1 + σ sin θk ≥ 1 k Für das FTCS Verfahren ist demnach |Ckn+1 | > |Ckn | für alle k 6= 0, und somit ist das Verfahren generell instabil für beliebige Zeitschrittgrößen. 4.5.2 Vereinfachte Formulierung der Methode Anstatt immer die ganze Fourierreihe einzusetzen, kann man (aufgrund des Superpositionsprinzips) nur einen Term der Serie verwenden unj = Ckn eiθk j (4.36) Weiterhin kann die Lösung einer linearen Gleichung immer als Verhältnis Ckn+1 /Ckn geschrieben werden, wobei das Verhältnis nicht vom Zeitschritt n abhängt. Mit anderen Worten, jeder Koeffizient der Fourierserie ändert sich pro Zeitschritt um einen konstanten Faktor. Als neue Notation bezeichnen wir nun den Verstärkungsfaktor Vk als Vk = Damit wird unj = Ckn+1 Ckn (4.37) Ck2 Ck1 0 iθk j Ckn ... C e Ckn−1 Ck1 Ck0 k oder unj = Vkn Ck0 eiθk j (4.38) wobei hier Vkn die n-te Potenz von Vk bezeichnet, im Gegensatz zum n−ten Zeitschrittlevel. Als Vereinfachung kann weiterhin Ck0 = 1 angenommen werden, obwohl jeder Wert außer 0 hier gut ist, und der Index k kann ebenso vernachlässigt werden, so dass man schließlich das Ergebnis unj = V n eiθj (4.39) erhält, wobei hier der Verstärkungsfaktor V auch von θ, das heißt der Wellenlänge der Störung, abhängt. Der Winkel θ hängt mit der Wellenzahl wie folgt zusammen, siehe obige Gl. (4.33) 2πk 2πk∆x θ= = (4.40) N D wobei D die Gesamt-Ausdehnung des räumlichen Bereichs bezeichnet. Stabilität ist nun durch |V | < 1 für alle −π ≤ θ ≤ π gesichert. c W. Kley; Skript: Numerische Hydrodynamik 38 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN 4.5.3 Stabilität der Upwind-Methode Wir betrachten die Upwind-Methode (4.4) un+1 = unj − σ(unj − unj−1 ) j Einsetzen der Entwicklung (4.39) liefert V n+1 eiθj = V n eiθj + σV n eiθ(j−1) − eiθj Teilen durch V n und eiθj liefert V n+1 = 1 + σ e−iθ − 1 n V Für das Betragsquadrat erhält man n+1 2 V λ(θ) ≡ n = 1 + σ e−iθ − 1 1 + σ eiθ − 1 V = 1 + σ e−iθ + eiθ − 2 − σ 2 e−iθ + eiθ − 2 = 1 + σ(1 − σ)(2 cos θ − 2) θ 2 = 1 − 4σ(1 − σ) sin 2 Ein Verfahren ist stabil, falls der Betrag des Verstärkungsfaktors λ(θ) kleiner als eins ist. Das Upwind-Verfahren ist also stabil für 0 < σ < 1, dann ist |λ(θ)| < 1 4.5.4 Bemerkungen zur Von Neumannschen Stabilitätanalyse Durch die von Neumann’sche Analyse erhält man zunächst die Information über die Verstärkung mit λ = Re(V )2 + Im(V )2 der einzelnen Moden, also direkt über das Stabilitätsverhalten des Verfahrens. Gleichzeitig kann auch die Phase tan−1 (Im(V )/Re(V )) untersucht werden, welche die Ausbreitungsgeschwindigkeit der einzelnen Moden beschreibt. Idealerweise breiten sich alle Phasen mit der gleichen Geschwindigkeit a aus. Numerisch jedoch breiten sich verschiedene Frequenzen mit unterschiedlichen Geschwindigkeiten aus, wodurch die Methode dispersiv wird. • Obwohl für lineare Systeme gültig, wird die v. Neumann’sche Analyse auch oft für nicht-lineare Systeme angewandt. • Das gleiche gilt für nicht-periodische Randbedingungen (oft reicht die lokale Analyse aus), bei Berücksichtigung der Randbed. → Matrix-Gleichung. (s.o.) • Falls λ(θ) ≤ 1, dann gilt ||Lu|| ≤ ||u|| → Stabilität. • Bereich von θ: [−π < θ ≤ π] • Instab. für θ ≈ 0, d.h. k∆x ≈ 0, also für lange Wellenlängen → Big Trouble • Instab. für θ ≈ π, also kleine Wellenlängen ≈ 2∆x instabil → Dämpfung (z.B. durch künstliche Viskosität) möglich Satz: Courant-Friedrich Levy Es existiert kein explizites, konsistentes, stabiles finites Differenzenschema, das bedingungslos stabil ist (d.h. für alle ∆t). c W. Kley; Skript: Numerische Hydrodynamik 4.6. GEOMETRISCHE INTERPRETATION 4.6 39 Upwind-Schemata und Geometrische Interpretation von Finiten Differenzen Abbildung 4.2: Approximation der Funktion u(x, t) durch geeignete Mittelwertbildung, hier stückweise konstant (aus Colella & Puckett). Hatten Gl. (4.1) ∂u ∂u +a =0 ∂t ∂x mit a > 0. Das Upwind Verfahren (4.4) lautet = unj − σ(unj − unj−1 ) un+1 j für σ = a∆t/∆x > 0. Wir können unj als Zellenmittelwert einer Größe u interpretieren, d.h. für konstantes ∆x gilt Z (j+1/2)∆x 1 n u(x, n∆t)dx (4.41) uj ≈ ∆x (j−1/2)∆x dabei ist unj ∆x eine skalare Erhaltungsgröße in Zelle j. (z.B. die Masse, Energie, ....). NOTE: Hierbei ist unj am Gitterpunkt xj (= j∆x bei konstantem ∆x) definiert, und die Zellgrenzen der Zelle j befinden sich bei den entsprechenden halbzahligen Indizes xj−1/2 = (j − 1/2)∆x und xj+1/2 . In Abb. (4.2) wird diese Mittelwertbildung nochmals symbolisiert. Speziell ist dort die Näherung durch eine stückweise konstante Funktion dargestellt. Wir können also die Zelle als sog. Kontrollvolumen (Control Volume) auffassen, dessen Inhalt sich nur durch entsprechende Flüsse durch die Oberfläche ändert ∆x = unj ∆x + Fin − Fout un+1 j (4.42) Die Flüsse bei einer Interpolation durch stückweise konstante Funktionen ist in der Abb. (4.3) dargestellt. Die obige Gleichung (4.42) ist in Erhaltungsform geschrieben (vgl. Hydro-Gleichungen). Allgemein wird man versuchen u(x, n∆t) im Integral durch eine geignete interpolierende c W. Kley; Skript: Numerische Hydrodynamik 40 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN Abbildung 4.3: Geometrische Darstellung der Flüsse bei der stückweise konstanten Näherung (aus Colella & Puckett). Funktion uI (x) zu approximieren, so dass gilt Z (j+1/2)∆x n uj ∆x = uI (x)dx (4.43) (j−1/2)∆x Die (erhaltene) Größe uj ∆x ist somit eine Einschränkung an die Wahl von uI (x). Das einfachste Beispiel war die in Abb. (4.2) beschriebene Annäherung durch eine stückweise konstante Interpolation, d.h. uI (x) = unj 4.6.1 für xj−1/2 < x < xj+1/2 RSA-Algorithmus Als grobe Charakterisierung eines finiten Differenzenschemas zur Lösung der Advektionsgleichung kann nun der folgende Algorithmus gelten: i) Für ein gegebenes un : Konstruiere ein Interpolationspolynom uI (x) ii) Berechne exakte Lösung der Dgl. unter Benutzung des Interpolationspolynoms. Die lineare Advektion (Transport) liefert: un+1 ≡ uI (x, (n + 1)∆t) = uI (x − a∆t, tn ) I über die Zelle. iii) Berechne un+1 als Mittelwert der un+1 j I Z 1 un+1 (x, (n + 1)∆t)dx = un+1 j I ∆x Z (j+1/2)∆x 1 = uI (x − a∆t)dx ∆x (j−1/2)∆x oder einfach mit Hilfe der Substitution y = x − a∆t Z (j+1/2)∆x−a∆t 1 n+1 uI (y)dy uj = ∆x (j−1/2)∆x−a∆t (4.44) c W. Kley; Skript: Numerische Hydrodynamik 4.6. GEOMETRISCHE INTERPRETATION 41 Die oben beschriebe Prozedur wird auch manchmal als Reconstruct, Solve, Average oder kurz RSA-Algorithmus beschrieben. Oder auch Reconstruct-Evolution-Methods, nach Harten, Enquist, Osher& Chakravarthy (vgl. Laney, p 243). Der Vorteil der Methode besteht vor allem darin, dass der zweite (Solve) und dritte (Average) Schritt exakt sind. Der Fehler also durch die Interpolation definiert ist. Eine logische Konsequenz ist: Die Verbesserung des ersten Schrittes, der Interpolation. Eine direkte Verbesserung der stückweise konstanten Näherung ist die stückweise lineare Approximation (second-order-upwinding), d.h. wir schreiben uI (x) = unj + x − xj ∆uj ∆x (4.45) Dabei ist die undividierte Differenz ∆uj eine finite Differenzen-Näherung an die Ableitung der Funktion u am Punkt xj ∂u ∆x ∆uj ∼ = ∂x xj Für diese Näherung gibt es jetzt verschiedene Möglichkeiten, die uns z.T. schon vorher begegnet sind: a) ∆uj = 0 Upwind, 1st Order, stückweise konstant b) ∆uj = 21 unj+1 − unj−1 Fromm, zentrierte Ableitung c) ∆uj = unj − unj−1 Beam-Warming, Upwind Steigung d) ∆uj = unj+1 − unj Lax-Wendroff, Downwind Steigung Diese Betrachtungsweise gibt eine anschauliche physikalische Interpretation einiger der bisherigen numerischen Verfahren. Abbildung 4.4: Flussdefinition bei einer stückweise linearen Approximation (aus Colella & Puckett). In Erhaltungsform lautet die finite Differenzen Repräsentation un+1 ∆x = unj ∆x + Fin − Fout j c W. Kley; Skript: Numerische Hydrodynamik (4.46) 42 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN wobei der Fluss Fin durch die schraffierte Fläche in Abb. (4.4) für eine stückweise lineare Funktion symbolisiert ist. Er ist gegeben durch a∆t Fin = a ∆t uI xj−1/2 − (4.47) 2 wobei der Ausdruck in Klammern das Argument von uI bezeichnet, d.h. uI (x) wird jeweils in der Mitte der schraffierten Bereiche berechnet. Anders ausgedrückt: n 1 Fin = a∆t uj−1 + (1 − σ)∆uj−1 (4.48) | {z } 2 {z } | 1st Order 2nd Order Den Fluss Fout erhält man direkt durch die Substitution j für j − 1 für a > 0. Für die undividierte Differenz ∆u wird jeweils ein Wert aus der obigen Tabelle ausgewählt. Die drei unteren Methoden: Fromm, Beam-Warming, Lax-Wendroff haben jeweils einen lokalen Diskretisierungsfehler der Ordnung O(∆x2 ), und sind stabil für σ < 1. 4.7 Modifizierte Gleichung Zur Untersuchung des Verhaltens von numerischen Lösungen ist es nützlich, die (finiten) Differenzengleichungen durch eine part. Differentialgleichung zu approximieren. • FDG kamen ursprünglich von der PDG: Zirkelschluss? • Können ursprüngliche PDG als “Modell“ der FDG betrachten, aber FDG modellieren (möglicherweise) eine andere PDG besser! • Dies ist günstig für qualitative Bewertung von Lösungen: leichter bei PDG, als bei FDG • Ist analog zur Berechnung des lokalen Diskretisierungsfehlers, Gl. (4.25) • Es besteht ein enger Zusammenhang zwischen der modifizierten Gl. und der Stabilitätsanalyse nach Hirt (siehe Roache, 1998). Wir betrachten die Beziehung für den Diskretisierungsfehler (4.25) in der Form # " l+1 ∂ u e n l + O((∆x)l+1 ) un+1 e,j − (Lue )j = ∆t C(∆x) ∂xl+1 (j∆x,n∆t) (4.49) Der Ausdruck Lue ist dabei eine konsistente Diskretisierung der PDG. Der Koeffizient C wird durch die führende Ordnung in der Taylorentwicklung gegeben. Das heißt, lokal in der Zeit entspricht die Ersetzung des exakten Operators durch die Differenzengleichung der Addition eines Terms ∆t mal dem Ausdruck in Klammern. Wir definieren also die modfizierte Gleichung (zur linearen Advektionsgleichung) durch ∂uM ∂ l+1 uM ∂uM +a = C(∆x)l ∂t ∂x ∂xl+1 (4.50) c W. Kley; Skript: Numerische Hydrodynamik 4.7. MODIFIZIERTE GLEICHUNG 43 uM wird also das Verhalten des Differenzenschemas besser beschreiben als ue . Für die modifizierte Gleichung gilt n l+1 un+1 ) M − LuM = ∆t O(∆x (4.51) Für die diskrete Lösung gilt, Gl. (4.24) un+1 − Lun = 0 (4.52) un+1 − Lune = ∆t O(∆xl ) e (4.53) und für die exakte Lösung Die diskrete Dynamik wird also durch die modifizierte Gleichung in einer höheren Ordnung approximiert als durch die ursprüngliche Dgl. Wieder mal als Bspl. das Upwind-Verfahren (4.4). Umgeformt: un+1 − unj + σ(unj − unj−1 ) = 0 j mit σ = a∆t/∆x. Ersetze Differenzen durch Ableitungen: ∂u 1 ∂2u 2 ∂u 1 ∂2u 2 3 ∆t + ∆t + O(∆t ) + σ ∆x − ∆x + O(∆t∆x2 ) = 0 ∂t 2 ∂t2 ∂x 2 ∂x2 Teile durch ∆t, ersetze σ ∂u 1 ∂u +a + ∂t ∂x 2 ∂2u ∂2u ∆t − a 2 ∆x + O(∆t2 ) + O(∆x2 ) = 0 ∂t2 ∂x Die zweite Zeitableitung wird durch die Wellengleichung (4.10) ersetzt und es folgt als modifizierte Gleichung (auch manchmal als Modellgleichung bezeichnet) zum UpwindVerfahren. ∂uM ∂uM 1 ∂ 2 uM +a = a∆x (1 − σ) (4.54) ∂t ∂x 2 ∂x2 D.h. die FDG addiert einen diffusiven Term zur ursprünglichen PDG dazu mit dem Diffusions-Koeffizienten 1 D = a∆x (1 − σ) 2 Bem: Nur für D > 0 ist dies eine Diffusionsgleichung, woraus σ < 1 für die Stabilität folgt (Hirt-Methode). Dieser zusätzliche Term entspricht der intrinsischen numerischen Viskosität eines Verfahrens. (Im Ggs. zur explizit hinzugefügten künstlichen) Verfahren erster Ordnung (z.B. Upwind) sind also diffusiv, wohingegen Verfahren zweiter Ordnung (Fromm, Lax-Wendroff, ..) dispersiv sind. So liefert z.B. Lax-Wendroff (→ Übungsaufgabe): ∂ 3 uM ∂uM ∂uM ∆t2 a 2 +a = σ −1 ∂t ∂x σ ∂x3 (4.55) Die Gleichung hat also die Form ut + aux = µuxxx c W. Kley; Skript: Numerische Hydrodynamik (4.56) 44 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN φ (x) Abbildung 4.5: Eine diskontinuierliche Rechtecksfunktion ϕ(x). mit dem Koeffizienten ∆t2 a 2 σ −1 σ Daraus folgt, dass die Fourierkomponenten zu verschiedenen Wellenzahlen mit unterschiedlichen Geschwindigkeiten propagieren, die Welle also dispergiert. Sei die Fourierentwicklung einer Funktion u(x, t) gegeben durch Z ∞ u(x, t) = û(k, t)eikx dk µ= −∞ Bei linearen Gleichungen können die Komponenten einzeln betrachtet werden. Suche Lösung der Form (ebene Wellen) ei(kx−ωt) Einsetzen in die modifizierte Gl. des Lax-Wendroff Verfahrens (Gl. 4.56) liefert die DispersionsRelation ω(k) = ak + µk 3 (4.57) Die Ausbreitungsgeschwindigkeit der Wellen (Gruppengeschwindigkeit) ist gegeben durch ∂ω = a + 3µk 2 (4.58) ∂k Die Wellenausbreitungsgeschwindigkeit ist also von der Wellenzahl k abhängig: −→ Dispersion. (Bem.: Die Phasengeschwindigkeit ist: uph = ω/k). Beim Lax-Wendroff-Verfahren ist µ < 0 (für σ < 1), d.h. die Wellen sind zu langsam. Damit bilden sich z.B. Oszillationen hinter einer Diskontinuität (vgl. Übung: Transportierte Kastenfunktion und Abb. 4.8). Bei Beam-Warming ist µ > 0, also sind die Oszillationen vor der Diskontinuität. 4.8 Diskontinuitäten Ein finites Differenzenverfahren soll auch für diskontinuierliche Funktionen (z.B. Stoßwellen in der Hydrodynamik) brauchbar sein. Betrachte z.B. eine Rechtecksfunktion φ(x), siehe Abb. (4.5). Diese werde durch eine Fourierreihe approximiert ϕs = M X ak e2πkxi (4.59) k=−M wobei M die Anzahl der Interpolationspunkte bezeichnet. Man findet: c W. Kley; Skript: Numerische Hydrodynamik 4.8. DISKONTINUITÄTEN 45 Abbildung 4.6: Das Gibbs-Phänomen bei der Fourier-Interpolation einer Rechteckfunktion mit 64 (gestrichelt) und 256 (durchgezogen) Interpolationspunkten. Links global und rechts lokal (aus Colella & Puckett). • An den Sprungstellen geht der Wert von max |ϕ(x) − ϕs (x)| nicht gegen Null für M → ∞. Es treten bei den Diskontinuitäten Oszillationen auf, das sog. Gibbs-Phänomen (siehe Abb. 4.6). Der Fehler bleibt bei etwa 14%. • Die Oszillationen beeinflussen aber zunehmend kleineren Bereich um die Sprungstelle für große M . • Die Fourier-Reihe ϕs (x) konvergiert in der L1 bzw. L2 -Norm gegen ϕ(x), aber nicht gleichmäßig. FD-Methoden haben ähnliche Eigenschaften bei Vorliegen einer Diskontinuität • Konvergenz in L1 bzw. L2 , aber nicht gleichmäßig. • Upwind: Produziert keine neuen Extrema (Max. oder Min.), welche nicht schon in Lsg. waren. Kurze Wellenlängen werden gedämpft. • LW/Fromm: Produzieren Oszillationen in der Nähe von Disk. Ist Eigenschaft von Verfahren höherer Ordnung. Wir betrachten dazu die Ergebnisse von Lösungen der linearen Transportgleichung mit einer Rechteckfunktion der Breite 0.6 auf einem Gitter [−1.0, 1.0] mit periodischen Randbedingungen. Gerechnet wurde mit 600 Gitterpunkten, einer Courant-Zahl σ = 0.8 bis zur Zeit tmax = 40.0. Die Lösungen werden für das Upwind- (Abb. 4.7) und Lax-WendroffVerfahren (Abb. 4.8) dargestellt. a) Upwind: c W. Kley; Skript: Numerische Hydrodynamik 46 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN Abbildung 4.7: Lösung des Kastenproblems für das Upwind-Verfahren. • keine Oszillationen • glatter monotoner Übergang • Breite: O((t∆x)1/2 ) • Fehler in modifizierter Gl.: Diffusion Abbildung 4.8: Lösung des Kastenproblems für das Lax-Wendroff-Verfahren. b) LW: • Oszillationen • Phasenfehler c W. Kley; Skript: Numerische Hydrodynamik 4.8. DISKONTINUITÄTEN 47 • Modifizierte Gl.: kleine Wellenlängen breiten sich langsamer aus als exakte Lsg. (Dispersion) • → verstärkte Oszillationen hinter Disk. 4.8.1 Lokale Betrachtung Betrachte Flüsse im Detail. Wir untersuchen dazu die Netto-Balance der Zelle j, indem wir für die verschiedenen Verfahren die Flüsse an einer Diskontinuität direkt ausrechnen. Es gilt wieder a > 0 und die Zelle j befinde sich direkt an der Diskontinuität. Beim Abbildung 4.9: Over- und Undershoot beim Fromm-Verfahren (aus Colella & Puckett). Fromm-Schema (Abb. 4.9) führen die Gradienten ∆uj dazu, dass an den Rändern der Zelle j gilt: j-1 : Masse heraus < Masse herein → Overshoot. j+1 : Masse heraus > Masse herein → Undershoot. Also ergeben sich hier Oszillationen vor und hinter den Diskontinuitäten. Beim Lax-Wendroff-Schema (Abb. 4.10) gilt: j-1 : Masse heraus < Masse herein →: Overshoot. j+1 : Masse heraus = Masse herein →: OK Also ergeben sich hier Oszillationen hinter den Diskontinuitäten. Beim Upwind-Schema (Abb. 4.11) gilt: j-1 : Masse heraus = Masse herein →: OK j+1 : Masse heraus = Masse herein →: OK Hier ergeben sich alse keinerlei Oszillationen. Aus dieser Betrachtung können wir schließen: Der Wertebereich der numerischen Lösung (Interpolationspolynom) darf denjenigen der Anfangsdaten nicht überschreiten. (physikalisch ist z.B. die Dichte ρ immer positiv oder eine Konzentration immer im Bereich 0 < fx < 1). Dies lässt sich in drei Bedingungen formulieren: c W. Kley; Skript: Numerische Hydrodynamik 48 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN u a ∆t x (j−2)∆x (j−1)∆x j ∆x (j+1) ∆x Abbildung 4.10: Over- und Undershoot beim Lax-Wendroff-Verfahren (nach Colella & Puckett). Abbildung 4.11: Over- und Undershoot beim Upwind-Verfahren (aus Colella & Puckett). a) Erhaltung der Positivität ≥0 unj ≥ 0 → un+1 j b) Erhaltung der Monotonizität unj ≥ unj+1 → ujn+1 ≥ un+1 j+1 b) Beschränktheit ||Lu||∞ ≤ ||u||∞ Für lineare Gleichungen sind alle Punkte a) bis c) äquivalent. Von den bisherigen Methoden sind Lax-Wendroff und Fromm nicht beschränkt, aber von 2. Ordnung. Nur das Upwind Verfahren erfüllt die Bedingungen. Es stellt sich also die Frage: Existiert ein Verfahren 2. Ordnung, welches beschränkt in der Supremum-Norm ist? c W. Kley; Skript: Numerische Hydrodynamik 4.9. LITERATUR 49 Theorem (Godunov): Sei (Lu)j = X ck uj+k k ein lineares Schema, welches konsistent und beschränkt (Sup-Norm) ist mit mindestens zwei ck 6= 0. Dann ist das Verfahren von höchstens 1. Ordnung (in O(∆x)). Daraus folgt: Brauche ein nicht-lineares Verfahren für höhere Ordnung un+1 = Lun wobei L(u) ein nicht-linearer Operator ist. Anders formuliert (LeVeque): Ein lineares, die Monotonizität erhaltendes Verfahren ist maximal von erster Ordnung. In der Nähe von Diskontinuitäten soll Verfahren erster Ordnung werden, ansonsten zweiter Ordnung. Dies ist möglich durch: • Slope-Limiter Methoden (Van Leer) • Flux-Limiter Methoden, z.B. Flux-Corrected Transport (FCT, Boris & Book) Hier werden wir uns vor allem mit der Slope-Limiter Methode befassen. 4.9 Literatur Colella & Puckett, 1994, Modern Numerical Methods for Fluid Flow (Online Skript) LeVeque, R., 1990, Numerical Methods for hyperbolic conservation laws (Birkhäuser Verlag) Laney., 1999: Computational Gasdynamics (Cambridge University Press) Roache, P.K., 1998: Fundamentals of Computational Fluid Dynamics (Hermosa Publisher, Albuquerque) c W. Kley; Skript: Numerische Hydrodynamik 50 KAPITEL 4. LINEARE HYPERBOLISCHE GLEICHUNGEN c W. Kley; Skript: Numerische Hydrodynamik