Sebagai tugas di perguruan tinggi, saya melakukan simulasi 1d. Pernyataan masalah adalah untuk memecahkan masalah tabung kejut 1d yang melibatkan gas ideal kompresibel sebagai fluida kerja. Untuk masalah ini, saya memecahkan sistem persamaan Eulers menggunakan Roe's Riemann solver. Saya ingin tahu, untuk menyelesaikan persamaan Euler dalam 2 atau 3 dimensi, di mana saya harus mulai? Yang merupakan masalah tes, saya harus mempertimbangkan dulu (Tolong jangan menyarankan pemecah komersial. Saya ingin menulis kode saya sendiri) hanya saya butuh bantuan dalam menulis kode saya sendiri.
Apa sumber daya yang baik yang memperkenalkan masalah 2d dengan cara yang paling praktis?
fluid-dynamics
Subodh
sumber
sumber
Jawaban:
Seperti yang dikatakan David Ketcheson, buku LeVeque adalah sumber yang bagus; namun, secara alami berfokus pada metode penyelesaian Riemann yang digunakan dalam CLAWPACK. Alternatif untuk metode ini adalah skema pusat non-osilasi (mis. Skema Kurganov & Tadmor ), yang langsung diterapkan dan diperluas secara alami menjadi 2-D atau 3-D (daripada menggunakan pemisahan dimensional). Ada kode sumber terbuka dan sumber daya besar makalah di http://www.cscamm.umd.edu/centpack/ .
Sebuah makalah oleh Liska & Wendroff (Jurnal SIAM pada Scientific Computing 25 (3), 2003, 995-1017) membandingkan berbagai skema (baik Riemann-penyelesaian dan pusat) untuk persamaan Euler dalam 1-D dan 2-D, dan memiliki sejumlah masalah tes yang mungkin bermanfaat.
sumber
Ya, masalah 2D lebih atau kurang menjadi pemecahan masalah 1D di arah X diikuti oleh masalah 1D di arah Y. Struktur data sedikit lebih rumit, matriks Roe perlu disesuaikan untuk proyeksi karakteristik di arah kedua, dan kondisi CFL Anda harus dimodifikasi juga.
Clawpack, dan khususnya contoh 2D Clawpack (http://depts.washington.edu/clawpack/users-4.6/claw/doc/gallery/gallery_2d.html) mungkin berguna bagi Anda jika Anda ingin mengintip kode orang lain .
sumber