Apa format file / data umum untuk mesh (untuk FEM)?

13

Saya sedang mengembangkan simulasi FEM. Untuk pengujian awal, saya akan menggunakan mesher sederhana yang ditulis sendiri dan visualisasi grafik mesh. Tapi saya ingin menyiapkan program saya untuk menggunakan data yang dihasilkan oleh mesher yang ada dan output ke alat visualisasi yang ada.

Apakah ada standar (kuasi) yang direkomendasikan untuk format file dan format data internal untuk jerat (FEM)?

Michael
sumber
4
Keluaran II untuk membaca di mesh dan VTK untuk menulis output.
stali

Jawaban:

8

Jawaban singkatnya adalah tidak, tidak ada format standar. Tetapi ada beberapa yang umum, seperti Gmsh untuk input / output dan VTK untuk output.

Sebelum membuat keputusan, Anda perlu mencari tahu apa yang ingin Anda lakukan. Jika Anda ingin memiliki program (kecil) untuk sementara waktu, maka Anda dapat memilih format yang paling sesuai dengan selera dan kebutuhan Anda. Jika Anda berencana untuk mengubah ke program "lebih besar" di masa depan, itu akan menjadi ide yang baik untuk mulai mengelola format file mereka sekarang. Jika Anda berencana untuk menggunakan komersial pra / pasca-prosesor maka saya sarankan Anda tetap menggunakan format mereka, karena mereka "memperbarui" mereka dengan setiap versi baru dan itu mungkin menyebalkan.

Di bawah, saya mencantumkan beberapa opsi (sumber terbuka).

Pra-pemrosesan

Pengolahan pasca

  • Visualisasi dengan Paraview / Mayavi . Kemudian gunakan format file VTK . Anda dapat memeriksa panduan pengguna Paraview di sini .
  • Anda juga dapat melakukan pasca-pemrosesan dalam Gmsh.
  • Salome-Meca adalah pilihan lain untuk pasca-pemrosesan, berfungsi baik dengan VTK.
nicoguaro
sumber
Saya pikir VTK adalah format yang tepat untuk saya: 1. Saya dapat menggunakannya sebagai input untuk mesh dan sebagai output untuk post-processing. 2. Ada perpustakaan untuk menanganinya. 3. Tampaknya umum, misalnya gmesh dapat menghasilkannya. Apakah asumsi itu oke?
Michael
1
1. Anda perlu mempertimbangkan bahwa dimasukkannya sifat material, BC dan kendala pada model Anda. Saya tidak sepenuhnya yakin bagaimana mengimplementasikan ini di VTK, tetapi mungkin Anda dapat menemukan solusinya. 2. Ya, tapi itu tergantung pada bahasa pemrograman pilihan Anda. 3. Ya, itu biasa. Anda dapat menggunakan secara langsung vtk(dalam C ++, Java atau Python), Mayavi, Paraview, VisIt atau bahkan Chrome : P. Dan, ya, Anda dapat membuatnya di Gmesh, tidak yakin tentang grup fisik.
nicoguaro
3

Anda dapat mencoba format file MSH Gmsh atau format file netral GAMBIT .

Wes
sumber
2
Saya menggunakan file gmsh mesh untuk proyek pribadi juga, format itu mudah dimengerti dan mereplikasi diri Anda sendiri
cbcoutinho
3

Sebenarnya ada standar untuk ini: ISO / TS 10303 (mulai dengan bagian 1380 hingga 1386).

Sebelum dibajak oleh ISO, inisiatif ini, yang dimulai pada 1980-an, dikenal sebagai PDES / LANGKAH. Lihat https://www.pdesinc.org/index.html

Tapi saya tidak percaya ada orang yang menggunakannya kecuali mereka bekerja di lingkungan di mana itu adalah persyaratan wajib. Sejumlah besar komite internasional melakukan pekerjaan yang sangat baik dalam menumbangkan niat baik semula, dan menghasilkan standar yang berupaya untuk mencakup semuanya, mulai dari menggambarkan struktur manajemen keseluruhan perusahaan hingga format yang benar untuk menuliskan tanggal dan waktu (dan tidak, saya tidak bercanda).

alephzero
sumber
3

Jumlah format file untuk FEM adalah konyol, sebagian karena kenyataan bahwa setiap paket perangkat lunak menerapkan formatnya sendiri di masa lalu.

masukkan deskripsi gambar di sini

(Dari xkcd .)

Saya telah membuat meshio untuk mengurangi rasa sakit dari mengkonversi antara format, jadi jika Anda menggunakan format apa pun yang didukung oleh meshio, Anda harus dapat dengan mudah melakukan pergantian di masa depan.

Dari semua format yang saya tahu, VTU dan XDMF adalah yang paling sering saya gunakan.

Nico Schlömer
sumber
0

Saya kedua penggunaan VTK untuk output file. Jika Anda ingin menggunakan struktur mesh yang sangat umum, saya akan mengarahkan Anda ke arah perpustakaan CGNS (CFD General Notation System) yang merupakan format mesh sumber terbuka dengan perpustakaannya sendiri yang dikelola oleh konsorsium (termasuk Boeing dan NASA) . Membaca daftar node, properti, kondisi batas, dll. Sangat berguna dengan perpustakaan ini dan perpustakaan itu sendiri sangat mudah untuk dikompilasi. Perpustakaan ada di C ++, tetapi bisa dihubungkan dengan Fortran.

Kami menggunakannya dalam kode in-house kami dan saya telah menemukan itu adalah format yang sangat efisien. Ini menggunakan HDF5 di bawah tenda untuk file biner. Selanjutnya, ANSYS, Salome, GMSH semuanya mendukung ekspor ke format ini pada tingkat yang berbeda-beda. Inilah github: https://cgns.github.io/

Pengobrol
sumber