19.3 Diskritisasi Domain
Diskritisasi domain. Domain komputasi digambarkan dalam Gambar 19.2 dengan kondisi simetri yang diberlakukan sepanjang bagian tengah bentuk tubuh Ahmed. Simetri dieksploitasi untuk mengurangi domain komputasi dan untuk meredam perilaku aliran transien yang diharapkan berkembang karena pelepasan vorteks di ujung belakang tubuh. Ini juga harus meningkatkan stabilitas numerik.
Kondisi batas inflow dan outflow ditempatkan jauh dari tubuh untuk meminimalkan interaksi yang tidak diinginkan dengan wilayah aliran utama, terutama antara outlet dan aliran di ujung belakang tubuh.
Mesh dihasilkan oleh snappyHexMesh, sebuah utilitas yang merupakan bagian dari paket OpenFOAM® [3]. snappyHexMesh menghasilkan mesh tiga dimensi yang berisi elemen heksahedron (hex) dan split-hexahedron (split-hex) yang dihasilkan secara otomatis dari geometri permukaan yang ditriangulasi dalam format Stereolithography (STL). Mesh secara bertahap menyesuaikan diri dengan permukaan dengan secara iteratif mempertajam mesh awal dan memorfing mesh split-hex yang dihasilkan ke permukaan. Sebuah fase opsional akan menyusutkan kembali mesh yang dihasilkan dan menyisipkan lapisan sel. Spesifikasi tingkat perincian mesh sangat fleksibel dan penanganan permukaan adalah kuat dengan kualitas mesh final yang telah ditentukan sebelumnya. Ini berjalan secara paralel dengan langkah penyeimbangan beban di setiap iterasi [4].
Gambar 19.2 Domain komputasi untuk tubuh Ahmed
Tujuan buku ini bukan untuk memberikan pengantar terperinci tentang aplikasi snappyHexMesh, tetapi sebuah file setup yang dikomentari dapat ditemukan dalam direktori kasus “Ahmed_body/system/snappyHexMeshDict“. Listing 19.1 menunjukkan cuplikan dari file tersebut.
Listing 19.1 Sebagian dari file snappyHexMeshDict
Mesh dihasilkan dengan menjalankan, dari direktori kasus, perintah-perintah berikut dalam urutan yang ditunjukkan:
blockMesh—dict system/blockMeshDict ini mendefinisikan domain komputasi umum di dalamnya snappyHexMesh akan beroperasi, domain tersebut harus memiliki geometri STL di dalam volumenya.
snappyHexMesh snappyHexMesh menghasilkan mesh dalam tiga fase dengan hasil dari setiap fase ditulis ke dalam folder (1/2/ dan 3/).
mv 3/polyMesh constant/ ini memindahkan mesh final yang dihasilkan oleh snappyHexMesh ke direktori konstan untuk digunakan dalam menghitung solusi.
createPatch—overwrite ini menghapus patch kosong apa pun.
Grid yang cocok dengan tubuh terdiri dari sekitar 800.000 sel polihedral yang sebagian besar terletak di dua wilayah di sekitar tubuh mobil. Ini memungkinkan resolusi yang baik dari wilayah wake sambil menjaga jumlah elemen yang rendah yang digunakan dalam domain komputasi. Detail dari grid yang dihasilkan di sekitar tubuh ditunjukkan dalam Gambar 19.3.
Gambar 19.3 Detail grid di sekitar tubuh Ahmed
Pengelompokan elemen mesh di wilayah yang diminati adalah praktik umum karena mengurangi biaya komputasi sambil menyelesaikan fitur-fitur penting dari aliran.
Mesh yang dihasilkan sepenuhnya tidak terstruktur dan menggunakan elemen polihedral dengan hingga 15 sisi. Kualitas mesh dievaluasi menggunakan checkMesh, output dari operasi tersebut ditunjukkan dalam Listing 19.2.
Listing 19.2 Pemeriksaan kualitas grid dan detailannya
Kondisi batas fisik diatur dalam file boundary yang terletak di direktori “Ahmed_body/constant/polyMesh/”. Ini ditampilkan dalam Listing 19.3.
Listing 19.3 Skrip yang digunakan untuk mengatur kondisi batas fisik.
Patch inlet dan outlet didefinisikan sebagai tipe patch, sementara cp diatur sebagai dinding, bukan bidang simetri. Untuk mengurangi kompleksitas dalam menyelesaikan aliran, kondisi batas slip akan digunakan untuk patch cp. Patch “ahmed_body*” yang mewakili bodi mobil didefinisikan sebagai “wall“, sementara patch lainnya mendefinisikan domain eksternal.