Ijin bertanya kepada para master di sini,
Boundary condition (BC) pada mesh ada bermacam-macam, ada patch, symmetry, empty, wedge, cyclic, wall, processor.
Apa perbedaan dari masing-masing tipe BC tersebut? Karena di beberapa contohnya ada yang memakai wall, ada yang memakai patch. Kapan kita menggunakan tipe BC tersebut atau contoh penggunaannya seperti apa?
Kemudian apa ada hubungan antara BC dengan boundary field (BF) yang ada di parameter seperti T atau U? Apakah tipe BC tertentu memiliki tipe BF tertentu atau bagaimana?
Terima kasih banyak atas jawabannya.
Kegagalan itu bukan berarti akhir dari segalanya, namun itu artinya pengalaman baru yang dengan itu kita bisa menjadi lebih baik.
Sepertinya lebih tepat utk dipahami bahwa patch, symmetry, empty, wedge, cyclic, wall, processor (yg didefinisikan di dalam blockMeshDict utk membuat mesh) bukan merupakan BC, tapi merupakan jenis boundary, atau jenis geometric constraint.Â
Ref:
https://www.openfoam.com/documentation/guides/latest/doc/guide-bcs-constraint.html
BC sendiri didefinisikan pada boundary di file 0/variable (misal 0/T, 0/U, 0/p dll sesuai case study & solver). BC ini harus kompatibel dengan jenis boundary / geometric constraint yang didefinisikan.
Penjelasan singkat ttg tipe2 boundary / geometric constraint:
- Patch merupakan jenis boundary yg umum (bisa wall maupun bukan), dan harus digunakan untuk inlet, outlet, dan boundary apapun yang "bisa dilewati" aliran fluida
- Wall merupakan jenis boundary utk dinding, dimana nantinya bisa didefinisikan noSlip utk BC velocity-nya
- Symmetry: utk simetri, misalnya utk simulasi 2d-axisymmetric aliran dalam pipa. Sumbu simetrinya (sumbu aksial) menggunakan jenis boundary ini
- Empty: utk boundary yang diabaikan pada kasus 2D. Misalnya apabila koordinat 2D yg digunakan adalah x dan y, maka permukaan yang normal terhadap sumbu z harus menggunakan jenis Empty
- Wedge: utk boundary yang normal terhadap arah azimuthal pada kasus 2d axisymmetric, atau 3d cylindrical
- Cyclic: utk boundary yang berulang (periodik). Misalnya pada kasus fully developed pipe flow, bagian inlet dan outlet nya bisa menggunakan cyclic
- Processor: utk boundary yang didefinisikan scr eksplisit sbg batas antara domain2 yang dikelompokkan utk keperluan parallel run. Biasanya ini tidak dibuat secara manual, tapi pakai command decomposePar sebelum menjalankan simulasi parallel.
Sbg contoh terkait compatibility, kita coba lihat di kasus cavity dgn solver icoFoam:
- Kalau kita mendefinisikan "fixedWalls" & "movingWall" sebagai "wall" di blockMeshDict, maka BC velocity dari boundary ini tdk bisa diyatakan sebagai misalnya "pressureInletOutletVelocity", krn BC ini hanya berlaku untuk "patch". Dengan kata lain "wall" lebih spesifik daripada atau merupakan bagian dari "patch"
- Tetapi, sebaliknya. Krn wall termasuk dalam kategori patch, maka apabila kita mendefinisikan "fixedWalls" & "movingWall" sebagai "patch" di blockMeshDict, maka kita bisa set BC velocity nya sebagai "noSlip" dan solver-nya bisa bekerja.Â
Mudah2an menjawab. Maaf kalau kepanjangan đ
salam
zk
Terima kasih banyak atas penjelasannya. Sangat detail dan saya memang berharap jawaban seperti ini, karena mohon maaf saya pemain baru di CFD ini.
Dari apa yang disampaikan, apa yang saya pahami adalah patch ini tipe boundary yang bisa secara fisik ada bisa juga tidak, sedangkan wall ini tipe boundary yang secara fisik ada, sehingga tidak bisa ditembus (tidak ada transfer massa), namun perhitungan panas tetap berjalan. Sedangkan empty ini semacam dinding isolator, adiabatik, tidak ada transfer panas dan massa. CMIIW.
Kegagalan itu bukan berarti akhir dari segalanya, namun itu artinya pengalaman baru yang dengan itu kita bisa menjadi lebih baik.
@saga_octa Dari apa yang disampaikan, apa yang saya pahami adalah patch ini tipe boundary yang bisa secara fisik ada bisa juga tidak, sedangkan wall ini tipe boundary yang secara fisik ada, sehingga tidak bisa ditembus (tidak ada transfer massa), namun perhitungan panas tetap berjalan.
Betul
Sedangkan empty ini semacam dinding isolator, adiabatik, tidak ada transfer panas dan massa. CMIIW.
"Empty" ini adalah cara OF untuk menangani kasus 2D, dimana mesh-nya tetap harus dibuat dalam 3D. Jadi, semacam cara mengakali dlm implementasi numerik.
Kalau utk adiabatik / insulated, bisa diaplikasikan ke "patch" maupun "wall" dengan menggunakan BC "zeroGradient", i.e. gradient variabel (misalnya temperatur atau besaran skalar lain) dalam arah normal di boundary tsb adalah nol. Besok ada contohnya đ
salam,
zkÂ