Welche Methoden können sicherstellen, dass physikalische Größen während einer PDE-Simulation positiv bleiben?

18

Physikalische Größen wie Druck, Dichte, Energie, Temperatur und Konzentration sollten immer positiv sein, aber numerische Methoden berechnen manchmal negative Werte während des Lösungsprozesses. Dies ist nicht in Ordnung, da die Gleichungen komplexe oder unendliche Werte berechnen (normalerweise stürzt der Code ab). Mit welchen numerischen Methoden kann sichergestellt werden, dass diese Mengen positiv bleiben? Welche dieser Methoden ist am effizientesten?

Jed Brown
quelle
Es kann hilfreich sein, anzugeben, an welchen Arten von PDEs Sie interessiert sind. Die folgenden Antworten beziehen sich hauptsächlich auf hyperbolische PDEs.
David Ketcheson

Antworten:

14

Die gebräuchlichste Methode besteht darin, negative Werte auf eine kleine positive Zahl zurückzusetzen. Dies ist natürlich keine mathematisch fundierte Lösung. Ein besserer allgemeiner Ansatz, der möglicherweise funktioniert und einfach ist, besteht darin, den Zeitschritt zu verkleinern.

Bei der Lösung von hyperbolischen PDEs treten häufig negative Werte auf, da das Auftreten von Stößen zu Schwingungen führen kann, die dazu neigen, negative Werte zu erzeugen, wenn vakuumnahe Zustände in der Nähe des Schocks vorliegen. Durch die Verwendung einer TVD - Methode (Total Variation Reduining) oder einer anderen nicht oszillierenden Methode ( ENO, WENO ) kann diese Tendenz verringert werden. Diese Methoden basieren auf der Verwendung nichtlinearer Begrenzer zur Berechnung von Ableitungen der Lösung. Möglicherweise erhalten Sie jedoch aus mehreren Gründen immer noch negative Werte:

  • Wenn Sie die Linienmethode verwenden und einen Zeitintegrator höherer Ordnung anwenden. Die meisten TVD-Schemata sind nachweislich nur im semidiskreten Sinne oder nach der Euler-Methode TVD. Für eine Zeitintegration höherer Ordnung sollten Sie eine stark stabilitätserhaltende (SSP) Zeitdiskretisierung verwenden. Diese Schemata werden auch als "kontrahierend" oder "monotoner Erhalt" bezeichnet. Es gibt ein aktuelles Buch zu diesem Thema von Sigal Gottlieb, Chi-Wang Shu und mir.
  • Wenn Sie für Gleichungssysteme keine lokale charakteristische Zerlegung verwenden, lautet Ihre Lösung nicht TVD (TVD-Schemata besitzen diese Eigenschaft nur für skalare Probleme). Am besten rekonstruieren / interpolieren Sie also in Kenngrößen.
  • Wenn Sie ein nichtlineares System haben, können negative Werte auftreten, auch wenn Sie die lokale Merkmalszerlegung verwenden. Beispielsweise kann gezeigt werden, dass jeder linearisierte Riemann-Löser (wie z. B. ein Roe-Löser) für die Flachwassergleichungen oder die Euler-Gleichungen negative Werte unter ausreichend herausfordernden Bedingungen erzeugt. Eine Lösung besteht darin, einen HLL-Löser (oder eine Variante von HLL) zu verwenden. Einige davon sind nachweislich positiv.
  • TVD-Programme sind nur zweiter Ordnung; Nichtoszillatorische Schemata höherer Ordnung wie WENO erfüllen nicht strikt die TVD- oder Maximalprinzipien. Aber eine neue Modifikation dieser Schemata höherer Ordnung tut es; Es wurde in mehreren neueren Arbeiten von Xiangxiong Zhang (einem Schüler von Chi-Wang Shu) entwickelt.

Es gibt natürlich viele andere spezialisierte Ansätze für bestimmte Gleichungen, wie zum Beispiel in David Georges GeoClaw-Code, der einen Riemann-Löser mit zusätzlichen nicht-physikalischen Wellen verwendet, um die Positivität zu erzwingen.

David Ketcheson
quelle
6

Angenommen, wir lösen hyperbolische Gleichungen ohne Quellenbegriffe und gehen davon aus, dass wir physikalische Anfangsbedingungen angeben, und stellen sicher, dass das von uns verwendete numerische Schema Total Variation Diminishing ist ein guter Weg, um die "Physikalität" der berechneten Lösung sicherzustellen. Da ein TVD-Schema die Monotonie bewahrt, werden keine neuen Minima oder Maxima erstellt, und die Lösung bleibt an die Anfangswerte gebunden, die wir hoffentlich richtig eingestellt haben. Das Problem ist natürlich, dass TVD-Programme nicht die offensichtlichsten sind. Unter den linearen Schemata sind nur Schemata erster Ordnung TVD (Godunov 1954). Daher wurde seit den 50er Jahren eine Vielzahl von nichtlinearen TVD-Schemata entwickelt, um eine hohe Genauigkeit und Monotonie für die Lösung hyperbolischer Gleichungen zu kombinieren.

Für meine Anwendungen, bei denen Navier-Stokes-Gleichungen mit großen Druck- / Dichtegradienten gelöst werden , verwenden wir ein hybrides MUSCL- Zentralschema, um die großen Gradienten / Diskontinuitäten zu erfassen und eine gute Genauigkeit von ihnen fernzuhalten. Das erste MUSCL-Schema (MUSCL steht für Monotone Upstream-Centered Schemes for Conservation Laws) wurde 1979 von Van Leer entwickelt.

Wenn Sie mehr über dieses Thema erfahren möchten, konsultieren Sie bitte die Werke von Harten, Van Leer, Lax, Sod und Toro.

FranzösischKheldar
quelle
4

Die obigen Antworten gelten für zeitabhängige Probleme, Sie können jedoch auch Positivität in einer einfachen elliptischen Gleichung fordern. In diesem Fall könnten Sie es als Variationsungleichheit formulieren und die Grenzen für die Variablen angeben.

In PETSc gibt es zwei VI-Löser. Man verwendet eine platzreduzierte Methode, bei der Variablen in aktiven Nebenbedingungen aus dem zu lösenden System entfernt werden. Die andere Methode verwendet eine halbglatte Newton-Methode .

Matt Knepley
quelle
3

EIN

EINu=b
AA1

BRn×nB0B

(B0)(uv  BuBv,  u,vRn)

EIN

0b  0=EIN-10EIN-1b=u
bb0

Üblicherweise werden Diskretisierungsschemata, die zu einer M-Matrix führen, als monotone Schemata bezeichnet, und dies sind jene Schemata, die die Nicht-Negativität bewahren.

MH
quelle
M