Saya ingin memahami lebih detail tentang penerapan Metode Multigrid Aljabar (AMG). Saya telah membaca "Tutorial Multigrid", yang cukup bagus dan menjelaskan semua detail interpolasi, operator grid-kasar, dan pemilihan grid kasar untuk AMG. Namun, saya pikir, tidak ada yang seperti bermain-main dan membaca kode.
Jadi, saya ingin bertanya apakah ada yang tahu "kode contoh" AMG klasik, seperti kode FORTRAN multigrid geometris yang tersedia di akhir "Metode Multigrid" (SIAM) oleh SF McCormick. Cukup sulit untuk mendapatkan kode produksi dan kualitas tinggi seperti BoomerAMG untuk mempelajari lebih lanjut tentang metode ini.
Jawaban:
BoomerAMG adalah bagian dari paket Hypre , yang mudah didapat. Kode yang jauh lebih kompleks jika Anda mulai melihat metode ini mungkin PyAMG .
sumber
Saya sangat merekomendasikan pengenalan Alfio Borizi untuk metode multigrid aljabar. Ada contoh kode fortran 77 dalam lampiran A.
sumber
Ada juga paket ML yang merupakan bagian dari Trilinos. Reputasinya sama baiknya dengan BoomerAMG / hypre.
Paket Trilinos yang lebih baru untuk AMG disebut MueLu, saya percaya, dan juga harus tersedia dalam rilis terbaru.
Semua ini adalah open source.
sumber
Saya telah mengerjakan implementasi ini sebentar. Ini Python / Numpy / Scipy. Ini bukan multigrid aljabar - Anda harus menyediakan operator pembatasan Anda sendiri. Tetapi jika ini adalah implementasi pendidikan di mana Anda tertarik, saya akan menyambut beberapa permintaan tarik untuk menambahkan kemampuan seperti itu.
sumber