mohon ijin tanya, tetang timeStep dan runStep pada saat check residual,
mohon koreksinya kalo salah,
pada saat runStep kita bisa set berapa iterasi, bisa set lebih sampai convergence dan residual rendah.
mohon tanya bagaimana kalo timeStep ?, soalnya kalo timeStep base on waktu yang kita tentukan ....
mohon petenjuknya
Untuk steady solver (misalnya simpleFoam, buoyantSimpleFoam), timeStep merupakan step iterasi, dan endTime merupakan jumlah iterasi maksimum. Diharapkan solusi konvergen steady state diperoleh sebelum mencapai iterasi maksimum tsb.
Istilah "time" dalam steady solver bukan berarti "physical time", karena steady solver tidak mengenal dimensi waktu (karena suku time gradient / unsteady di persamaan transport diabaikan). Istilah "time" dalam steady solver mewakili "langkah iterasi".
Ilustrasi:
- endTime = 1000, timeStep = 1; ini artinya 1000/1 = 1000 langkah iterasi maksimum
- endTime = 10000, timeStep = 1; artinya 10000/1 = 10000 langkah iterasi maksimum
- endTime = 1000, timeStep = 0.1; artinya 1000/0.1 = 10000 langkah iterasi maksimum
- endTime = 2000, timeStep = 0.2; artinya 2000/0.2 = 10000 langkah iterasi maksimum
dengan demikian, poin (2), (3), dan (4) hasilnya akan sama. Silahkan dicoba di kasus simpleFoam atau buoyantSimpleFoam
Untuk unsteady/transient solver, "time" memiliki arti sebenarnya, yaitu physical time. Penentuan timeStep spy simulasinya stabil akan sangat ditentukan oleh beberapa faktor (misalnya ukuran mesh, kecepatan aliran)
semoga menjawab
salam
Untuk unsteady/transient solver, "time" memiliki arti sebenarnya, yaitu physical time. Penentuan timeStep spy simulasinya stabil akan sangat ditentukan oleh beberapa faktor (misalnya ukuran mesh, kecepatan aliran)
Terimakasih Mas, saya masih bingung kalo unsteady dan memakai timeStep, misal saya memakai:
start time: 0
end time: 30
write control : timeStep
untuk menentukan simulasi saya bagus dengan paramater di atas bagaimana ya mas?
terimkasih.
@nuryadi Kalau utk transient, parameter yg penting adalah timeStep. Kalau writeControl itu hanya mengatur penulisan output nya nanti seberapa sering.
Biasanya utk transient case, dimana kita mau menangkap unsteadiness dari flow, unsteady term dipecahkan menggunakan skema eksplisit (time-marching) atau implisit.
Utk skema eksplisit, parameter yg jadi acuan adalah Courant number, atau Courant-Friedrich-Lewy (CFL) condition, yaitu: Co = u * delta_t / delta_x
u = kecepatan aliran (ini bisa diestimasi di awal atau mengacu ke hasil di eksperimen atau solusi analitik)
delta_t = time step yg kita gunakan
delta_x = ukuran grid yg kita gunakan
dengan demikian, yang kita mainkan adalah kombinasi dari delta_t dan delta_x.
Spy simulasinya stabil, Co harus lebih kecil dari 1 (utk skema eksplisit). Utk skema implisit, Co bisa lebih besar dari 1, tapi bisa mempengaruhi keakuratan dari solusi, shg terkadang butuh trial & error jg.
Nah di openfoam, skema yang dipakai utk transient term adalah implisit (skema eksplisit tidak digunakan, CMIIW). Pada prinsipnya kita bisa pakai Co lebih besar dari 1 utk skema implisit, tp biasanya ada parameter lain yg dimainkan juga; dan kestabilan numeriknya akan sangat bergantung dari faktor2 lain, bukan hanya Co ini. Co nya bisa sampai nilai berapa? Tidak ada batas maksimum teoritis.
Info lebih lanjut ttg transient simulation & pemilihan delta_T bisa dicek di sini: http://www.wolfdynamics.com/wiki/tipsandtricks.pdf
(halaman 57)
Semoga membantu
@nuryadi koreksi: pembahasannya mulai dari halaman 54 🙂
Info lebih lanjut ttg transient simulation & pemilihan delta_T bisa dicek di sini: http://www.wolfdynamics.com/wiki/tipsandtricks.pdf
(halaman 57)