20.02.2013 Aufrufe

Kapitel 3 Diskretisierungsverfahren

Kapitel 3 Diskretisierungsverfahren

Kapitel 3 Diskretisierungsverfahren

MEHR ANZEIGEN
WENIGER ANZEIGEN

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→)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!