Fourier-Pseudospektralmethode und numerische Dissipation

9

Durchführen einer direkten numerischen Simulation isotroper Turbulenzen mit der Fourier-Pseudospektralmethode (Orzag & Patterson, PRL, 1972) unter Verwendung von FFT. In diesem Kurs finden Sie Hintergrundinformationen zu der in der Turbulenz-Community weit verbreiteten Methode: http://www.math.ualberta.ca/~bowman/m655/lab3d.pdf

Unter Verwendung der so genannten - Regeln für dealiasing die besteht aus tun u ( k , t ) = 0 i f k > 22/3 wotdie Zeit ist,kdie Wellenzahl,kMAXist die maximale Wellenzahl und u ist die spektrale Amplitude der Geschwindigkeit.

u^(k,t)=0              if   k>23kMAX
tkkMAXu^

Wirkt das Dealiasing als numerische Dissipation? Mit anderen Worten, gibt es aufgrund des Dealiasing ein Energieleck?

ucsky
quelle
Es ist nicht klar, was Ihre Frage stellt. Könnten Sie das klarstellen?
Geoff Oxberry
Was ist mit jetzt ?
UCsky

Antworten:

6

Das Dealiasing der Faltung wirkt nicht als numerische Dissipation. Tatsächlich wird Energie nur gespart, wenn Sie die Alias-Begriffe streichen.

Die Idee hinter dem Dealiasing von FFT-basierten Faltungen besteht darin, zusätzliche Begriffe zu entfernen, die von der FFT hinzugefügt werden. Eine Faltung ist nur eine Summe, und Sie können sie berechnen, indem Sie nur die Summe berechnen. Dies ist jedoch sehr langsam, daher ist es besser, die Eingaben Fourier-zu transformieren und das Ergebnis zu multiplizieren und dann die Fourier-Transformation zu invertieren, die nach dem Faltungssatz dasselbe ist wie eine Faltung.

Der Faltungssatz funktioniert jedoch nur, wenn die Eingaben unendlich lang sind. Bei Eingaben mit endlicher Länge werden zusätzliche Terme (Aliase) angezeigt, die nicht physisch sind. Der Punkt des Dealiasing besteht darin, die ursprüngliche Gleichung, die Sie zu berechnen versuchten, zurückzugewinnen und gleichzeitig FFTs zu verwenden, um die Berechnung zu beschleunigen.

Malcolm
quelle
Malcolm erwähnte die von ihm mitverfasste FFTW ++ - Bibliothek nicht, aber sie hilft Ihnen dabei, Dealias-Windungen schnell durchzuführen, indem Sie das Auffüllen implizit (unter anderem) handhaben. Siehe fftwpp.sourceforge.net .
Matthew Emmett
Oh ja, danke Matt! Die Faltungsroutinen in FFTW ++ reduzieren die Kosten für die Berechnung von Dealias-Faltungen erheblich. Es gibt einen Verweis auf der SourceForge-Seite und mehr auf meiner Webseite. Ich habe mit John Bowman daran gearbeitet, dessen 3D-Turbulenzlabor im OP verknüpft ist.
Malcolm
4

Um zu verstehen, was das Dealiasing bewirkt, müssen Sie verstehen, warum Sie FFTs überhaupt einnehmen. Für mich bietet die Methode des gewichteten Residuenansatzes den einfachsten Rahmen:

  1. Sie erweitern eine Lösung als Summe von Fourier-Modi und fügen sie in die Navier-Stokes-Gleichungen ein. Ihre Testfunktionen sind auch eine Fourier-Basis.
  2. Wenn Sie die Test- und Testfunktionen miteinander multiplizieren und das innere Produkt nehmen (dh mit einer geeigneten Konjugation integrieren), werden Sie feststellen, dass Sie ein Integral haben, das Sie nicht einfach bewerten können, weil es nichtlinear ist.
  3. Sie können dieses Integral mithilfe eines einheitlichen Quadraturschemas approximieren, bei dem Sie den Wert einfach an einheitlichen Kollokationspunkten summieren.
  4. Beachten Sie, dass Ihre Quadratur für eine quadratische Nichtlinearität genau ist, wenn Sie 1,5-mal so viele Quadraturpunkte verwenden, wie Sie Fourier-Modi hatten. Dies ist der Drei-Hälften-Faktor.
  5. Beachten Sie schließlich, dass die Quadratur effizient als FFT berechnet werden kann.

Die gesamte FFT-Magie kann als effizientes, ungefähres Quadraturschema betrachtet werden, das für quadratische Nichtlinearitäten exakt gemacht werden kann. Andere Dealiasing-Varianten spielen andere Streiche, um die Quadratur für dieselbe Klasse von Nichtlinearitäten genau zu machen.

