Pendahuluan multigrid biasanya menggunakan kotak persegi panjang. Interpolasi nilai kemudian lurus ke depan: Hanya interpolasi secara linear di tepi antara dua node yang berdekatan dari grid kasar untuk menemukan nilai dari node grid halus di tepi itu.
Untuk aplikasi FEM saya memiliki kotak yang "topologis" persegi panjang sehingga koneksi node seperti pada kotak persegi panjang. Namun, node tidak sepenuhnya selaras pada grid tetapi dapat menempuh jarak kecil agar lebih sesuai dengan geometri, sementara masih mempertahankan koneksi seperti pada kotak persegi panjang yang sempurna.
Mesh terlihat seperti itu: Contoh mesh . Anda lihat: Koneksi adalah "persegi panjang biasa", tetapi posisi simpul tidak.
Saya dapat gambar beberapa skema interpolasi geometris "masuk akal" untuk pengaturan seperti itu.
Pertanyaan umum adalah: Apakah multigrid memerlukan kisi-kisi persegi panjang yang disejajarkan dengan sempurna, atau akankah ini juga bekerja dengan situasi yang dijelaskan di atas, selama interpolasi adalah "baik"? Atau lebih baik menggunakan multigrid aljabar dalam kasus itu? (Yang saya tidak suka karena itu tidak intuitif sebagai multigrid geometris.)
Jawaban:
Multigrid tidak membutuhkan kisi seragam Cartesian (persegi panjang). Yang dibutuhkan adalah Anda dapat menetapkan level halus dan kasar (mungkin secara rekursif, jika Anda ingin beralih dari skema dua level ke skema multi-level), dan Anda dapat menentukan operator interpolasi di antara level-level ini. Cara termudah untuk menjelaskan ini adalah jika Anda memang memiliki kisi Cartesian, tetapi sebenarnya Anda dapat memulai dengan jaring kasar apa saja, memperbaikinya sekali, dan seperti ini: Anda memiliki jaring yang lebih halus.
Dengan kata lain, paling mudah untuk memikirkan jerat multigrid yang cocok bukan sebagai jerat halus dan bagaimana menemukan jerat kasar, tetapi untuk memulai dengan jerat kasar dari mana Anda mendapatkan tingkat yang lebih baik dengan penyempurnaan seragam (yaitu, setiap segi empat adalah dibagi menjadi empat yang lebih kecil). Karena penyempurnaan seragam selalu memungkinkan, ini siap memberi Anda hierarki. Ini bertentangan dengan pengerasan, yang tidak selalu mungkin jika Anda hanya diberi mesh tertentu, dan karenanya membuat mendefinisikan hierarki mesh jauh lebih rumit. (Itulah sebabnya orang datang dengan metode multigrid aljabar untuk menentukan tingkat kasar berdasarkan hanya pada matriks, tanpa memikirkan kaitan yang mendasarinya dari mana ia dibuat.)
sumber
Katakanlah Anda memiliki kotak berikut yang terdiri dari elemen persegi panjang:
Sekarang jika Anda melakukan interpolasi Anda dengan asumsi kotak persegi panjang terstruktur yang normal maka Anda akan memperkenalkan kesalahan yang terkait dengan interpolasi yang tidak akurat ini. Dengan kata lain ketika Anda membatasi vektor residual Anda dan ketika Anda memperpanjang vektor kesalahan Anda akan ada kesalahan dari interpolasi.
Sekarang jika kisi Anda "hampir" menjadi kisi cartesian terstruktur normal maka ini mungkin berhasil, setidaknya pada awalnya, tetapi saya menduga salah satu dari dua hal akan terjadi tergantung pada seberapa jauh kisi Anda dari menjadi persegi panjang:
1) Anda mungkin menemukan bahwa multigrid mulai konvergen pada awalnya. Setelah semua awalnya kesalahan Anda adalah besar dan interpolasi "perkiraan" Anda benar-benar hanya berarti bahwa beberapa node sedikit lebih terwakili sementara ada yang sedikit kurang terwakili. Namun Anda mungkin menemukan bahwa konvergensi mandek ketika solusi menjadi lebih akurat dan kesalahan interpolasi menjadi lebih penting.
2) Kemungkinan lain adalah multigrid tersebut akhirnya konvergen, tetapi tidak secepat yang seharusnya jika Anda menggunakan interpolasi yang benar.
Pada dasarnya dengan tidak aktif dengan interpolasi Anda, Anda menimbang pentingnya node tertentu secara tidak akurat. Misalnya dalam 2D jika Anda menimbang simpul yang diberikan sebagai:
padahal sebenarnya karena grid Anda tidak sepenuhnya kartesius itu seharusnya:
maka ini akan menghasilkan beberapa kesalahan. Apakah kesalahan ini mencegah convegence kemungkinan akan tergantung pada seberapa jauh grid Anda dari menjadi cartesian.
Sementara AMG lebih sulit untuk memahami / mengimplementasikannya, sepertinya itu adalah metode yang tepat untuk kisi Anda. Menerapkan multigrid geometris ke kotak persegi panjang "perkiraan" mungkin berhasil, tapi saya kira itu adalah solusi pita bantuan terbaik. Semoga ini membantu.
Pembaruan : Saya pikir mungkin ada beberapa kebingungan dalam jawaban saya. Saya tidak mengatakan bahwa geometri multigrid hanya akan bekerja dengan jerat cartesian, tetapi bahwa mendefinisikan interpolasi (dan karenanya pembatasan) pada jerat cartesian itu mudah sedangkan pada jerat non-terstruktur ini mungkin sulit. Sebagai contoh, pertimbangkan kasus bahkan domain 2D sederhana dengan mesh segitiga. Memperbaiki mesh ini mudah - setidaknya secara konseptual - tetapi bagaimana Anda mendefinisikan operator interpolasi antara mesh kasar dan halus? Saya lebih suka AMG hanya karena kinerjanya lebih seperti pemecah "kotak hitam", yaitu tidak memerlukan informasi tentang jaring yang tidak terbuka, namun ini hanya bias orang saya / kekhasan. Multigrid geometris dapat berfungsi selama Anda dapat menyediakan operator interpolasi yang akurat.
sumber