infistream

Mengonversi Jerat 2D ke Jerat Aksisimetris

Untuk mengonversi mesh menjadi satu yang beraksis, beberapa persyaratan harus dipenuhi. Mesh tersebut harus sudah menjadi mesh OpenFOAM yang valid dan hanya memiliki satu sel "tebal". Persyaratan terakhir berlaku untuk semua mesh 2D dalam OpenFOAM. Karena contoh rongga dari icoFoam memenuhi semua persyaratan ini, maka digunakan untuk tutorial ini. Contoh ini terletak di $FOAM_TUTORIALS/incompressible/icoFoam/cavity.

Dengan mesh berbentuk persegi panjang dan hanya memiliki satu sel, sebuah geometri yang sangat dasar dapat dibuat. Dalam OpenFOAM, sebuah mesh beraksis memiliki properti berikut: mesh tersebut hanya satu sel "tebal" dan diputar sekitar sumbu simetri untuk membentuk bentuk baji 5°. Dua batas yang miring dari baji tersebut dianggap sebagai patch terpisah dari jenis baji.

INFO

Sumber-sumber makeAxialMesh tersedia di wiki OpenFOAM: http://openfoamwiki.net/index.php/Contrib_MakeAxialMesh. Ikuti petunjuk di sana untuk mengunduh dan mengompilasi utilitas tersebut.

Langkah selanjutnya adalah membuat salinan folder kasus ke direktori kerja pilihan Anda, menamai ulang direktori tersebut untuk menghindari kebingungan di masa depan, dan membuat mesh dasar 2D.
Untuk mesh aksisimetris, patch movingWall digunakan sebagai sumbu simetri (lihat gambar 2.24). Selain itu, patch tunggal frontAndBack akan terbagi dan bertindak sebagai dua batas dari sudut (frontAndBack_neg frontAndBack_pos). Parameter yang dimasukkan ke dalam baris perintah mencerminkan ini:
Utilitas ini membuat direktori waktu baru (dalam kasus ini 0.005) untuk menyimpan mesh yang telah diubah. Jika pembuatan tidak berjalan seperti yang diharapkan, hanya direktori ini yang perlu dihapus dan mesh dasar akan dipulihkan kembali. Sekarang direktori kasus harus berisi folder yang ditunjukkan di bawah ini:
Pada titik ini, mesh telah diubah menjadi bentuk kuncup 5°, seperti yang ditunjukkan dalam gambar 2.25. Namun, wajah dari patch movingWall masih ada, namun, sekarang mereka dihancurkan menjadi wajah-wajah dengan luas wajah mendekati nol. makeAxialMesh mengubah posisi titik tetapi tidak mengubah konektivitas mesh. Karena itu, patch simetri tidak memiliki wajah yang ditugaskan kepadanya (nFaces = 0) dan harus dihapus. Menggunakan alat collapseEdges disarankan dalam kasus ini. Ini mengambil dua argumen baris perintah wajib: panjang tepi dan sudut penggabungan:
Untuk banyak aplikasi, panjang tepi sebesar 1 × 10−8 m dan sudut penggabungan sebesar 179° akan secara tepat mengidentifikasi dan menghapus wajah-wajah yang baru saja runtuh. Dalam beberapa kasus di mana skala panjang tepi mesh sangat kecil, panjang tepi yang lebih kecil mungkin diperlukan untuk menghindari positif palsu dan penghapusan tidak disengaja dari tepi yang valid. Menjalankan collapseEdges dengan parameter seperti yang ditunjukkan berfungsi tanpa masalah untuk contoh ini.
Untuk beberapa tindakan terakhir, disarankan untuk menghapus patch yang sekarang kosong dari daftar batas. Buka constant/polyMesh/boundary dan hapus entri movingWall dan frontAndBack. Perhatikan bahwa mereka terdaftar sebagai berisi nFaces 0;. Ubah ukuran daftar batas menjadi 3 untuk mencerminkan kedua penghapusan ini. Berkas boundary seharusnya sekarang terlihat mirip dengan:
Pada titik ini, patch fixedWalls dapat dibagi menjadi 3 patch terpisah menggunakan utilitas autoPatch. Ini akan melihat patch yang berdekatan dan mencoba mengidentifikasi tempat yang sesuai untuk membaginya berdasarkan sudut fitur yang diberikan.

Dalam kasus ini, setiap tepi patch yang membentuk sudut lebih dari 30° dapat dibagi untuk membentuk patch baru. Hal ini memberikan lebih banyak fleksibilitas dalam hal penugasan kondisi batas.
Patch akan diubah namanya setelah pemisahan. Opsi -latestTime hanya akan membaca langkah waktu terbaru yang tersedia. Alih-alih menimpa langkah waktu, mesh yang dipisahkan disimpan dalam direktori langkah waktu lainnya. Akhirnya, mesh harus diperiksa untuk kesalahan menggunakan alat checkMesh, yang harus dianggap sebagai aturan umum praktik terbaik: selalu jalankan checkMesh ketika mesh telah diubah.
Open chat
Infichat
Hello 👋
Thank you for text me
Can we help you?