Kapitel 3 Diskretisierungsverfahren
Kapitel 3 Diskretisierungsverfahren
Kapitel 3 Diskretisierungsverfahren
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Kapitel</strong> 3<br />
<strong>Diskretisierungsverfahren</strong><br />
3.1 Grundlegende Begriffe und Definitionen<br />
• Die partiellen Differentialgleichungen der Hydrodynamik bzw. der Magnetohydrodynamik<br />
beschreiben Strömungen in einem Raum–Zeit–Kontinuum.<br />
Die numerische Integration der Gleichungen erfordert eine Diskretisierung des<br />
Raum–Zeit–Kontinuums und eine entsprechende Diskretisierung der Gleichungen.<br />
Bei Gitterverfahren (andere <strong>Diskretisierungsverfahren</strong> werden hier nicht betrachtet)<br />
wird das zu simulierende Raumgebiet mit einem Rechengitter bestehend<br />
aus einer endlichen Anzahl von Zellen überdeckt (siehe Abb.(3.1).<br />
=⇒ Satz von algebraischen Gleichungen für diskrete hydrodynamische Variable<br />
=⇒ unvermeidbare Diskretisierungsfehler<br />
• Finite Differenzenverfahren: Gitterpunkten (Zellenmitten, Zellenecken, Zellenrändern)<br />
werden diskrete Variablenwerte 1 zugeordnet, z.B. (siehe Abb.(3.1):<br />
g n+1<br />
k ≡ g(xk,t n+1 ).<br />
Man diskretisiert die hydrodynamischen Gleichungen in differentieller Form, wobei<br />
Ableitungen durch Differenzenbildung zwischen den diskreten Variablenwerten benachbarter<br />
Zonen approximiert werden.<br />
• Finite Volumenverfahren: Zellvolumina werden zellgemittelte Variablen zugeordnet:<br />
g n i,j ≡ g(xi,yj,t n ) ≡<br />
1<br />
∆xi∆yj<br />
� � yj+1/2 xi+1/2<br />
y j−1/2<br />
x i−1/2<br />
g(x,y,t n )dxdy<br />
Man diskretisiert die hydrodynamischen Gleichungen in integraler Erhaltungsform.<br />
1 Nomenklatur: Unterer bzw. oberer Index bezeichnet diskrete Raumkoordinate bzw. Zeitkoordinate.<br />
63
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 64<br />
t n+1<br />
t n<br />
t n−1<br />
g n<br />
k<br />
g n+1<br />
k+1/2<br />
Δx k+1/2<br />
g n+1/2<br />
k+1/2<br />
x k−1 x k x k+1<br />
Abbildung 3.1:<br />
Δt n+1/2<br />
• Ableitungen: Die Taylor–Entwicklung einer Funktion f um einen Punkt x0 lautet<br />
bis zur zweiten Ordnung:<br />
f(x0 +∆x) = f(x0)+<br />
Daraus folgt<br />
f n k+1 = f n k +<br />
� �<br />
∂f<br />
∆x+<br />
∂x x0<br />
1<br />
2<br />
� �<br />
∂f<br />
∆xk+1/2 +<br />
∂x xk<br />
1<br />
2<br />
� � 2 ∂ f<br />
∂x 2<br />
� � 2 ∂ f<br />
∂x 2<br />
Auflösen dieser Gleichung nach (∂f/∂x)k ergibt:<br />
� �<br />
∂f<br />
=<br />
∂x k<br />
fn k+1 −fn k<br />
∆xk+1/2<br />
− 1<br />
2<br />
� � 2 ∂ f<br />
∂x 2<br />
k<br />
xk<br />
x0<br />
(∆x) 2 +O � (∆x) 3� .<br />
(∆xk+1/2) 2 +O � (∆x) 3� .<br />
∆xk+1/2 +O � (∆x) 2�<br />
(3.1)<br />
• Vorwärts-bzw.Rückwärtsdifferenzenapproximationder1.Ortsableitung;Diskretierungsfehler<br />
O[∆x], d.h. von 1. Ordnung.<br />
� �n ∂f<br />
≈<br />
∂x k<br />
fn k+1 −fn k<br />
∆xk+1/2<br />
� �n ∂f<br />
≈<br />
∂x k<br />
fn k −fn k−1<br />
∆xk−1/2<br />
(3.2)<br />
(3.3)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 65<br />
t n+1<br />
t n<br />
t n−1<br />
✖ ✖<br />
✖ ✖<br />
✖ ✖<br />
x k−1 x k x k+1<br />
Funktionswerte<br />
Abbildung 3.2:<br />
✖ Ableitungen<br />
• Zentrierte Differenzenapproximation der 1. Ortsableitung; Diskretierungsfehler<br />
O[(∆x) 2 ], d.h. von 2. Ordnung für äquidistante Gitter.<br />
� �n ∂f<br />
≈<br />
∂x k<br />
fn k+1 −fn k−1<br />
2∆xk<br />
mit ∆xk ≡ ∆xk+1/2 +∆xk−1/2<br />
2<br />
(3.4)<br />
• 2. Ortsableitung: Taylor–Entwicklung von f n k+1 und fn k−1 um den Punkt xk bis zur<br />
4. Ordnung. Auflösen nach ∂ 2 f/∂x 2 ergibt eine Approximation O[(∆x) 2 ]:<br />
� ∂ 2 f<br />
∂x 2<br />
� n<br />
k<br />
≈ fn k+1 +fn k−1 −2fn k<br />
(∆xk) 2<br />
(3.5)<br />
• Versetzte (staggered) Gitter: Funktionswerte und Ableitungen werden versetzt<br />
zueinander auf dem Rechengitter definiert (siehe Abb.(3.2)); z.B.<br />
� �n ∂f<br />
≈<br />
∂x k+1/2<br />
fn k+1 −fn k<br />
∆xk+1/2<br />
Vorteil: Approximation ist auch für nicht–äquidistante Gitter von O[(∆x) 2 ].<br />
(3.6)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 66<br />
3.2 Explizite und implizite Verfahren<br />
U(r,t) sei der Zustandsvektor eines (dynamischen) Systems im Raumgebiet R = R(r)<br />
mit U = U 0 zur Zeit t = 0. Ferner sei U für alle Zeiten t > 0 auf der Oberfläche S<br />
des Raumgebiets R gegeben. Dann ist die zeitliche Entwicklung des Zustandsvektor U des<br />
Systems in R für alle Zeiten t > 0 bestimmt durch<br />
∂U<br />
∂t<br />
= LU (3.7)<br />
Dies ist ein Anfangswertproblem mit Randbedingungen. L ist ein nichtlinearer Operator.<br />
Falls die Entwicklung des System durch gewöhnliche Differentialgleichungen beschrieben<br />
wird, ist L algebraischer Natur. Falls dagegen die Entwicklung des System durch partielle<br />
Differentialgleichungen bestimmt wird, ist L ein räumlicher Differentialoperator.<br />
Vernachlässigt man Terme zweiter Ordnung und höherer, ergibt sich die folgende allgemeine<br />
(für zwei Zeitniveaus!) diskretisierte Gleichung:<br />
U n+1 = U n +LU n (1−ǫ)∆t+LU n+1 ǫ∆t (3.8)<br />
wobei ∆t ≡ t n+1 −t n und ǫ ein Interpolationsparamter mit 0 ≤ ǫ ≤ 1 ist.<br />
• Falls ǫ = 1/2, ist die zeitliche Integration O[(∆t) 2 ] genau.<br />
• Falls ǫ �= 1/2, ist die zeitliche Integration O[∆t] genau.<br />
• Falls ǫ = 0, ist U n+1 explizit durch U n gegeben, d.h. man erhält eine explizite<br />
Zeitdiskretisierung.<br />
• Falls ǫ �= 0, liegt eine implizite Zeitdiskretisierung vor.<br />
Werden die hydrodynamischen Gleichungen zeitlich explizit diskretisiert, so muss<br />
aus Stabilitätsgründen die Zeitschrittgröße der Courant–Friedrichs–Lewy oder CFL–<br />
Bedingung genügen. Im Falle einer eindimensionalen Strömung (mit der Geschwindigkeit<br />
u und der Schallgeschwindigkeit c) lautet diese<br />
∆t ≤ ∆tCFL ≡ Mini<br />
� ∆xi<br />
|ui|+ci<br />
�<br />
(3.9)<br />
wobei das Minimum über alle Stützstellen i zu bilden ist. Für eine dreidimensionale<br />
Strömung mit den Geschwindigkeitskomponenten (u,v,w) lautet die CFL–Bedingung (in<br />
kartesischen Koordinaten (x,y,z)):<br />
⎧<br />
⎨<br />
|ui|<br />
∆t ≤ ∆tCFL ≡ Minijk +<br />
⎩∆xi<br />
|vj|<br />
+<br />
∆yj<br />
|wk|<br />
�<br />
�<br />
1<br />
+cijk<br />
∆zk ∆xi<br />
wobei das Minimum über alle Stützstellen i,j,k zu bilden ist.<br />
� 2<br />
� �2 �<br />
1 1<br />
+ +<br />
∆yj ∆zk<br />
� 2<br />
⎫<br />
⎬<br />
⎭<br />
−1
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 67<br />
• ImpliziteVerfahrenerlaubenimallgemeinendieVerwendungvongrößerenZeitschritten.<br />
Allerdings ist in diesem Fall jedoch die Lösung eines nichtlinearen, algebraischen<br />
Gleichungssystems in jedem Zeitschritt notwendig, um den Zustandsvektor für den<br />
nächsten Zeitschritt zu berechnen.<br />
Dies geschieht üblicherweise mit Hilfe einer (im mehrdimensionalen) Newton–<br />
Iteration, wobei in jeder Iteration ein lineares Gleichungssystem zu lösen ist. Typischerweise<br />
sind 3 bis 5 Iterationen pro Zeitschritt notwendig.<br />
DieAnzahldernotwendigenRechenoperationenskaliertgemäß(NV ·NX·NY ·NZ) 3 ,<br />
wobei NV die Anzahl der unabhängigen Variablen bzw. Gleichungen des zu lösenden<br />
nichtlinearen,algebraischenGleichungssystemsist.NX,NY undNZ sinddieAnzahl<br />
der Stützstellen in x-, y- und z–Richtung.<br />
Eine signifikante Reduktion der Anzahl der Operationen läßt sich durch Ausnutzung<br />
der Matrixblockstruktur des Gleichungssytems erreichen.<br />
• Weitere Probleme die bei impliziten Verfahren auftreten:<br />
- Tabellen und numerische Ableitungen können die Konvergenz der Iteration verschlechtern,<br />
oder gar verhindern.<br />
- Die Suche nach Programmfehlern ist erheblich erschwert.<br />
- UnterUmständensindadaptiveRechengittererforderlich,dasonsteinzukleiner<br />
Zeitschritt für die Konvergenz erforderlich ist.<br />
3.3 Methode der Operatoren–Zerlegung<br />
• Man betrachte ein nicht–lineares System von partiellen Differentialgleichungen für<br />
einen Zustandsvektor � U<br />
∂<br />
∂t � U(�r,t) = � G( � U,�r,t), (3.10)<br />
wobei � G ein Vektor–Operator sei, der keine Zeitableitungen von � U enthält.<br />
• Man zerlegt nun den Operator � G in N Teiloperatoren � Gi, so dass<br />
∂<br />
∂t � U(�r,t) = � G1 + � G2 + � G3...+ � GN<br />
(3.11)<br />
gilt. Die zeitliche Integration der Differentialgleichung (3.10) wird nun in mehreren<br />
Teilschritten durchgeführt, wobei in jedem Schritt nur einer der Operatoren � Gi den<br />
Zustandsvektor � U modifiziert. Eine Zerlegung könnte z.B. so aussehen, dass G1 die<br />
Advektion, G2 die Druck- und Gravitationskräfte, G3 die Wärmeleitung und G4 das<br />
Kernbrennen beschreiben.
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 68<br />
• Vorteil 1: Teilschritte können unabhängig voneinander bearbeitet werden und verschiedene<br />
Lösungsmethoden können für die einzelnen Teilschritte verwendet werden.<br />
• Vorteil 2: Ein modularer Programmaufbau ist möglich.<br />
• Qualitatives Kriterium für die Operatoren-Zerlegung: Der Zustandsvektor sollte<br />
sich während eines Teil–Zeitschritts nicht allzu sehr ändern.<br />
• Warnung: Operatoren–Zerlegung ist oft weder streng mathematisch begründbar,<br />
noch gibt es eine Garantie dafür, dass die so erhaltene Zerlegung zur richtigen Lösung<br />
führt. Zerlegung wird oft nur aufgrund von Empirie, Erfahrung und physikalischer<br />
Intuition vorgenommen.<br />
• Daumenregel: Keine sich gegenseitig ” kompensierende“ Terme trennen, wie z.B.<br />
Druck- und Potential-Gradienten oder Emissions- und Absorptions-Prozesse.<br />
• Eine der wichtigsten Anwendungen der Methode der Operatoren–Zerlegung ist die<br />
Behandlung mehrdimensionaler Probleme.<br />
– dimension–splitting (Godunov 1959)<br />
– directional–splitting (G. Strang, 1968 SIAM J Num Anal 5, 506)<br />
d.h. Lösung von 2D und 3D Strömungsproblemen durch mehrere sogenannte<br />
Durchläufe (sweeps), z.B. im 2D–Fall (x,y)<br />
– 1. Durchlauf nur Ableitungen nach x berücksichtigen<br />
– 2. Durchlauf nur Ableitungen nach y berücksichtigen<br />
Falls einzelne Durchläufe von der Ordnung O[(∆t) 2 ] genau sind, dann ist der Gesamtalgorithmus<br />
ebenfalls von der Ordnung O[(∆t) 2 ] genau, falls auf ein (x,y)- ein<br />
(y,x)-Zeitschrittfolgt,d.h.fallsdieDurchlaufrichtungenvonZeitschrittzuZeitschritt<br />
alternieren.<br />
• ” directional–splitting“ ermöglichtdenAufbaumehrdimensionalerHydrodynamikprogramme,<br />
die im Kern eine 1D Programmstruktur besitzen, und führt zu einer erheblichen<br />
Effizienzsteigerung bei impliziten Algorithmen; z.B. 2D–Problem mit NX×NY<br />
Stützstellen<br />
– voll implizit: (NX ×NY) 3 –Operationen<br />
– gesplittet: NX ×NY 3 +NX 3 ×NY–Operationen (u.U. aber mehrere Iterationen<br />
notwendig)<br />
Falls NX = NY = 100 müssen nur 2 · 10 8 anstatt 10 12 Operationen ausgeführt<br />
werden (Rechenzeit um einen Faktor 5000 geringer).
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 69<br />
3.4 Konservative Verfahren<br />
• HydrodynamischeGleichungendrückendieErhaltungvonMasse,ImpulsundEnergie<br />
aus.<br />
• Die entsprechenden Differentialgleichungen können in verschiedenen analytisch<br />
äquivalenten Formen geschrieben werden, die aber numerisch betrachtet nicht<br />
äquivalent sind.<br />
• Die Kontinuitätsgleichung läßt sich in der Form<br />
∂ρ<br />
+div(ρ�v) = 0 (3.12)<br />
∂t<br />
oder in der Form<br />
∂ρ<br />
+�vgradρ+ρdiv�v = 0 (3.13)<br />
∂t<br />
schreiben. Gleichung (3.12) ist besser für die Diskretisierung geeignet, da sie die<br />
Massenerhaltung direkt ausdrückt.<br />
• Allgemein gilt: Die diskretisierten Gleichungen erhalten nicht notwendigerweise<br />
Masse, Impuls und Energie! (Beachte: Eine Impulskomponente ist physikalisch nur<br />
dann erhalten, wenn die entsprechende Ortskoordinate geradlinig ist.)<br />
• Notwendigkeit für konservative Differenzenverfahren<br />
• Zur Konstruktion solcher Verfahren integriert man die hydrodynamischen Gleichungen<br />
über eine endliches (raumfestes) Volumen ∆V mit der Oberfläche ∂V.<br />
Aus der Kontinuitätsgleichung folgt dann<br />
�<br />
∂<br />
∂t<br />
�<br />
ρdV + divρ�vdV = 0,<br />
∆V<br />
∆V<br />
und weiter mit dem Gauss’schen Satz<br />
�<br />
∂<br />
∂t<br />
�<br />
ρdV + ρ�v ·d� f = 0, (3.14)<br />
∆V<br />
∂V<br />
wobei d � f der Einheitsnormalenvektor (nach außen zeigend!) der Oberfläche ∂V ist.<br />
Analoge Ausdrücke erhält man aus der Impuls- und Energiegleichung:<br />
� �<br />
∂<br />
ρ�vdV + ρ�v(�v ·d<br />
∂t ∆V ∂V<br />
� �<br />
f) = (−ρgradΦ−gradp)dV<br />
V<br />
(3.15)<br />
�<br />
∂<br />
∂t<br />
�<br />
ρEdV + (ρE +p)�v ·d� �<br />
f = −ρ�vgradΦdV (3.16)<br />
∆V<br />
∂V<br />
V
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 70<br />
• Die integrale Form hat den zusätzlichen Vorteil, dass damit auch Diskontinuitäten<br />
(z.B. Stoßwellen) in der Strömung behandelbar sind.<br />
• EinDifferenzenverfahrenistkonservativ,fallsfürdieDichteξ einerErhaltungsgröße<br />
(z.B. Masse) die Relation<br />
N�<br />
��<br />
ξdV<br />
Vc(i)<br />
i=1<br />
� n+1<br />
=<br />
N�<br />
��<br />
ξdV<br />
Vc(i)<br />
i=1<br />
� n<br />
��<br />
+∆t<br />
∂Vt<br />
�jξd � �n f<br />
(3.17)<br />
gilt, wobei Vt das Volumen des Rechengebiets ist, das in N Zellen mit Volumina<br />
Vc(i) (d.h. Vt = � N<br />
i Vc(i)) unterteilt ist, und das eine Oberfläche ∂Vt besitzt. Die<br />
Stromdichte�jξ ist gemäß�jξ = ξ ·�v definiert.<br />
Anders ausgedrückt: Die Summe der Volumenintegrale darf sich nicht<br />
ändern, falls kein Fluss über den Rand des Rechengebiets hinaus und<br />
hinein vorhanden ist.<br />
Diese Bedingung erscheint trivial, aber sie ist nicht immer erfüllt.<br />
• Betrachten wir dazu (in kartesischen Koordinaten) die eindimensionale Kontinuitätsgleichung<br />
in nicht–konservativer Form (Gl.3.13) für ein inkompressibles Gas (div�v =<br />
0) und approximieren wir den Gradientenoperator durch eine zentrierte Differenz.<br />
Mit δ ≡ 0.5∆t/∆x folgt dann für die Zonen i−2 bis i+2<br />
ρ n+1<br />
i−2 − ρn i−2 = −δ ( u n i−2 ρ n i−1 − u n i−2 ρ n i−3 )<br />
ρ n+1<br />
i−1 − ρn i−1 = −δ ( u n i−1 ρ n i − u n i−1 ρ n i−2 )<br />
ρ n+1<br />
i − ρ n i = −δ ( u n i ρ n i+1 − u n i ρ n i−1 )<br />
ρ n+1<br />
i+1 − ρn i+1 = −δ ( u n i+1 ρ n i+2 − u n i+1 ρ n i )<br />
ρ n+1<br />
i+2 − ρn i+2 = −δ ( u n i+2 ρ n i+3 − u n i+2 ρ n i+1 )<br />
Summiert man diese Differenzengleichungen über alle Stützstellen i = 1,...,N, so<br />
heben sich offensichtlich keine Terme auf der rechten Seite weg, d.h. das Verfahren<br />
ist nicht konservativ.<br />
Geht man dagegen von der Kontinuitätsgleichung in Erhaltungsform (Gl.3.12) aus<br />
und approximiert den Divergenzoperator durch eine zentrierte Differenz, so folgt<br />
ρ n+1<br />
i−2 − ρn i−2 = −δ ( u n i−1 ρ n i−1 − u n i−3 ρ n i−3 )<br />
ρ n+1<br />
i−1 − ρn i−1 = −δ ( u n i ρ n i − u n i−2 ρ n i−2 )<br />
ρ n+1<br />
i − ρ n i = −δ ( u n i+1 ρ n i+1 − u n i−1 ρ n i−1 )<br />
ρ n+1<br />
i+1 − ρn i+1 = −δ ( u n i+2 ρ n i+2 − u n i ρ n i )<br />
ρ n+1<br />
i+2 − ρn i+2 = −δ ( u n i+3 ρ n i+3 − u n i+1 ρ n i+1 )<br />
Jetzt fallen bei der Aufsummation alle Terme auf der rechten Seite (bis auf jeweils<br />
zwei Terme am Rand des Rechengebiets) weg, d.h. das Verfahren ist konservativ.
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 71<br />
3.5 Stabilität, Konsistenz und Diskretisierungsfehler<br />
Die Stabilität eines numerischen Verfahrens ist durch sein Fehlerfortpflanzungsverhalten<br />
bestimmt. Bei der Untersuchung der zeitlichen Entwicklung einer kleinen Störung<br />
sind folgende Fälle möglich:<br />
unbeschränktes Anwachsen → Verfahren instabil<br />
der Störung<br />
Störung nimmt ab, falls Zeitschritt → Verfahren beschränkt stabil<br />
gewissen Bedingungen genügt<br />
Störung nimmt ab für → Verfahren unbeschränkt stabil<br />
beliebige Zeitschritte<br />
Es existieren verschiedene Verfahren zur Untersuchung der Stabilität eines Differenzenschemas,<br />
z.B. die von Neumann’sche Stabilitätsanalyse (Modenanalyse für lineare<br />
Anfangsprobleme). Für nicht–lineare Probleme läßt sich nur die Stabilität der linearisierten<br />
Gleichungen bestimmen, d.h. man kann nur notwendige Stabilitätskriterien für nicht–<br />
lineare Probleme ableiten.<br />
Ein Differenzenverfahren muss nicht nur genau sein, sondern es muss auch konsistent<br />
zur Differentialgleichung sein, d.h. es muss<br />
lim {Differentialgleichung−Differenzengleichung} = 0 (3.18)<br />
∆x,∆t→0<br />
gelten.<br />
3.5.1 Diffusionsgleichung<br />
Als Beispiel zur Veranschaulichung der Konzepte Stabilität, Konsistenz und Diskretisierungsfehler<br />
betrachten wir im folgenden die eindimensionale Diffusionsgleichung<br />
∂f<br />
∂t = α ∂2f ∂x2 (3.19)<br />
mit dem konstanten Diffusionskoeffizienten α. Wir nehmen o.B.d.A. weiterhin an, dass ∆t<br />
und ∆x konstant sind.<br />
• Diskretisierung nach Richardson: O[(∆t) 2 ,(∆x) 2 ]<br />
f n+1<br />
k −fn−1<br />
k<br />
2∆t<br />
= α fn k+1 +fn k−1 −2fn k<br />
(∆x) 2<br />
(3.20)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 72<br />
Daraus folgt:<br />
f n+1<br />
k<br />
= fn−1<br />
k +d(fn k+1 +f n k−1 −2f n k) mit d ≡ 2α ∆t<br />
> 0. (3.21)<br />
(∆x) 2<br />
- ǫ sei Fehler der numerischen Lösung, d.h.<br />
fnum = f +ǫ,<br />
wobei f die exakte Lösung sei. Da sowohl f als auch fnum der Differenzengleichung<br />
genügen müssen, folgt<br />
ǫ n+1<br />
k<br />
= ǫn−1<br />
k +d(ǫn k+1 +ǫ n k−1 −2ǫ n k). (3.22)<br />
d.h. exakte Lösung (3.21) und Fehler ǫ (3.22) haben dasselbe Zeitverhalten!<br />
- Als Ansatz für die Fehlerverteilung auf dem Rechengitter wählen wir eine Fourierreihe,<br />
deren Fundamentalmode (m = 1) eine Wellenlänge λ = 2π/k gleich<br />
der zweifachen Gitterlänge L hat, d.h. es gilt<br />
ǫ(x,t) =<br />
M�<br />
bm(t)e ikm·x<br />
m=0<br />
(3.23)<br />
mit den Wellenzahlen<br />
km = mπ<br />
, m = 0,1,...,M und M∆x = L.<br />
L<br />
- Da die Differenzengleichung (3.20) linear ist, gilt das Superpositionsprinzip für<br />
Fehler, d.h. für die Stabilitätsanalyse genügt die Betrachtung eines Terms der<br />
Fourierreihe<br />
ǫm(x,t) = bm(t)e ikm·x .<br />
Einsetzen in die Differenzengleichung (3.22) liefert<br />
b n+1<br />
m = b n−1<br />
m +b n m2d(cosφm −1)<br />
mit dem Phasenwinkel φm ≡ km∆x.<br />
- Die weitere Diskussion gestaltet sich leichter, wenn man eine äquivalente Matrixformulierung<br />
verwendet:<br />
� � � �� n+1<br />
n b 2d(cosφm −1) 1 bm =<br />
1 0 bn−1 �<br />
(3.24)<br />
m<br />
m<br />
b n m<br />
wobei die Matrix auf der rechten Seite Fehlerfortpflanzungsmatrix heißt<br />
und üblicherweise mit Gm bezeichnet wird. Nach der Diagonalisierung dieser<br />
Gleichung erhält man:<br />
b n+1<br />
m = λlb n m oder b n m = λlb n−1<br />
m , (3.25)<br />
wobei λl die Eigenwerte der Fehlerfortpflanzungsmatrix Gm sind.
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 73<br />
- Das Differenzschema ist stabil, falls<br />
∀l : |λl| ≤ 1 (3.26)<br />
gilt. Die Eigenwerte für die Richardson–Diskretisierung ergeben sich aus dem<br />
charakteristischen Polynom<br />
zu<br />
λ 2 −2d(cosφm −1)λ−1 = 0<br />
λ± = d(cosφm −1)± � d 2 (cosφm −1) 2 +1, (3.27)<br />
d.h. das Richardson–Schema ist instabil (da für cosφm �= 1 der Betrag des<br />
Eigenwerts λ− = −|D|− √ D 2 +1 mit D ≡ d(cosφm −1) < 0 größer 1 ist).<br />
• Diskretisierung nach DuFort–Frankel: (3 Zeitniveaus)<br />
f n+1<br />
k −fn−1<br />
k<br />
2∆t<br />
d.h. f n k<br />
= α fn k+1 +fn k−1 −(fn+1<br />
k +fn−1<br />
k )<br />
(∆x) 2 , (3.28)<br />
in (3.20) wurde durch den zentrierten Zeitmittelwert (fn+1<br />
k +fn−1<br />
k )/2 ersetzt.<br />
Für die Fehlerfortpflanzungsmatrix findet man<br />
Gm =<br />
� 2dcosφm<br />
1+d<br />
1 0<br />
1−d<br />
1+d<br />
�<br />
.<br />
Damit ergeben sich die folgenden Eigenwerte<br />
λ± = dcosφm<br />
1+d ±<br />
� �dcosφm<br />
1+d<br />
� 2<br />
+ 1−d<br />
1+d .<br />
Mit Hilfe der Dreiecks–Abschätzung |a±b| ≤ |a|+|b| folgt<br />
� �<br />
�dcosφm<br />
�<br />
|λ±| ≤ � �<br />
� 1+d � +<br />
��<br />
�<br />
� d<br />
�<br />
�<br />
2cos2 �<br />
φm 1−d<br />
�<br />
�<br />
+ �<br />
(1+d) 2 1+d � ,<br />
� �<br />
�<br />
|λ±| ≤ �<br />
d �<br />
�<br />
�1+d<br />
� +<br />
��<br />
�<br />
� d<br />
�<br />
�<br />
2<br />
�<br />
1−d<br />
�<br />
�<br />
+ �<br />
(1+d) 2 1+d � ,<br />
|λ±| ≤ d<br />
1+d +<br />
��<br />
�<br />
� d<br />
�<br />
�<br />
2 +1−d 2<br />
(1+d) 2<br />
�<br />
�<br />
�<br />
�<br />
�
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 74<br />
|λ±| ≤ d 1<br />
+ = 1,<br />
1+d 1+d<br />
d.h. beide Eigenwerte sind betragsmäßig kleiner gleich Eins für alle positiven d und<br />
fürbeliebigePhasenwinkelφm.DaheristdasDuFort–Frankel Differenzenschema<br />
unbeschränkt stabil.<br />
- Der Diskretisierungsfehler des DuFort–Frankel Schemas ist von der Ordnung<br />
O[(∆t) 2 ,(∆x) 2 ,(∆t/∆x) 2 ], d.h. damit das Schema konsistent ist, muss<br />
(∆t/∆x) 2 gegen Null gehen, wenn (∆t) 2 und (∆x) 2 gegen Null streben.<br />
Ist dies nicht der Fall und strebt (∆t/∆x) 2 stattdessen gegen einen konstanten<br />
Wert γ, ist das DuFort–Frankel Schema konsistent mit der hyperbolischen<br />
Differentialgleichung<br />
∂f<br />
∂t = α∂2 f<br />
∂x2 −αγ∂2 f<br />
∂t2 +O[∆3 ].<br />
Um dies zu sehen, entwickelt man die DuFort–Frankel Differenzengleichung<br />
(3.28) in eine Taylorreihe um n und k.<br />
- Der Gewinn an Stabilität wurde daher auf Kosten der Konsistenz erzielt!<br />
Man muss daher aus Genauigkeitsgründen den Zeitschritt ∆t so wählen, dass<br />
αγ = α(∆t/∆x) 2 ausreichend klein ist, d.h. trotz unbeschränkter Stabilität des<br />
Verfahrens ist eine Zeitschrittbeschränkung erforderlich.<br />
• Diskretisierung nach Crank–Nicholson:<br />
- Basiert auf zeitgemittelter Ableitung anstelle zeitgemittelter Funktion<br />
f n+1<br />
k −fn k<br />
∆t<br />
= α δ2 xf n+1<br />
k +δ2 xf n k<br />
2(∆x) 2<br />
(3.29)<br />
wobei δ2 xfn k ≡ fn k−1−2fn k +fn k+1 der zentrale Differenzenoperator (siehe 3.5) ist.<br />
- Differenzenverfahren ist unbeschränkt stabil und konsistent und von<br />
O[(∆t) 2 ,(∆x) 2 ]<br />
- Die Differenzengleichung lautet mit β ≡ α∆t/(∆x) 2 :<br />
− 1<br />
2 βfn+1<br />
k−1 +(1+β)fn+1<br />
1<br />
k −<br />
2 βfn+1<br />
1<br />
k+1 =<br />
2 βfn k−1 +(1−β)f n k + 1<br />
2 βfn k+1 (3.30)<br />
- Implizites Verfahren, da Werte zur Zeit t n+1 gekoppelt sind<br />
→ tridiagonales Gleichungssystem für f n+1<br />
k (k = 1,...,N)<br />
→ durch zweifache Rekursion effizient lösbar; erfordert nur 5N−4 Operationen,<br />
d.h. der Rechaufwand wächst linear mit der Anzahl der Stützstellen (siehe, z.B.<br />
Potter 1973)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 75<br />
• 4. Möglichkeit die Diffusionsgleichung zu diskretisieren<br />
Man drückt die Zeitableitung mit Hilfe der Vorwärtsdifferenzenapproximation (3.2)<br />
aus<br />
f n+1<br />
k −fn k<br />
∆t<br />
Damit folgt:<br />
= α fn k+1 −2fn k +fn k−1<br />
(∆x) 2<br />
f n+1<br />
k = βfn k−1 +(1−2β)f n k +βf n k+1.<br />
- Aus der von Neumann’sche Stabilitätsanalyse ergibt sich<br />
G = 1−2β(1−cosφ),<br />
und damit als Bedingung für die Stabilität des Schemas: β ≤ 0.5 bzw.<br />
∆t ≤ 1(∆x)<br />
2<br />
2<br />
α .<br />
(3.31)<br />
Das Schema ist also bedingt stabil mit ∆t ≤ τdiff(∆x)/2, d.h. der Zeitschritt<br />
muss kleiner sein als die Hälfte der Diffusionszeit durch eine Gitterzone<br />
- Sehr restriktive Bedingung an den Zeitschritt<br />
∆x → ∆x/2 =⇒ ∆t → ∆t/4 =⇒ CPU → 8·CPU<br />
• =⇒ In fast allen Anwendungen wird das Crank–Nicholsen Schema verwendet, um<br />
Diffusionsprobleme numerisch zu lösen.<br />
3.5.2 Advektionsgleichung<br />
Die Advektionsgleichung ist die Kontinuitätsgleichung (2.21) für eine vorgegebene konstante<br />
Geschwindigkeit v0 (o.B.d.A.: v0 > 0):<br />
∂ρ<br />
∂t +v0<br />
∂ρ<br />
= 0 (3.32)<br />
∂x<br />
Ersetzt man die räumliche Ableitung durch die Rückwärtsapproximation (3.3), erhält man<br />
die Differenzengleichung<br />
ρ n+1<br />
k+1/2 = ρn k+1/2 −β(ρ n k+1/2 −ρ n k−1/2), (3.33)<br />
wobei β ≡ v0∆t/∆x die Anzahl der Zonen ist, die die Flüssigkeit pro Zeitschritt durchströmt.
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 76<br />
• Die Stabilitätsanalyse ergibt:<br />
G = (1−β)+βcosφ−iβsinφ,<br />
d.h. das explizite Schema ist bedingt stabil, falls die CFL–Bedingung<br />
β ≤ 1 oder ∆t ≤ ∆x<br />
v0<br />
(3.34)<br />
erfüllt ist, oder anders ausgedrückt, keine Information darf sich schneller als eine<br />
Gitterzone pro Zeitschritt ausbreiten!.<br />
Diese Bedingung folgt auch direkt aus den Charakteristikengleichungen (2.29), da<br />
diese für die Ausbreitungsgeschwindigkeit von Information dx/dt ≤ |v0|+c fordern,<br />
unddamit∆t ≤ ∆x/(|v0|+c)implizieren,wasimFallevonc = 0(keineSchallwellen)<br />
identisch mit der Bedingung (3.34) ist.<br />
• Schreibt man (3.33) in der alternativen Form<br />
ρ n+1<br />
k+1/2 = (1−β)ρn k+1/2 +βρ n k−1/2, (3.35)<br />
so sieht man, dass sich für β = 1 die exakte Lösung ρ n+1<br />
k+1/2 = ρn k−1/2 ergibt.<br />
Allerdings ist die obige Differenzengleichung für β �= 1 sehr diffusiv. Dies zeigt sich,<br />
wenn man die Differenzengleichung um (k+1/2) und n in eine Tayloreihe entwickelt.<br />
Daraus folgt<br />
∂ρ<br />
∂t +v0<br />
∂ρ<br />
∂x<br />
= v0∆x<br />
2<br />
∂2ρ ∆t∂<br />
−<br />
∂x2 2<br />
2ρ ∂t2 +O� (∆x) 2� ,<br />
d.h. die Differenzengleichung ist konsistent mit der ursprünglichen Differentialgleichung,<br />
aber stark (∝ ∆x) diffusiv.<br />
3.5.3 Allgemeine Tatsachen<br />
• Differenzengleichungen enthalten Terme, die nicht in der Differentialgleichung enthalten<br />
sind. Die Konsequenzen, die daraus resultieren, lassen sich durch Taylorentwicklungen<br />
und Stabilitätsanalyse untersuchen.<br />
→ falls der führende Fehlerterm vom Typ ∂ 2 /∂x 2 ist, spricht man von numerischer<br />
Diffusion (siehe Abb.3.3).<br />
→ falls der führende Fehlerterm vom Typ ∂ 3 /∂x 3 ist, spricht man von numerischer<br />
Dispersion (siehe Abb.3.4).<br />
ACHTUNG: Im Allgemeinen sind beide Fehler am Werk!
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 77<br />
Abbildung 3.3:<br />
Abbildung 3.4:<br />
analytische Lösung<br />
numerische Lösung<br />
analytische Lösung<br />
numerische Lösung
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 78<br />
3.6 Exakte Riemannlöser: Verfahren von Godunov<br />
Indiesem<strong>Kapitel</strong>werdenDifferenzenverfahrenzurIntegrationderhydrodynamischenGleichungen<br />
erläutert, bei denen zur Berechnung der Flüsse (durch die Zellränder) an jedem<br />
Zonenrand ein lokales Riemannproblem exakt gelöst werden muss.<br />
Diese Vorgehensweise wurde von Godunov (1959) vorgeschlagen. Sein inzwischen als<br />
Godunov–Verfahren bezeichnetes Differenzenverfahren, ist aber räumlich nur von erster<br />
Ordnung genau. Riemannlöser–Verfahren höherer Ordnung wurden später von van Leer<br />
(1979),Collela&Woodward(1985)undMarquina(1994)entwickelt.BevorwirdasVerfahren<br />
von Godunov genauer diskutieren, sollen einige seiner Eigenschaften genannt werden.<br />
• Es ist ein ” upwind“ bzw. ” upstream“ Verfahren. Solche Verfahren verwenden<br />
einseitige Differenzenapproximationen, wobei die Richtung nicht global festgelegt ist,<br />
sondern von der lokalen Strömung abhängt.<br />
Für ein inkompressibles Gas lautet die einfachste ” upwind“–Diskretisierung der 1D<br />
Kontinuitätsgleichung in nicht-konservativer Form (Gl.3.13):<br />
ρ n+1<br />
i −ρni = − ∆t<br />
∆x un �<br />
ρi −ρi−1; ui > 0<br />
i<br />
ρi+1 −ρi; ui < 0<br />
. (3.36)<br />
Diese Form der Diskretisierung, die man als ” Donor Cell“ Diskretisierung bezeichnet,<br />
garantiert, dass das Abhängigkeitsgebiet der hyperbolischen Kontinuitätsgleichung<br />
korrekt berücksichtigt wird und insbesondere keine Störung in eine Überschallströmung<br />
hineinpropagieren kann (was unphysikalisch wäre).<br />
• Das Verfahren ist konservativ und monoton. Letzteres bedeutet, dass eine Anfangsverteilung<br />
so advektiert wird, dass keine neuen, numerisch bedingten Extrema<br />
auftreten.<br />
• Das Verfahren ist stark diffusiv. Dieser Nachteil ist bei modernen Godunov-<br />
Verfahren höherer Ordnung behoben.<br />
• Es handelt sich um ein ” shock-capturing“ Verfahren, d.h. Diskontinuitäten in der<br />
Strömung müssen nicht mit speziellen Techniken behandelt werden, sondern werden<br />
durch das Differenzenverfahren automatisch und ohne gitterabhängige Parameter<br />
(wiez.B.beiVerfahrendieeinekünstlicheViskositätverwenden)korrektbeschrieben.<br />
Wir betrachten ein allgemeines Anfangswertproblem für ein nicht-lineares System hyperbolischer<br />
partieller Differentialgleichungen (PDE) in einer Raumdimension:<br />
PDEs: Ut +F(U)x = 0<br />
Anfangswerte U(x,0) = U 0 (x)<br />
Randwerte: U(0,t) = Ul(t), U(L,t) = Ur(t)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 79<br />
Hierbei sind U(x,t) ein Vektor von Erhaltungsgrößen, F(U) der Flussvektor, U (0) (x)<br />
die Anfangsdaten zur Zeit t = 0 und [0,L] das Raumgebiet. Ul(t) und Ur(t) sind die<br />
zeitabhängigen linken und rechten Randbedingungen.<br />
Da auch nicht–stetige Lösungen auftreten können, muss man die integrale Form der<br />
Erhaltungsgleichungen<br />
� x2<br />
x1<br />
U(x,t2)dx =<br />
� x2<br />
x1<br />
� t2<br />
U(x,t1)dx+<br />
t1<br />
� t2<br />
F[U(x1,t)]dt−<br />
t1<br />
F[U(x2,t)]dt (3.37)<br />
verwenden. Hierbei ist [x1,x2] × [t1,t2] ein beliebiges Kontrollvolumen im betrachteten<br />
Raumzeitgebiet.<br />
Man diskretisiert das Raumgebiet [0,L] in M Zellen Ii = [xi−1/2,xi+1/2], die von äquidistanter<br />
Größe ∆x = xi+1/2 −xi−1/2 = L/M, i = 1,...,M sein sollen. Für eine gegebene<br />
Zelle Ii sind die Koordinaten des Zellzentrums xi und der beiden Zellränder xi−1/2, xi+1/2<br />
durch<br />
xi−1/2 = (i−1)∆x , xi = (i− 1<br />
2 )∆x , xi+1/2 = i∆x (3.38)<br />
gegeben. Die Diskretisierung des Zeitintervalls [0,T] erfolgt durch variable Zeitschritte ∆t,<br />
deren Größe sich aus der CFL-Bedingung oder aus der gewünschten Genauigkeit bestimmt.<br />
Das Verfahren von Godunov besteht aus vier Teilschritten:<br />
(1) Zu einem Zeitpunkt t = t n seien die Anfangsdaten � U(x,t n ) gegeben. Um deren<br />
Entwicklung bis zu dem Zeitpunkt t n+1 = t n + ∆t zu bestimmen, werden zunächst<br />
Zonenmittelwerte<br />
U n i ≡ 1<br />
� xi+1/2<br />
∆x xi−1/2 �U(x,t n )dx (3.39)<br />
berechnet.MitHilfederZonenmittelwertedefiniertmaneinestückweise konstante<br />
Verteilung U(x,t n ) gemäß<br />
U(x,t n ) = U n i<br />
x ∈ Ii = [xi−1/2,xi+1/2], i = 1,...,M ,<br />
die die Anfangsdaten � U(x,t n ) bis auf erste Ordnung genau approximiert.<br />
Die zu integrierenden Daten setzen sich nun aus einer Menge {U n i} konstanter<br />
Zuständezusammen,dieinFormvonErhaltungsgrößengegebensind.FürdieLösung<br />
des Riemannproblms ist es aber i.A. notwendig, die Erhaltungsgrößen durch die primitiven<br />
Variablen ρ,u und p auszudrücken (siehe 2.31).
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 80<br />
V n<br />
rarefaction shock contact discontinuity<br />
V n<br />
i−1<br />
x i−1<br />
x i− 1_ 2<br />
V n<br />
i<br />
x i<br />
x i+ 1_ 2<br />
V n<br />
i+1<br />
x i+1<br />
x i+ 3_ 2<br />
V n<br />
i+2<br />
x i+2<br />
x x x x i−1 i i+1<br />
i+2<br />
Abbildung 3.5: Illustration des Godunov–Verfahren<br />
(2) Man sucht nun als nächstes die Lösung des ursprünglichen Anfangs-<br />
Randwertproblems für die modifizierten Anfangsdaten U n i. Dazu muss an jedem<br />
Zonenrand xi+1/2 die Lösung eines lokalen Riemannproblems RP(U n i,U n i+1) berechnet<br />
werden (siehe Abb.3.5), die nur von den Zonenmittelwerten U n i (links) und<br />
U n i+1 (rechts) abhängt. Außerdem ist die Lösung selbstähnlich und hängt von der<br />
Koordinatenkombination (x/t) ab.<br />
Wir werden die Lösung im folgenden mit Ui+1/2(x/t) bezeichnen, wobei (x,t) lokale<br />
Koordinaten sind, die gemäß<br />
x = x−xi+1/2 , t = t−t n<br />
x ∈ [xi,xi+1] , t ∈ [t n ,t n+1 ]<br />
x ∈ [− ∆x<br />
2<br />
∆x , ] , t ∈ [0,∆t]<br />
2<br />
t n+1<br />
t n<br />
x<br />
(3.40)<br />
durch die globalen Koordinaten (x,t) gegeben sind. Offensichtlich gilt x = 0 falls<br />
x = xi+1/2 und t = 0 falls t = t n .
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 81<br />
(3) Falls ∆t hinreichend klein ist, d.h. falls keine Wechselwirkung zwischen benachbarten<br />
Riemannproblemen stattfindet, ist die globale Lösung � U(x,t) im Gebiet x ∈ [0,L]∧<br />
t ∈ [t n ,t n+1 ] durch<br />
�U(x,t) = Ui+1/2(x/t), x ∈ [xi,xi+1] (3.41)<br />
gegeben.<br />
(4) Die Lösung zur Zeit t n+1 = t n +∆t erhält man, in dem man einen neuen Satz von<br />
Zellmittelwerten U n+1<br />
i definiert. Dazu gibt es zwei Möglichkeiten.<br />
In der ersten Varianten des Godunov–Verfahrens definiert man die neuen Zellmittelwerte<br />
mit Hilfe der Integrale<br />
U n+1<br />
i<br />
� xi+1/2<br />
1<br />
= �U(x,t<br />
∆x xi−1/2<br />
n+1 )dx (3.42)<br />
für jede Zone Ii. Diese Mittelung ist allerdings nur sinvoll durchführbar, wenn innerhalb<br />
der Zone Ii keine Wellen im Zeitraum ∆t miteinander wechselwirken. Daraus<br />
ergibt sich die folgende (CFL) Bedingung an die Größe des Zeitschritts:<br />
∆t ≤ 1 ∆x<br />
, (3.43)<br />
2<br />
S n max<br />
wobei S n max die maximale Wellengeschwindigkeit im Rechengebiet zur Zeit t n ist.<br />
Infolge der Zeitschrittbedingung (3.43) beeinflussen nur zwei Riemannlösungen die<br />
Zone Ii, nämlich die nach rechts popagierenden Wellen von Ui−1/2(x/t) und die nach<br />
links propagierenden Wellen von Ui+1/2(x/t). Daher folgt aus (3.42) unter Verwendung<br />
von (3.41)<br />
U n+1<br />
i<br />
� 1<br />
1 2<br />
=<br />
∆x<br />
∆x �<br />
x<br />
�<br />
Ui−1/2 dx+<br />
0 ∆t<br />
1<br />
� 0<br />
∆x − 1<br />
2∆x �<br />
x<br />
�<br />
Ui+1/2 dx. (3.44)<br />
∆t<br />
Diese erste Variante des Godunov–Verfahrens hat zwei Nachteile: (i) eine etwas restriktivere<br />
CFL–Bedingung und (ii) die Berechnung der Integrale in (3.44) ist unter<br />
Umständen aufwändig<br />
Die zweite Variante des Godunov–Verfahrens ist numerisch attraktiver und kann<br />
in der konservativen Formulierung<br />
U n+1<br />
i = Uni + ∆t<br />
� �<br />
Fx −Fi+1/2<br />
i−1/2 ∆x<br />
(3.45)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 82<br />
geschrieben werden, wobei der numerische Fluss am Zellenrand durch<br />
Fi+1/2 = F � Ui+1/2(0) �<br />
gegeben ist, falls der Zeitschritt die Bedingung<br />
∆t ≤ ∆x<br />
S n max<br />
erfüllt.<br />
Beweis:<br />
(3.46)<br />
(3.47)<br />
Der Integrand � U(x,t n+1 ) in (3.42) ist eine exakte Lösung der Erhaltungsgleichungen<br />
(siehe 3.41). Daher kann man die integrale Form der Erhaltungsgleichung (3.37) mit<br />
dem Kontrollvolumen [xi−1/2,xi+1/2]×[t n ,t n+1 ] anwenden. Es folgt<br />
� xi+1/2<br />
mit<br />
xi−1/2<br />
�U(x,t n+1 )dx =<br />
+<br />
� xi+1/2<br />
xi−1/2<br />
� ∆t<br />
0<br />
�U(x,t n )dx<br />
� �<br />
F �U(xi−1/2,t) dt−<br />
� ∆t<br />
0<br />
� �<br />
F �U(xi+1/2,t) dt (3.48)<br />
�U(xi−1/2,t) =Ui−1/2(0) = const (3.49)<br />
�U(xi+1/2,t) =Ui+1/2(0) = const (3.50)<br />
für ∆t ≤ ∆x/S n max, wobei Ui−1/2(0) die Lösung von RP(U n i−1,U n i) und Ui+1/2(0) die<br />
Lösung von RP(U n i,U n i+1) entlang x/t = 0 ist. Division durch ∆x ergibt<br />
� xi+1/2<br />
1<br />
�U(x,t<br />
∆x xi−1/2<br />
n+1 )dx = 1<br />
� xi+1/2<br />
�U(x,t<br />
∆x xi−1/2<br />
n )dx<br />
+ ∆t �<br />
F(Ui−1/2(0))−F(Ui+1/2(0))<br />
∆x<br />
�<br />
und mit (3.42) folgt daraus die Behauptung (3.45).<br />
(3.51)<br />
DiesezweiteVariantedesGodunov–VerfahrensbedingteinewenigerrestriktiveCFL–<br />
Bedingung, die auch gilt, wenn Wellen innerhalb von ∆t in der Zelle Ii miteinander<br />
wechselwirken, vorausgesetzt dass daraus keine Wellenbeschleunigung resultiert (Linearitätsannahme).
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 83<br />
Bei der Berechnung des Zeitschritts gemäß der notwendigen Bedingung (3.47) geht man<br />
wie folgt vor:<br />
• üblich: S n max = Maxi{|u n i|+a n i}, wobei u n i die Strömungsgeschwindigkeit und a n i<br />
die Schallgeschwindigkeit sind.<br />
Diese Form kann zur Unterschätzung von S n max führen, z.B. bei einem stationären<br />
Anfangszustand (u n i = 0), da dann nur a n i in S n max eingeht und daher u.U. ein zu<br />
großer Anfangszeitschritt gewählt wird.<br />
• verlässlich: S n max = Maxi<br />
�<br />
|SL i+1/2 |,|SR i+1/2 |<br />
�<br />
, wobei |S L i+1/2 | und |SR i+1/2<br />
| die be-<br />
kannten Wellengeschwindigkeiten der nichtlinearen Wellen (Stöße, Verdünnungwellen)<br />
des Riemannproblems sind.<br />
• Üblicherweise verwendet man einen zusätzlichen Sicherheitsfaktor gemäß<br />
∆t = CCFL<br />
∆x<br />
S n max<br />
mit 0 < CCFL ≤ 1, wobei in der Praxis Werte von CCFL = 0.2...0.8 üblich sind.<br />
(3.52)<br />
3.7 Approximative Riemannlöser: Verfahren von Roe<br />
Exakte Riemannlöser erfordern die Kenntnis der vollen spektralen Dekomposition (Eigenwerte,<br />
recht und linke Eigenvektoren) des zu lösenden hyperbolischen Differentialgleichungssystems.<br />
Ist diese analytische Information nicht vorhanden oder ist die Lösung des<br />
exakten Riemann–Problems zu aufwändig (z.B. im Falle von relativistischen Strömungen,<br />
wo anstelle einer algebraischen Gleichung eine gewöhnliche Differentialgleichung zu lösen<br />
ist), kann man approximative Riemannlöser verwenden. Der von P.Roe vorgeschlagene<br />
Lösungsweg basiert auf der lokalen Linearisierung des Problems.<br />
Dazu betrachten wir nochmals das Anfangswertproblem (3.6) für den Zustandsvektor<br />
U. Mit Hilfe der Jacobi-Matrix A ≡ ∂F/∂U des Flussvektors F(U) schreiben wir die<br />
Differentialgleichung in quasilinearer Form (siehe Kap.2.1 und 2.3)<br />
Ut +A(U)Ux = 0. (3.53)<br />
Ersetzt man die Jacobi-Matrix A(U) durch die konstante Jacobi-Matrix � A(UL,UR),<br />
so erhält man ein lineares System mit konstanten Koeffizienten:<br />
Ut + � AUx = 0, (3.54)<br />
d.h. man hat das ursprüngliche Riemann-Problem (3.53) durch ein lineares Problem (3.54)<br />
ersetzt, das dann exakt gelöst wird.
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 84<br />
Die Matrix � A muss folgende Eigenschaften besitzen:<br />
(a) � A hat reelle Eigenwerte und einen kompletten Satz von linear unabhängigen rechten<br />
Eigenvektoren (Hyperbolizität)<br />
(b) � A ist konsistent zur ursprünglichen Jacobi–Matrix, d.h. � A(U,U) = A(U)<br />
(c) Es gelten die Erhaltungsätze F(UR)−F(UL) = � A(UR −UL)<br />
Die Wellenstärken �αi = �αi(UL,UR) ergeben sich aus der Projektion der Zustandsdifferenz<br />
∆U = UR −UL auf die rechten Eigenvektoren<br />
∆U =<br />
m�<br />
�αi � R (i)<br />
i=1<br />
und die numerischen Flüsse gemäß<br />
F1+1/2(Roe) = 1<br />
2 (FL +FR)− 1<br />
2<br />
Demnach benötigt man für den approximativen Roe–Löser:<br />
(3.55)<br />
m�<br />
�αi| � λi|R (i) . (3.56)<br />
i=1<br />
• Eine Matrix � A mit den Eigenschaften (a) - (c),<br />
• Wellenstärken �αi,<br />
• die Eigenwerte � λi der Matrix � A,<br />
• die rechten Eigenvektoren R (i) der Matrix � A,<br />
aber nicht explizit die Jacobi–Matrix � A(UL,UR).<br />
Um einen Eindruck von der Qualität exakter und approximativer Riemannlöser zu<br />
bekommen, betrachten wir vier Stoßrohr-Probleme (siehe Tabelle3.1 und Abbildungen3.6<br />
bis 3.9, sowie die MPEG–Filme auf der Web–Seite), die bis auf Problem4 dem Buch von<br />
Toro (Kap. 6.4) entnommen sind.<br />
Tabelle 3.1: Anfangsdaten für Stoßrohr-Testprobleme<br />
Test ρL uL pL ρR uR pR<br />
1 1.0 0.75 1.0 0.125 0.0 0.1<br />
2 1.0 -2.0 0.4 1.0 2.0 0.4<br />
3 1.0 0.0 1000.0 1.0 0.0 0.01<br />
4 5.99924 19.5975 460.894 5.99242 -6.19633 46.0950
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 85<br />
Abbildung3.6:DieLösungdesTestproblems1bestehtauseinernachrechtspropagierenden<br />
StoßwellegefolgtvoneinerebenfallsnachrechtspropagierendenKontaktunstetigkeit,sowie<br />
einer nach links laufenden sonischen Verdünnungswelle. (V←T→S→)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 86<br />
Abbildung 3.7: Die Lösung des Testproblems2 besteht aus zwei symmetrischen<br />
Verdünnungswellen, die in entgegengesetzte Richtung propagieren und annähernd ein Vakuumgebiet<br />
erzeugen, sowie aus einer stationären Kontaktunstetigkeit (V←T V→)<br />
.
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 87<br />
Abbildung 3.8: Die Lösung des Testproblems3 besteht aus einem nach rechts propagierenden<br />
starken Stoß und einer in dieselbe Richtung propagierenden Kontaktunstetigkeit,<br />
sowie aus einer nach links laufenden Verdünnungswelle (V←T→S→)
KAPITEL 3. DISKRETISIERUNGSVERFAHREN 88<br />
Abbildung 3.9: Die Lösung des Testproblems4 besteht drei starken Diskontinuitäten (Stoß,<br />
Kontaktunstetigkeit, Stoß), die alle nach rechts propagieren (S→T→S→)