metode volume terbatas: mesh tidak berstruktur vs adaptasi octree + pemotongan sel

12

Saya sedang bekerja dengan perpustakaan OpenFOAM C ++ Computational Continuum Mechanics (dapat menangani interaksi fluida-padat, aliran MHD ...) yang menggunakan jerat tidak terstruktur yang sewenang-wenang. Ini didorong oleh gagasan untuk menggunakan keunggulan pembangkitan cepat (otomatis biasanya) dari jerat tidak berstruktur untuk mensimulasikan masalah dalam geometri kompleks.

Namun, baru-baru ini saya telah menemukan pendekatan lain: octes adaptive carthesian meshes dengan cell "cutting", di mana penyempurnaan mesh agresif digunakan untuk menggambarkan geometri yang kompleks.

Dari sudut pandang angka, jerat Carthesian jauh lebih akurat, jadi pertanyaan saya adalah: apakah ada yang berpengalaman dalam menggunakan / menerapkan satu atau kedua pendekatan ini? Bagaimana mereka membandingkan satu sama lain?

Saya sedang mengembangkan kode untuk aliran fluida dua fase dan saya perhatikan misalnya bahwa rekonstruksi gradien lapangan dapat dengan mudah dibuat lebih akurat pada jerat Carthesian, sedangkan mesh tidak terstruktur membutuhkan regresi linier untuk perubahan mendadak di lapangan ...

tmaric
sumber
Alternatif lain: metode cut-cell cartesian. Ada banyak literatur; makalah ini mungkin tempat awal yang baik: dx.doi.org/10.1016/S0378-4754(02)00107-6 .
David Ketcheson

Jawaban:

5

Saya pikir semua perpustakaan FEM yang lebih modern (mis. Kesepakatan.II, libmesh, ...) menggunakan skema berbasis octree (atau, lebih tepatnya: oct-forest, dengan satu pohon dimulai dari setiap sel dari jaring kasar yang tidak terstruktur. ). Ada banyak keuntungan untuk ini, terutama karena Anda tahu hierarki sel jala. Ini menyiratkan bahwa Anda dapat dengan mudah melakukan coarsening, geometric multigrid, dll, yang semuanya sangat sulit jika Anda mulai dengan mesh yang tidak terstruktur dengan baik. Lebih jauh, mempartisi menjadi masalah yang hampir sepele. Kelemahan dari pendekatan ini adalah bahwa jika Anda memiliki geometri yang rumit, sebelumnya Anda hanya perlu menggambarkannya ke generator mesh sedangkan sekarang Anda juga harus menggambarkannya dengan kode FEM karena Anda memerlukan geometri saat memperbaiki sel yang terletak pada batas.

Semua yang lain sama, saya pikir pendekatan berbasis octree jauh lebih fleksibel dan berguna daripada menggunakan satu mesh tidak terstruktur ginormous.

Wolfgang Bangerth
sumber
Saya tidak bermaksud bahwa saya akan menggunakan mesh besar yang tidak terstruktur. Penyempurnaan berbasis oktree, tetapi ada perbedaan dalam akurasi jika Anda membandingkan mesh halus oktan carthesian, dan mesh halus oktrat yang tidak terstruktur. Jaring yang tidak terstruktur telah didorong oleh industri dengan harapan pembuatan jala otomatis (setidaknya cepat) untuk geometri kompleks, tetapi sekarang, pemotongan sel + jerat karthesian tampaknya melakukan pekerjaan dengan cukup cepat juga, dengan akurasi numerik tambahan yang disediakan oleh sifat terstruktur. of the mesh ...
tmaric
Saya pikir saya sudah menerima jawaban ini .. :) Maaf atas keterlambatannya.
tmaric
4

h2:1 untuk penyempurnaan octree. Hal ini kadang-kadang mengarah ke wilayah penyulingan yang lebih besar dari yang diperlukan, tetapi biasanya beberapa gradasi geometris tetap diperlukan dan implementasi AMR yang berbeda dapat menjaga penyempurnaan dilokalisasi dalam faktor konstan sederhana dari mesh halus terbaik yang tidak terstruktur.

hh106r adalah sumber yang bagus) dapat digunakan untuk menyelaraskan dengan memindahkan fitur anisotropik.

Juga perhatikan bahwa diskretisasi waktu implisit dan metode garis lebih sederhana dan memiliki sifat yang lebih bagus untuk metode di mana jumlah dof dan konektivitas mesh tidak berubah. Selain itu, asalkan diskritisasi fisika dan spasial terus dapat dibedakan, akan ada adjoint terus menerus (berguna untuk analisis sensitivitas, optimisasi, kuantifikasi ketidakpastian, dll).

Pilihan terbaik sangat tergantung pada masalah, tetapi untuk masalah CFD dengan lapisan batas tipis, terutama ketika menggunakan resolusi dinding daripada pemodelan dinding, mesh yang sesuai terstruktur atau terstruktur-blok adalah pilihan yang baik.

Jed Brown
sumber
2

Grid terstruktur memungkinkan banyak asumsi yang dapat dieksploitasi untuk kinerja tetapi umumnya lebih sulit untuk diterapkan dan kurang efisien untuk dilakukan daripada grid tidak terstruktur di hadapan batas-batas yang kompleks. Grid yang tidak terstruktur akan secara efisien mendekati batas-batas kompleks tanpa pemrograman tambahan tetapi sangat sedikit asumsi yang dapat dibuat tentang struktur matriks. Seperti biasa, tidak ada pendekatan yang lebih baik selain yang lebih cocok untuk kebutuhan Anda. Yang pertama sering digunakan dalam pemodelan laut, iklim, cosmo / geo, yang terakhir dalam masalah teknik.

Dominik Lark
sumber