Als Aufgabe im College habe ich eine 1d-Simulation gemacht. Die Problemstellung bestand darin, das 1d-Stoßrohrproblem zu lösen, bei dem komprimierbares ideales Gas als Arbeitsmedium verwendet wurde. Für dieses Problem habe ich das System der Eulers-Gleichungen mit dem Riemann-Löser von Roe gelöst. Ich möchte wissen, wo ich anfangen soll, um die Euler-Gleichungen in zwei oder drei Dimensionen zu lösen. Welches ist das Testproblem, das ich zuerst betrachten sollte? (Bitte schlagen Sie keine kommerziellen Löser vor. Ich möchte meinen eigenen Code schreiben.) Ich brauche nur Hilfe beim Schreiben meines eigenen Codes.
Was sind die guten Ressourcen, die das 2d-Problem am praktischsten einführen?
fluid-dynamics
Subodh
quelle
quelle
Antworten:
Wie David Ketcheson vorschlägt, ist LeVeques Buch eine großartige Ressource. Es konzentriert sich jedoch natürlich auf die in CLAWPACK verwendeten Riemann-Lösungsmethoden. Eine Alternative zu diesen Methoden sind die nicht oszillierenden zentralen Schemata (z. B. das von Kurganov & Tadmor ), die einfach zu implementieren und auf natürliche Weise auf 2D oder 3D auszudehnen sind (anstatt die dimensionale Aufteilung zu verwenden). Unter http://www.cscamm.umd.edu/centpack/ finden Sie Open-Source-Code und eine große Anzahl von Artikeln .
Eine Arbeit von Liska & Wendroff (SIAM Journal on Scientific Computing 25 (3), 2003, 995-1017) vergleicht verschiedene Schemata (sowohl Riemann-Lösung als auch Zentral) für die Euler-Gleichungen in 1-D und 2-D und hat a Anzahl der Testprobleme, die nützlich sein können.
quelle
Ja, das 2D-Problem löst mehr oder weniger ein 1D-Problem in X-Richtung, gefolgt von einem 1D-Problem in Y-Richtung. Die Datenstrukturen sind etwas komplizierter, die Roe-Matrix muss für die charakteristische Projektion in die zweite Richtung angepasst werden, und Ihre CFL-Bedingung muss ebenfalls geändert werden.
Clawpack und insbesondere die 2D-Beispiele von Clawpack (http://depts.washington.edu/clawpack/users-4.6/claw/doc/gallery/gallery_2d.html) können für Sie von Nutzen sein, wenn Sie einen Blick auf den Code eines anderen werfen möchten .
quelle