Free Time CFD Coding

Shortlink: http://wp.me/p61TQ-Fn

Ketika sedang mencari bahan2 bacaan mengenai CFD, saya menemukan ebook gratis keluaran Los Alamos National Laboratory (LANL). Menurut saya ebook ini lumayan bagus sebagai panduan untuk memahami CFD melalui pendekatan learning by doing: belajar CFD dengan cara membuat code.

Ebook bisa di download di link ini.

Untuk melakukan riset serius memang secara umum adalah bukan ide yang bagus untuk membuat code CFD sendiri, karena sudah ada beberapa code CFD open source yang sudah cukup proven. Tetapi tidak ada salahnya juga untuk menulis code sendiri di waktu2 luang (apalagi kalau anda memang hobby programming), yang sederhana2 saja, lumayan juga untuk lebih meresapi konsep2 dasar CFD, karena itu artikel ini saya beri judul Free Time CFD Coding :).

So, iseng2 untuk mengisi waktu kalau saya kebetulan tidak terlalu sibuk, saya tulis beberapa code berdasarkan ebook tersebut, beberapa source code and contoh output saya pasang di artikel ini, lumayan itung2 sebagai personal archive :).

Subroutine2 FORTRAN bisa di download di link ini: Some FORTRAN Subroutines

[_code | result] 1D heat conduction, explicit

[_code | result] 1D heat conduction, implicit by Gaussian elimination

[_code | result] 1D heat conduction, implicit by general Jacobi iteration

[_code | result] 1D heat conduction, implicit by tridiagonal Jacobi iteration

[_code | result] 1D heat conduction, implicit by general Gauss-Seidel iteration

[_code | result] 1D heat conduction, implicit by tridiagonal Gauss-Seidel iteration

Method
Running time
Memory requirement
Direct matrix inversion by Gauss elimination
1.14
15.43
General Jacobi iteration
9.16
15.43
Tridiagonal Jacobi iteration
1.03
1.00
General Gauss-Seidel iteration
6.78
15.43
Tridiagonal Gauss-Seidel iteration
1.00
1.00
  • Space domain: 50 real cells + 2 ghost (boundary) cells, dx = 1 m
  • Time domain: 1000 s, dt = 0.02 s
  • Running time is total elapsed time (user+system), normalized to minimum value
  • Memory requirement is an estimated value, based on array dimensions of the main variables (8 bytes per double precision variable), normalized to minimum value

[_code | result] 1D Lagrangian fluid dynamics, compressible, explicit – piston problem

[_code | result] 1D Lagrangian fluid dynamics, compressible, explicit – shock tube problem

[_code | result] 1D Eulerian fluid dynamics, compressible, explicit – piston problem

[_code | result] 1D Eulerian fluid dynamics, compressible, explicit – shock tube problem

Lagrangian method produces sharper shock profile compare to Eulerian method

[_code | result] 2D Eulerian fluid dynamics, incompressible, semi-implicit

[_code | result] 2D Eulerian fluid dynamics with heat transfer, incompressible, semi-implicit

[_code | result] 2D Eulerian fluid dynamics, compressible, semi-implicit

[_code | result] 2D Eulerian fluid dynamics with k-epsilon turbulence transport model

Mohon beritahu saya kalau anda menemukan bug di dalam code2 tsb, trimakasih 🙂

Leave a comment