Um Ihre Frage zu beantworten, fügt Dealiasing keine Dissipation hinzu. Dies kann gesehen werden, weil jeder Schritt in der Prozedur genau war.

Rhys Ulerich
quelle
1

@Malcolm gab eine Expertenerklärung zum Dealiasing der FFT-basierten Faltungssummen. Meine Intuition sagt mir jedoch, dass dies immer noch nicht die vollständige Antwort ist, die @abberation benötigt, daher werde ich einige weitere Sätze geben, die meinen eigenen Kampf um das Verständnis numerischer Methoden widerspiegeln.

Dealiasing wirkt nicht als numerische Dissipation, aber es macht dasselbe wie numerische Dissipation - es verhindert, dass Ihre Simulation explodiert.

Wie explodiert Ihre Simulation?

Es gibt einen unphysikalischen Energietransfer von hohen zu niedrigen Wellenzahlen, der zuerst die Instabilität verursacht (oft gefolgt von einem Simptom - 2h Wellen, h-Gitterknotenabstand, die kleinsten Wellen, die auf einem Gitter dargestellt werden können).

Der Grund dafür ist das Aliasing hoher Wellenzahlen auf die niedrigen Wellenzahlen, die durch das Gitter dargestellt werden können. Dies führt zu einer "spektralen Blockierung" - dem unphysikalischen Anstieg der Amplituden (Leseenergie) der hohen Wellenzahlen, der sich verschlechtert, wenn Sie sich der Obergrenze der dargestellten Wellenzahlen nähern.

Erstes Mittel (Philips, 1959): Die obere Hälfte des dargestellten Wellenzahlspektrums herausfiltern oder gleich Null machen.

Zweites Mittel (Orszag, 1971): Das als Zwei-Drittel-Regel des Orszag bekannte Mittel. Steven sagte: "Das Herausfiltern der Hälfte der Wellenzahlen ist eine Verschwendung. Wir sollten 2 / 3N behalten und nur das obere 1 / 3N herausfiltern."

Die Schlussfolgerung.

Unsere Simulationen neigen manchmal dazu, in die Luft zu jagen. Wenn Sie in einem Universum endlicher Volumen zweiter Ordnung leben (wie es der Autor dieser Zeilen getan hat) und nichts über Spektralmethoden wissen, sagen sie Ihnen: "Oh, Ihre Simulation explodiert? Versuchen Sie, Aufwind erster Ordnung anstelle eines zentralen Schemas zu verwenden, oder mischen Sie Ihr zentrales Schema mit 10% des Aufwinds im verzögerten Korrekturansatz. Dies erhöht die Verlustleistung, verhindert jedoch, dass Ihre Simulation in die Luft sprengt! Oh, Sie machen LES? Dann sollten Sie den Aufwind nicht verwenden, es sei denn, Sie führen ILES durch, verwenden Sie nur zentrales Schema und Smagorinsky werden die physische Dissipation modellieren, die auf den niedrigsten Skalen auftritt. " Wenn Sie im Universum der Spektralmethoden leben, lernen Sie, wie ein unphysikalischer Energietransfer stattfindet, und Sie finden das Mittel in Dealiasing durch Zwei-Drittel-Regel oder "Auffüllen".

Meine Inspiration für diesen Beitrag ist ein wundervolles Buch von J. Boyd "Chebyshev and Fourier Spectral Methods", Abschnitt 11.

Mein Rat ist:

Handeln Sie physisch oder spektral, aber denken Sie spektral! (Um das bekannte "Global denken, lokal handeln" zu paraphrasieren.)

John Travolta
quelle
1

Es gibt kein Energieleck, das mit "Dealiasing" an sich verbunden ist, aber es gibt ein Energieleck, das mit Abschneiden verbunden ist und immer mit oder ohne Dealiasing durchgeführt wird. Lassen Sie mich erklären:

Wenn Sie zwei Funktionen f und g haben , die beide einen Spektralgehalt bis Modus k haben , hat das Produkt fg einen Spektralgehalt bis Modus 2k . Sie möchten jedoch nicht, dass sich der spektrale Inhalt Ihrer Darstellung bei jedem Zeitschritt verdoppelt. Daher sollten Sie kürzen das Produkt fg zu den ersten k - Modi. Auf diese Weise verlieren Sie die Energie, die in den Modi höher als k enthalten ist .

Dealiasing (oder Anti-Aliasing) stellt sicher, dass die Modi bis k in der Darstellung von fg korrekt sind , jedoch nicht die Modi größer als k , da sie ohnehin verworfen werden.

nat chouf
quelle