Godunovs Schema – Wikipedia

In der numerischen Analyse und der rechnergestützten Fluiddynamik Godunovs Schema ist ein konservatives numerisches Schema, das 1959 von SK Godunov zur Lösung partieller Differentialgleichungen vorgeschlagen wurde. Man kann sich diese Methode als eine konservative Methode mit endlichem Volumen vorstellen, die exakte oder ungefähre Riemann-Probleme an jeder Grenze zwischen Zellen löst. In seiner Grundform ist Godunovs Methode sowohl räumlich als auch zeitlich genau erster Ordnung, kann jedoch als Basisschema für die Entwicklung von Methoden höherer Ordnung verwendet werden.

Grundschema[edit]

Nach dem klassischen Finite-Volume-Methoden-Framework versuchen wir, eine endliche Menge diskreter Unbekannter zu verfolgen.

Q.ichn=1Δx∫xich– –1/.2xich+1/.2q((tn,x)dx{ displaystyle Q_ {i} ^ {n} = { frac {1} { Delta x}} int _ {x_ {i-1/2}} ^ {x_ {i + 1/2}} q ( t ^ {n}, x) , dx}

bei dem die

xich– –1/.2=xniedrig+((ich– –1/.2)Δx{ displaystyle x_ {i-1/2} = x _ { text {low}} + left (i-1/2 right) Delta x}

und

tn=nΔt{ displaystyle t ^ {n} = n Delta t}

bilden eine diskrete Menge von Punkten für das hyperbolische Problem:

qt+((f((q))x=0,{ displaystyle q_ {t} + (f (q)) _ {x} = 0,}

wo die Indizes

t{ displaystyle t}

und

x{ displaystyle x}

Geben Sie die zeitlichen und räumlichen Ableitungen an. Wenn wir das hyperbolische Problem über ein Kontrollvolumen integrieren

[xi−1/2,xi+1/2],{ displaystyle [x_{i-1/2},x_{i+1/2}],}

Wir erhalten eine Methode der Linienformulierung (MOL) für die räumlichen Zellmittelwerte:

t=tn{ displaystyle t = t ^ {n}}

zur Zeit t=tn+1{ displaystyle t = t ^ {n + 1}}

ergibt die genaue Aktualisierungsformel:
Q.ichn+1=Q.ichn– –1Δx∫tntn+1((f((q((t,xich+1/.2))– –f((q((t,xich– –1/.2)))dt.{ displaystyle Q_ {i} ^ {n + 1} = Q_ {i} ^ {n} – { frac {1} { Delta x}} int _ {t ^ {n}} ^ {t ^ { n + 1}} left (f (q (t, x_ {i + 1/2})) – f (q (t, x_ {i-1/2})) right) , dt.}

Godunovs Methode ersetzt das Zeitintegral jedes einzelnen

∫tntn+1f((q((t,xich– –1/.2))dt{ displaystyle int _ {t ^ {n}} ^ {t ^ {n + 1}} f (q (t, x_ {i-1/2})) , dt}

mit einer Forward-Euler-Methode, die für jedes Unbekannte eine vollständig diskrete Aktualisierungsformel liefert

Q.ichn{ displaystyle Q_ {i} ^ {n}}

. Das heißt, wir approximieren die Integrale mit
∫tntn+1f((q((t,xich– –1/.2))dt≈Δtf↓((Q.ich– –1n,Q.ichn),{ displaystyle int _ {t ^ {n}} ^ {t ^ {n + 1}} f (q (t, x_ {i-1/2})) , dt approx Delta tf ^ { Pfeil nach unten} left (Q_ {i-1} ^ {n}, Q_ {i} ^ {n} right),}

wo

f↓((ql,qr){ displaystyle f ^ { downarrow} left (q_ {l}, q_ {r} right)}

ist eine Annäherung an die genaue Lösung des Riemann-Problems. Aus Gründen der Konsistenz nimmt man das an

f↓((ql,qr)=f((ql) wenn ql=qr,{ displaystyle f ^ { downarrow} (q_ {l}, q_ {r}) = f (q_ {l}) quad { text {if}} quad q_ {l} = q_ {r},}

und das

f↓{ displaystyle f ^ { downarrow}}

nimmt im ersten Argument zu und im zweiten Argument ab. Bei Skalarproblemen wo

f‘((q)>0{ displaystyle f ‘(q)> 0}

f↓((ql,qr)=f((ql){ displaystyle f ^ { downarrow} (q_ {l}, q_ {r}) = f (q_ {l})}

.

Das vollständige Godunov-Schema erfordert die Definition eines ungefähren oder exakten Riemann-Lösers, ist jedoch in seiner grundlegendsten Form gegeben durch:

Q.ichn+1=Q.ichn– –λ((f^ich+1/.2n– –f^ich– –1/.2n),λ=ΔtΔx,f^ich– –1/.2n=f↓((Q.ich– –1n,Q.ichn){ displaystyle Q_ {i} ^ {n + 1} = Q_ {i} ^ {n} – lambda left ({ hat {f}} _ {i + 1/2} ^ {n} – { hat {f}} _ {i-1/2} ^ {n} right), quad lambda = { frac { Delta t} { Delta x}}, quad { hat {f}} _ {i-1/2} ^ {n} = f ^ { downarrow} left (Q_ {i-1} ^ {n}, Q_ {i} ^ {n} right)}

Lineares Problem[edit]

Im Falle eines linearen Problems, wo

f((q)=einq{ displaystyle f (q) = aq}

und ohne Verlust der Allgemeinheit werden wir das annehmen

ein>0{ displaystyle a> 0}

Q.ichn+1=Q.ichn– –ν((Q.ichn– –Q.ich– –1n),ν=einΔtΔx,{ displaystyle Q_ {i} ^ {n + 1} = Q_ {i} ^ {n} – nu left (Q_ {i} ^ {n} -Q_ {i-1} ^ {n} right) , quad nu = a { frac { Delta t} { Delta x}},}

Dies ergibt das klassische Finite-Volumen-Schema erster Ordnung mit Aufwind, dessen Stabilität dies erfordert

ν=|einΔtΔx|≤1{ displaystyle nu = left | a { frac { Delta t} { Delta x}} right | leq 1}

.

Dreistufiger Algorithmus[edit]

Folgen Hirschumfasst das Schema drei verschiedene Schritte, um die Lösung bei zu erhalten

t=((n+1)Δt{ displaystyle t = (n + 1) Delta t ,}

aus der bekannten Lösung bei

t=nΔt{ displaystyle {t = n Delta t} ,}

, wie folgt:

Schritt 1 Definieren Sie stückweise konstante Approximation der Lösung bei

t=((n+1)Δt{ displaystyle {t = (n + 1) Delta t} ,}

. Da die stückweise konstante Näherung ein Durchschnitt der Lösung über die Größe der Zelle ist

Δx{ displaystyle { Delta x} ,}

ist der räumliche Fehler in Ordnung

Δx{ displaystyle { Delta x} ,}

und daher wird das resultierende Schema räumlich genau erster Ordnung sein. Es ist zu beachten, dass diese Annäherung einer Darstellung der Methode mit endlichem Volumen entspricht, wobei die diskreten Werte Mittelwerte der Zustandsvariablen über die Zellen darstellen. Genaue Beziehungen für die gemittelten Zellwerte können aus den integralen Erhaltungsgesetzen erhalten werden.

Schritt 2 Erhalten Sie die Lösung für das lokale Riemann-Problem an den Zellschnittstellen. Dies ist der einzige physische Schritt des gesamten Verfahrens. Die Diskontinuitäten an den Grenzflächen werden in einer Überlagerung von Wellen aufgelöst, die lokal die Erhaltungsgleichungen erfüllen. Die ursprüngliche Godunov-Methode basiert auf der genauen Lösung der Riemann-Probleme. Alternativ können jedoch ungefähre Lösungen angewendet werden.

Schritt 3 Durchschnitt der Zustandsvariablen nach einem Zeitintervall

Δt{ displaystyle { Delta t} ,}

. Die nach Schritt 2 erhaltenen Zustandsvariablen werden über jede Zelle gemittelt und definieren eine neue stückweise konstante Näherung, die sich aus der Wellenausbreitung während des Zeitintervalls ergibt

Δt{ displaystyle { Delta t} ,}

. Um konsistent zu sein, das Zeitintervall

Δt{ displaystyle { Delta t} ,}

sollte so begrenzt werden, dass die von einer Grenzfläche ausgehenden Wellen nicht mit Wellen interagieren, die an den benachbarten Grenzflächen erzeugt werden. Andernfalls würde die Situation innerhalb einer Zelle durch interagierende Riemann-Probleme beeinflusst. Dies führt zur CFL-Bedingung

|einmax|Δt<Δx/.2{ displaystyle | a _ { max} | Delta t < Delta x / 2 ,}

wo

|einmax|{ displaystyle | a _ { max} | ,}

ist die maximale Wellengeschwindigkeit, die aus den Zelleigenwerten des Lokals erhalten wird Jacobianische Matrix.

Der erste und dritte Schritt sind ausschließlich numerischer Natur und können als Projektionsphase, unabhängig vom zweiten, physischen Schritt, dem Entwicklungsstadium. Daher können sie modifiziert werden, ohne die physikalische Eingabe zu beeinflussen, beispielsweise indem die stückweise konstante Approximation durch eine stückweise lineare Variation innerhalb jeder Zelle ersetzt wird, was zur Definition von raumgenauen Schemata zweiter Ordnung wie dem MUSCL-Schema führt.

Siehe auch[edit]

Verweise[edit]

  • Godunov, SK (1959). “Разностный метод численного расчета разрывных решений уравнений гидродинамики” [A Difference Scheme for Numerical Solution of Discontinuous Solution of Hydrodynamic Equations]. Matte. Sbornik. 47: 271–306. HERR 0119433. Zbl 0171.46204. Übersetzte US Joint Publ. Res. Service, JPRS 7226, 1969.
  • Hirsch, C. (1990). Numerische Berechnung interner und externer Flüsse. vol 2. Wiley. ISBN 0-471-92452-0.
  • Leveque, Randy J. (2002). Finite-Volumen-Methoden für hyperbolische Probleme. Cambridge University Press. ISBN 0-521-81087-6.

Weiterführende Literatur[edit]