Bedeutung des Zeitschrittwerts für die Genauigkeit einer transienten CFD-Simulation

8

Überblick

Mein Verständnis ist, dass man einen Zeitschritt (wobei h - kleinstes Netzelement, v - Geschwindigkeit) verwenden sollte, um ein genaues Ergebnis zu erhalten.Δt<hv

Aber wie wichtig ist das wirklich für die Genauigkeit der Simulation? Ist es so wichtig wie ein unabhängiges Netz?

Gibt es überhaupt eine zeitschrittunabhängige Lösung? Kann ein sehr kleines tatsächlich schlecht für die Genauigkeit der Lösung sein?Δt

Ich führe eine Computeroptimierung durch, bei der Geschwindigkeit wichtig ist. Wie oft darf ich ?Δt>hv

Außerdem führe ich eine transiente Simulation durch, bei der sich von null auf 60 m / s ändert. Sollte ich es einfach auf das kleinste s (ich kann nicht dynamisch ändern )?.vΔt0.0007Δt

Problemdetails

Ich verwende ein Euler-Euler-Modell (in Fluent ™), um die Partikel-Luft-Wechselwirkung in einem Fließbett zu simulieren.

AL Ungezieferburger
quelle
1
Harte Grenzen gelten normalerweise für explizite Löser. Für implizite Löser führen Sie einfach eine Reihe von Testfällen für ein kleines (2D) Problem aus, um festzustellen, wie unterschiedlich die Lösung mit zunehmendem delta_t ist. Während Sie gerade dabei sind, können Sie auch die Auswirkung der Netzauflösung auf die Lösung testen.
stali

Antworten:

12

Dies hängt von Ihrem Problem und Ihrer ODE-Löser- / Zeitdiskretisierung ab. Wenn Sie eine hyperbolische PDE haben und diese mit einer expliziten Methode lösen möchten, benötigen Sie die Zeitschrittbeschränkung (als Courant-Friedrichs-Lewy / CFL-Bedingung bezeichnet), oder Ihre numerische Lösung schwingt normalerweise und kann auf anwachsen .±

Wenn Sie dagegen ein parabolisches Problem und eine implizite Zeitdiskretisierung haben, brauchen Sie die Einschränkung nicht.

Sie müssen mehr über Ihr Problem erzählen, damit wir eine detailliertere Antwort geben können.

Wolfgang Bangerth
quelle
Bei linearen hyperbolischen Problemen können Algorithmen mit großen Zeitschritten verwendet werden, um die Lösung zu aktualisieren. Auf diese Weise wird eine Courant-Nummer verwendet, die viel größer als 1 ist.
Subodh
Aber nur, wenn Sie eine implizite Methode haben. Ich hätte in meiner Antwort klarer sein sollen. (Ich habe es jetzt dafür bearbeitet.)
Wolfgang Bangerth
Um ehrlich zu sein, habe ich Schwierigkeiten festzustellen, welche Methode Fluent ™ verwendet. Es scheint, dass es beides kann . Das Benutzerhandbuch für Fluent v14 (S. 1250) impliziert, dass für die mehrphasige Euler-Euler-Simulation eine explizite Methode verwendet wird. Ich mag den Vorschlag von @stali, mache einfach ein paar Tests (obwohl er dies für einen impliziten Löser vorschlägt). Der Löser ist mit allen Zeitschritten stabil, aber es gibt einen ziemlich großen Unterschied in der Lösung (und den Berechnungskosten) zwischen und . Δt=0.0007Δt=0.0021
AL Verminburger
Implizite Schritte, die CFL 1 überschreiten, sind nicht zeitgenau. Für die reine Advektion gibt es keine schnelleren Prozesse, daher sind sie für eine instationäre Simulation nicht von großem Nutzen. Implizites Steppen ist interessanter, wenn Sie versuchen, einem Quasi-Gleichgewichtsprozess zu folgen, der auftritt, wenn viel schnellere Prozesse nahezu ausgeglichen sind (z. B. sich langsam bewegende Wirbel in Flachwasser- oder Gasdynamiken mit niedrigem Mach-Wert).
Jed Brown
@ Wolfgang Bangerth Würden Sie sagen, dass eine CFL-Nummer , obwohl sie für das explizite Schema erforderlich ist, auch eine gute grobe Richtlinie für das implizite Schema ist? Oder ist das Testen eines einfachen 2D-Problems die einzige Möglichkeit, das geeignete zu bestimmen, wenn ein implizites Schema verwendet wird? Cmax=1Δt
AL Verminburger
2

