En tant que mission au collège, j'ai fait une simulation 1d. L'énoncé du problème était de résoudre le problème du tube à choc 1d impliquant le gaz idéal compressible comme fluide de travail. Pour ce problème, j'ai résolu le système d'équations d'Eulers en utilisant le solveur Riemann de Roe. Je veux savoir, pour résoudre les équations d'Euler en 2 ou 3 dimensions, par où commencer? Quel est le problème du test, je devrais d'abord considérer (Veuillez ne pas suggérer de solveurs commerciaux. Je veux écrire mon propre code) j'ai juste besoin d'aide pour écrire mon propre code.
Quelles sont les bonnes ressources qui introduisent le problème 2D de la manière la plus pratique?
fluid-dynamics
Subodh
la source
la source
Réponses:
Comme le suggère David Ketcheson, le livre de LeVeque est une excellente ressource; cependant, il se concentre naturellement sur les méthodes de résolution de Riemann utilisées dans CLAWPACK. Une alternative à ces méthodes sont les schémas centraux non oscillatoires (par exemple celui de Kurganov & Tadmor ), qui sont simples à mettre en œuvre et s'étendent naturellement en 2D ou en 3D (plutôt que d'utiliser le fractionnement dimensionnel). Il y a du code open source et une grande ressource d'articles sur http://www.cscamm.umd.edu/centpack/ .
Un article de Liska & Wendroff (SIAM Journal on Scientific Computing 25 (3), 2003, 995-1017) compare divers schémas (à la fois de résolution de Riemann et centraux) pour les équations d'Euler en 1-D et 2-D, et a un nombre de problèmes de test qui peuvent être utiles.
la source
Oui, le problème 2D devient plus ou moins la résolution d'un problème 1D dans la direction X suivi d'un problème 1D dans la direction Y. Les structures de données sont un peu plus compliquées, la matrice Roe doit être ajustée pour une projection caractéristique dans la deuxième direction, et votre condition CFL doit également être modifiée.
Clawpack, et en particulier les exemples 2D de Clawpack (http://depts.washington.edu/clawpack/users-4.6/claw/doc/gallery/gallery_2d.html) peuvent vous être utiles si vous souhaitez consulter le code de quelqu'un d'autre .
la source