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?
pde
fluid-dynamics
hyperbolic-pde
Jed Brown
quelle
quelle
Antworten:
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:
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.
quelle
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.
quelle
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 .
quelle
Ü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.
quelle