Was wäre eine gute Finite-Differenzen-Diskretisierung für die folgende Gleichung:
?
Wir können den 1D Fall nehmen:
Aus irgendeinem Grund sind alle Schemata, die ich finden kann, für die Formulierung in Lagrange-Koordinaten. Ich habe mir vorerst dieses Schema ausgedacht (ohne Berücksichtigung des j- Index):
Scheint aber wirklich instabil zu sein oder einen schrecklichen Stabilitätszustand zu haben. Ist das so?
Die Geschwindigkeit wird tatsächlich durch das Darcy-Gesetz u = - k berechnet. Außerdem haben wir die Zustandsgleichung. Das Gesamtsystem besteht auch aus einer Energiegleichung und der Zustandsgleichung für das ideale Gas. Die Geschwindigkeiten können negativ werden.
Antworten:
Sie betrachten die Massenerhaltungsgleichung:
Wenn man die Massenentwicklung pro Volumeneinheit betrachtet, läuft dies auf die Dichte-Advektionsgleichung in Flussform hinaus:
Das Gute daran ist, dass es sich nur um die Advektionsgleichung eines beliebigen Skalarfelds handelt (in unserem Fall ist dies die Dichte ) und dass es (relativ) leicht zu lösen ist, vorausgesetzt, dass geeignete zeitliche und räumliche Differenzierungsschemata sowie initiale und Randbedingungen.ρ
Bei der Entwicklung eines Schemas mit endlichen Differenzen achten wir auf Konvergenz, Stabilität und Genauigkeit. Ein Schema konvergiert, wenn wennΔt→0. Die Stabilität der Schemata stellt sicher, dass die MengeAendlich bleibt, wennt→∞. Die formale Genauigkeit des Schemas gibt an, wo der Kürzungsfehler in der Taylor-Expansionsreihe der partiellen Ableitung liegt. In einem CFD-Lehrbuch finden Sie weitere Einzelheiten zu diesen grundlegenden Eigenschaften eines Differenzierungsschemas.ΔAΔt→∂A∂t Δt→0 A t→∞
Der einfachste Ansatz besteht nun darin, direkt zum Upstream-Differenzieren erster Ordnung überzugehen. Dieses Schema ist eindeutig positiv, konservativ und rechnerisch effizient. Die ersten beiden Eigenschaften sind besonders wichtig, wenn wir die Entwicklung einer immer positiven Größe (dh Masse oder Dichte) modellieren.
Schauen wir uns der Einfachheit halber den 1-D-Fall an:
Es ist jetzt zweckmäßig, den Fluss zu definieren , so dass:Φ=ρu
Hier ist eine schematische Darstellung dessen, was wir simulieren:
Wir bewerten die Entwicklung von in Zelle i . Der Nettogewinn oder -verlust kommt aus der Differenz von dem, was kommt, Φ i - 1 / 2 und was geht, Φ i + 1 / 2ρ i Φi−1/2 Φi+1/2 . Hier beginnen wir, von der Antwort des Paulus abzuweichen. Bei der echten konservativen Differenzierung in Aufwärtsrichtung wird die Größe im Zellzentrum durch die Geschwindigkeit an der Zellkante in Bewegungsrichtung übertragen. Mit anderen Worten, wenn Sie sich vorstellen, dass Sie die empfohlene Menge sind und in der Mitte der Zelle sitzen, werden Sie durch die Geschwindigkeit am Zellenrand in die vor Ihnen liegende Zelle befördert. Die Auswertung des Flusses am Zellrand als Produkt aus Dichte und Geschwindigkeit am Zellrand ist nicht korrekt und konserviert die empfohlene Menge nicht.
Eingehende und ausgehende Flüsse werden wie folgt bewertet:
Die obige Behandlung der Flussdifferenzierung stellt eine Upstream-Definitivität sicher. Mit anderen Worten, es stellt die Differenzierungsrichtung gemäß dem Vorzeichen der Geschwindigkeit ein.
Das Stabilitätskriterium Courant-Friedrichs-Lewy (CFL) für die Zeitdifferenzierung mit einfacher erster Ordnung lautet wie folgt:
Beachten Sie, dass das CFL-Stabilitätskriterium in zwei Dimensionen strenger ist:
woc u2+ v2------√ .
Einige Dinge zu beachten. Dieses Schema ist möglicherweise für Ihre Anwendung geeignet oder nicht, je nachdem, welche Art von Prozess Sie simulieren. Dieses Schema ist sehr diffusiv und eignet sich für sehr gleichmäßige Strömungen ohne scharfe Gefälle. Es ist auch diffusiver für kürzere Zeitschritte. Im 1-D-Fall erhalten Sie eine fast exakte Lösung, wenn die Gradienten sehr klein sind und wennμ = 1 . Im 2-D-Fall ist dies nicht möglich und die Diffusion ist anisotrop.
Wenn Ihr physisches System Stoßwellen oder hohe Gradienten anderer Art berücksichtigt, sollten Sie die Differenzierung höherer Ordnung (z. B. 3. oder 5. Ordnung) vorab untersuchen. Es kann sich auch lohnen, einen Blick auf die Familie der flusskorrigierten Transportsysteme zu werfen (Zalesak, 1979, JCP). Antidiffusionskorrektur für das obige Schema von Smolarkiewicz (1984, JCP); MPDATA-Schemafamilie von Smolarkiewicz (1998, JCP).
Für die Zeitdifferenzierung kann die Euler-Differenzierung erster Ordnung für Ihre Anforderungen zufriedenstellend sein. Andernfalls sollten Sie Methoden höherer Ordnung wie Runge-Kutta (iterativ) oder Adams-Bashforth und Adams-Moulton (mehrstufig) untersuchen.
Es lohnt sich, in einem Lehrbuch für CFD-Absolventen nach einer Zusammenfassung der oben genannten und vieler weiterer Programme zu suchen.
quelle
In the 1D case, you don't want to use a forward or central difference scheme for the spatial derivative term(ddx) because they are numerically unstable. Instead, it is better to discretize the equation with an explicit backwards (upwind) finite difference for the spatial derivative:
If the velocities are positive, then this backward scheme is stable. If they are negative, then a forward difference will work. Regardless, there is always a constraint on your choice ofΔx and Δt (courant number) to make the scheme stable.
quelle