Es gibt zwei Faktoren, die von der Zeitschrittgröße und der Wahl des Schemas beeinflusst werden: Genauigkeit und Stabilität.

Die Genauigkeit wird typischerweise durch den "lokalen Fehler" oder "Konsistenzfehler" des Schemas gemessen. Sie möchten Ihren Zeitschritt so wählen, dass dieser Fehler mit einem vergleichbaren Fehler der Raumdiskretisierung ausgeglichen wird. Das wäre eine gute Balance für die Genauigkeit.

Leider ändern die meisten Zeitüberschreitungsschemata auch die Dynamik Ihres Systems, die normalerweise unter dem Begriff Stabilität zusammengefasst wird. Diese Frage geht über explizit oder implizit hinaus. Und das geht in beide Richtungen: Eine perfekt stabile Lösung kann in eine Explosion umgewandelt werden, wenn Sie die falsche Methode mit einem großen Zeitschritt verwenden. Und das Gegenteil gilt: Wenn Sie eine zu stabile, turbulente, instationäre Strömung anwenden, kann diese in Honig umgewandelt werden. Ich kenne Simulationen, bei denen ein einzelner Rückwärts-Euler-Schritt alle 100 Crank-Nicolson-Schritte eine Oszillationslösung stationär machte.

Die Begriffe, die zur Kategorisierung der Dynamik von Zeitüberschreitungsschemata verwendet werden, sind A-, L- und B-Stabilität. Soweit ich weiß, behalten nur das Crank-Nicolson-Schema und die Gauß-Kollokationsmethoden die wesentliche Dynamik bei, aber selbst für diese können bestimmte Merkmale Ihrer Lösung auf unphysische Weise verstärkt oder unterdrückt werden, wenn Ihr Zeitschritt zu groß ist.

Wenn Sie diese Effekte vorhersagen möchten, müssen Sie Ihr Schema kennen. Andernfalls bleiben Sie bei Testbeispielen oder bei der Berechnung aller Daten mit mindestens zwei Zeitschrittgrößen

Guido Kanschat
quelle
-2

Es ist wirklich wichtig! Wenn Sie keinen geeigneten Zeitschritt haben, können Sie keine Netzunabhängigkeit erreichen.

Nutzen Sie meine persönlichen Erfahrungen: Ich untersuche die CFD der Fluid-Struktur-Wechselwirkung mit FEM. Ich habe versucht, die Netzunabhängigkeitsstudie durchzuführen, um sicherzustellen, dass das Netz die Genauigkeit meiner Simulationen nicht beeinträchtigt. Wenn ich jedoch das Netz verfeinere, weichen die Simulationsergebnisse sogar noch weiter voneinander ab. Endlich stellte ich fest, dass ich vergessen hatte, meinen Zeitschritt entsprechend anzupassen.

Wenn Sie die Größe des Elements reduzieren, wird empfohlen, den Zeitschritt entsprechend zu reduzieren. Andernfalls können Probleme auftreten.

Wenn Sie Zeit und Rechenressourcen haben, können Sie auch nur einige Testfälle ausführen, um zu sehen, wie sich das auf Ihre speziellen Fälle auswirkt. Dies sollte meiner Meinung nach die zuverlässigste Methode sein.Δt

zlin
quelle