Adaptive mesh refinement (AMR) adalah teknik umum untuk menangani masalah berbagai skala spasial dalam solusi numerik PDE. Apa perpustakaan tujuan umum yang ada untuk AMR pada kisi terstruktur? Idealnya saya ingin sesuatu dalam semangat PETSc, di mana perpustakaan hanya menangani jerat adaptif dan saya memberikan fisika dan diskritisasi (perbedaan / volume / elemen terbatas).
Perpustakaan yang ideal akan menjadi
- Modular : tidak menentukan bagaimana saya menulis kode saya atau terlalu banyak struktur data saya
- Umum : tidak peduli diskritisasi macam apa yang saya gunakan
- Efisien : tidak terlalu banyak mengeluarkan biaya
- Paralel dan sangat terukur
Perpustakaan yang hanya cocok dengan sebagian dari kriteria ini akan tetap menarik.
Tambahan : Saya mengetahui daftar lengkap paket-paket AMR dari Donna Calhoun , tetapi saya tidak tahu yang mana dari mereka (jika ada) yang cocok dengan kriteria di atas. Jadi saya terutama tertarik untuk mendengar dari orang-orang yang memiliki pengalaman nyata dengan satu atau (lebih baik) paket, bagaimana mereka mengukur dalam istilah-istilah tersebut.
sumber
Jawaban:
Satu perpustakaan untuk dipertimbangkan adalah BoxLib . Fitur utamanya (dari situs web) adalah:
Ada juga pembungkus Python (yang ditulis oleh saya) untuk versi Fortran termasuk (meskipun itu masih sangat muda).
sumber
Anda juga harus melihat libMesh . Ini ditargetkan pada metode elemen hingga, tapi selain itu, saya pikir itu memeriksa sebagian besar kotak Anda. Tidak seperti BoxLib, ini adalah pustaka tipe elemen campuran yang sepenuhnya tidak terstruktur, yang tetap mendukung perpustakaan, piramida, prisma, dan heksahedra dalam jaring yang sama. Ia juga memiliki salah satu set aturan integrasi terbesar untuk fungsi basis polinomial tingkat tinggi. Ini diatur untuk membiarkan Anda memanggil PETSc (dan beberapa perpustakaan lainnya juga) secara langsung, sehingga Anda memiliki skalabilitas pemecah yang sama seperti yang dilakukan PETSc.
Tentu ada cara libMesh dalam melakukan sesuatu, tetapi ada cara PETSc dalam melakukan sesuatu juga. Jadi mudah-mudahan itu tidak membuat Anda takut.
sumber
Saya akan mencoba SAMRAI Saya tahu setidaknya satu kode yang menggunakannya dengan sukses - IBAMR , kode Metode Batas Immersed untuk Interaksi Struktur-Fluida dengan AMR.
sumber
Anda tidak menentukan terstruktur atau tidak terstruktur.
Lihatlah Paramesh, Pyramid, p4est, Dendro, Samrai dan Chombo.
Btw Pyramid tidak melakukan pengerasan.
sumber