bab 2 landasan teori 2.1 teori simulasi -...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Teori Simulasi
Simulasi yang juga dapat disebut pengimitasian adalah meniru atau
menggambarkan operasi-operasi yang terjadi pada berbagai macam fasilitas atau
proses yang terjadi pada kehidupan nyata dengan menggunakan bantuan
komputer (Law dan Kelton, 2000, p1). Fasilitas atau proses yang disebutkan di
atas itulah yang dikenal dengan nama sistem.
Dalam simulasi, komputer digunakan sebagai alat bantu untuk
mengevaluasi sebuah model secara numerik, dan data-data dikumpulkan untuk
mengestimasi karakteristik sesungguhnya dari sebuah model. Secara umum,
sistem dapat dipelajari perilakunya dengan menggunakan beberapa metode pada
diagram berikut.
Gambar 2.1 Cara Mempelajari Sistem Sumber: Law, 2000, p4
8
2.2 Metode Lattice Boltzmann (LBM
Metoda Lattice Boltzmann (Thurey, 2003), sesuai dengan namanya,
bekerja dalam area lattice. Ada beragam jenis lattice yang dapat digunakan,
tergantung pada lingkungan pengaplikasiannya. Penamaannya pun disesuaikan
menurut aturan DXQY, di mana X adalah jumlah dimensi, misalnya 3, dan Y
menunjukkan banyaknya arah kecepatan lattice. LBM merupakan salah satu jenis
cellular automata, yang berarti fluida terbentuk dari banyak sel sejenis. Semua
sel diperbaharui di setiap langkah waktu dengan aturan sederhana, dengan ikut
memperhitungkan sel-sel di sekitarnya.
LBM memodelkan fluida yang tak mampu-mampat (incompressible) di
mana partikel fluida hanya dapat bergerak searah dengan vektor kecepatan
lattice. Satu sel model D3Q19 ditunjukkan di Gambar 2.2. Setiap sisi dari sel
tersebut memiliki panjang 1. Dari gambar tersebut juga terlihat vektor kecepatan
lattice dan sudah diberi nomor. Vektor-vektor itu mengarah dari inti atau tengah
sel ke setiap sisi kotak dan juga ke tengah tiap rusuk dari kotak tetapi tidak
menunjuk pada pojok-pojok kotak.
Untuk keperluan simulasi, semua sel harus menyimpan informasi partikel
yang bergerak menurut arah masing-masing vektor kecepatan dengan fungsi
distribusi partikel. Fungsi ini dinotasikan dengan if di mana nilai i menunjukkan
nomor vektor lattice. Vektor dengan nomor 0 mempunyai panjang 0 dan
menyimpan jumlah partikel yang berhenti di sel bersangkutan. Partikel ini tidak
akan bergerak kemana-mana di langkah waktu berikutnya, tetapi beberapa
9
diantaranya mungkin akan dipercepat (bergerak) karena tabrakan dengan partikel
lain, jadi jumlah partikel yang diam bisa saja berubah.
Ada dua nilai penting yang dapat dihasilkan dari fungsi distribusi
partikel. Dengan menjumlahkan semua (19) fungsi distribusi, didapatkan
kepadatan (massa / volume) dari sel, dengan asumsi semua partikel mempunyai
massa yang sama yaitu 1. Informasi penting lain yang didapat untuk setiap sel
adalah kecepatan dan arah kecenderungan kemana partikel dari setiap sel
bergerak. Untuk itu, momentum dari kepadatan perlu dihitung, yaitu jumlah dari
semua fungsi distribusi partikel, tetapi setiap distribusi terlebih dahulu dikalikan
dengan vektor lattice. Sehingga, fungsi distribusi partikel 0 akan dikalikan
dengan vektor ( )T0,0,0 , yang selalu menghasilkan 0, fungsi distribusi 1f
dikalikan dengan ( )T0,0,1 dan ditambahkan dengan fungsi distribusi 2f dikalikan
( )T0,0,1− dan seterusnya. Dari kalkulasi di atas didapatkan hasil dalam vektor
dimensi 3 yang panjangnya ditentukan oleh kepadatan volume. Jadi, cukup
dengan membagi momentum kepadatan dengan kepadatan, didapatkan vektor
kecepatan untuk satu sel. Secara sederhana, kepadatan diberi nilai 1 di awal
simulasi. Karena LBM digunakan untuk mensimulasi fluida yang tidak dapat
dipadatkan, yang artinya nilai kepadatan yang konstan di setiap bagian dari
fluida, keterikatan ini merenggang selama proses simulasi. Dalam simulasi,
biasanya akan dijumpai perbedaan kepadatan, tetapi secara keseluruhan masih
akan membentuk satu fluida tak mampu-mampat.
10
Gambar 2.2 Model D2Q19 (kiri) dan model D2Q9 (kanan)
Proses simulasi LBM terdiri dari 2 tahap yang diulang setiap langkah
waktu. Yang pertama adalah tahap aliran, di mana perpindahan sebenarnya dari
partikel melalui grid dilakukan. Tahap berikutnya menghitung tabrakan yang
terjadi selama pergerakan itu, sehingga dinamakan tahap tabrakan.
Tahap aliran hanya terdiri dari operasi salin, seperti yang ditunjukkan di
Gambar 2.3. Untuk setiap sel, semua fungsi distribusi disalin ke sel tetangga
yang searah dengan vektor lattice. Sedangkan fungsi distribusi sel dengan
koordinat [ ]kji ,, untuk vektor yang menunjuk ke atas disalin ke fungsi distribusi
yang mengarah ke atas dari sel [ ]kji ,1, + . Fungsi distribusi untuk vektor 0 tidak
berubah dalam tahap aliran karena vektor tersebut tidak menunjuk kemana-mana.
Dalam prakteknya, ketika membuat program, cara termudah adalah membuat dua
grid yang berbeda dan menyalin fungsi distribusi dari satu grid ke grid lain. Hal
ini penting untuk mencegah terjadinya fungsi distribusi yang berubah padahal
datanya masih diperlukan untuk tahap aliran sel lain.
11
Gambar 2.3 Fungsi distribusi partikel pada model D2Q9 LBM sebelum dan sesudah tahap aliran.
Tahap tabrakan sedikit lebih rumit. Setelah tahap aliran selesai
dieksekusi, hasilnya adalah fungsi distribusi yang bergerak pada grid. Kecepatan
dan kepadatan dari sel juga akan berubah, tanpa interaksi lebih lanjut. Namun,
pada fluida di alam nyata, partikel-partikel fluida secara konstan saling
bertabrakan, memencarkan partikel lain ke arah yang berlainan, karena
gerakannya kacau mempengaruhi lapisan tetangganya dalam fluida. Tahap
tabrakan tidak mengubah kepadatan ataupun kecepatan dari sel, tetapi hanya
mengubah distribusi partikel untuk semua fungsi distribusi partikel. (Gambar
2.4)
Gambar 2.4 Tahap tabrakan pada sel
12
Ambil satu contoh satu sel [ ]kji ,, di mana fluida bergerak searah sumbu
x positif. Sel tersebut tidak akan kehilangan partikel selama tabrakan, tetapi
gerakannya akan berpencar ke lattice lain yang ditunjuk oleh vektor kecepatan
yang searah sumbu x positif. Pada tahap aliran berikutnya, sel-sel tetangga pada
koordinat x di 1+i akan menerima fungsi distribusi partikel yang sedikit lebih
besar dari sel [ ]kji ,, , dan sel pada 1−i akan menerima fungsi yang lebih lemah.
Waktu relaksasi ω dengan nilai berkisar antara 0 sampai 2, menentukan
viskositas dari fluida. Untuk nilai ω kecil (< 1), fluida akan berperilaku lebih
seperti madu, sementara dengan nilai 2, fluida yang dihasilkan akan sangat kacau
(lebih menyerupai air) (Gambar 2.5).
Gambar 2.5 Relaksasi waktu tunggal dengan waktu relaksasi yang berbeda
13
Kepadatan dari sel akan dinotasikan dengan ρ sedangkan vektor
kecepatan dinotasikan dengan Tuuuu ),,( 321=r . Vektor kecepatan dari lattice pada
Gambar 2.2 adalah 18..0er , masing-masing mempunyai bobot ωi. Untuk tahap
tabrakan, nilai kesetimbangan fungsi distribusi perlu dihitung dari kepadatan dan
kecepatan :
( ) ( ) ( ) ⎥⎦⎤
⎢⎣⎡ ⋅+⋅+−= 22
293
23 ueueuf iii
eqi
rrrrrρω (2.1)
Dengan ωi = 1/3 untuk i = 0, ωi = 1/18 untuk i = 1..6 dan ωi = 1/36 untuk i =
7..18. Ketiga produk skalar dari vektor kecepatan dan vektor lattice dapat
dihitung dengan mudah. Ketiganya perlu diskala dengan sesuai dan kemudian
dijumlahkan menurut bobot dan kepadatan. Nilai waktu relaksasi ω akan
menentukan fluida dapat mencapai titik kesetimbangan lebih cepat atau lebih
lambat. Fungsi distribusi partikel yang baru if ′ dihitung menurut persamaan:
( ) eqiii fff ωω +−=′ 1 (2.2)
Dan kemudian if ′ akan disimpan dalam sel yang sesuai. Ketika semua sel sudah
bertabrakan, maka tahap aliran berikut dapat dilaksanakan.
Secara numerik LBM bisa diselesaikan dengan 2 tahap yaitu tahap aliran
(2.3) dan tahap tabrakan (2.4) yang dapat digabungkan dalam satu rumus (2.5):
( ) ( )1,, −−′= texftxf iiirrr (2.3)
( ) ( ) ( ) ( )( ) ieq
iiii Ftxftxftxftxf +−−=′ ,,1,, rrrr
τ (2.4)
( ) ( ) ( ) ieq
iiiii Ffftxftttexf +−−=−Δ+Δ+τ1,, rrr (2.5)
di mana Fi adalah gaya luar, misalnya gravitasi.
14
2.3 Persamaan Boltzmann
Persamaan Boltzmann telah dikenal sejak tahun 1872 dan dinamai sesuai
dengan nama ilmuwan asal Austria, Ludwig Boltzmann. Persamaan ini
merupakan bagian dari fisika statistik klasik dan menggambarkan perilaku gas
pada skala mikroskopis.
Teori gas kinetis menangani hal yang berhubungan dengan
penggambaran status gas pada tingkat molekul (Thurey, 2003). Teori ini
memperkenalkan suatu fungsi untuk menggambarkan status gas dengan
memperhitungkan posisi dan kecepatan setiap molekul gas. Sebuah ruang 3D
membutuhkan tiga nilai, oleh karena itu sebuah molekul dapat dideskripsikan
dengan enam nilai ),,,,,( 321 zyxxxx ξξξ di mana xxxx r=),,( 321 merupakan
posisi, dan ξξξξr
=),,( zyx adalah kecepatan molekul. Suatu gas dengan N
molekul dapat dideskripsikan pula dengan N titik dalam dimensi enam (biasanya
disebut dengan μ-space).
Untuk menangani deskripsi molekul, teori gas kinetis menyebutkan suatu
fungsi untuk sebuah volume ξrrdxd pada ),,,,,( 321 zyxxxx ξξξ dalam μ-space
yang menggambarkan kepadatan gas. Dengan dN menjadi angka titik dari
volume ini (semua molekul dengan posisi dan kecepatan pada jarak yang telah
ditentukan), maka
ξξ rrrr
dxddNxf =),( (2.10)
adalah fungsi distribusi kecepatan molekul. Mengintegrasikan fungsi ini pada
semua nilai-nilai yang mungkin akan menghasilkan N, yakni jumlah molekul
15
total. f sekarang hanya terdiri atas semua partikel dalam satu interval di sekitar
x yang bergerak dengan arah yang sama.
Penurunan persamaan Boltzmann dapat dilakukan dengan taksiran
tabrakan yang terjadi hanya antara dua partikel. Tabrakan antara dua partikel ini
dianggap berlangsung sekejap dan tidak dipengaruhi oleh gaya luar. Jika
memasukkan gaya luar g maka persamaan Boltzmann dapat ditulis sebagai
berikut :
)( ffgxf
tf
Ω=∂∂
+∂∂
+∂∂
ξξ r
rr
r (2.11)
Pada persamaan di atas, ruas kiri menggambarkan gerakan keseluruhan
dari molekul dengan kecepatan mikroskopik ξr
melalui medan gaya gr pada xr ,
sedangkan ruas kanan menunjukkan interaksi molekul dengan operator tabrakan.
Persamaan integral yang memuat differential collision cross section σ pada dua
partikel, yang bisa dihitung secara geometris dengan pendekatan bola tegar untuk
molekul. Kecepatan partikel yang masuk diubah menjadi kecepatan keluaran
sehingga persamaan tersebut menunjukkan hubungan dengan dinamika molekul
yang dasar. Ω untuk dua partikel dengan kode 1 dan 2 dapat ditulis sebagai
berikut :
2212121 ),()()( xdduufffff rrrrr ωωσ −−′′=Ω ∫ (2.12)
di mana ωr
menunjukkan sudut pada tabrakan yang terjadi. Seperti terlihat di
persamaan di atas, cross section σ dihitung dengan tabrakan solid dan kecepatan
relatif dari kedua partikel yang bertabrakan 21 uu rr− .
16
Dikarenakan rumitnya sifat operator tabrakan, maka operator tabrakan
sering digantikan dengan persamaan yang lebih sederhana, tetapi tetap
mempertahankan faktor-faktor tabrakan. Model standar untuk masalah tabrakan
ini adalah taksiran BGK (Bhatnagar-Gross-Krook) . Bunyinya :
ωfff
eq
BGK−
=Ω )( (2.16)
Disini eqf adalah distribusi Maxwellian yang merepresentasikan
kesetimbangan lokal dan dipengaruhi oleh kepadatan yang tetap ρ, kecepatan
ξr
dan suhu T. Tiap tabrakan mengubah fungsi distribusi 1f proposional terhadap
nilai awal dari kesetimbangan lokal eqf , di mana jumlah dari koreksinya diubah
seturut relaksasi waktu ω .
Untuk 3D, fungsi distribusi Maxwell (terkadang disebut juga distribusi
Maxwell-Boltzmann) dapat dituliskan:
RTmu
M eRT
mf 2)(2/32 22
2
rr−−
⎟⎟⎠
⎞⎜⎜⎝
⎛=
ξ
πρ (2.20)
di mana aξ adalah kecepatan alitan makroskopik, ρ adalah kepadatan fluida, T
adalah suhu fluida, R adalah konstanta Boltzmann (1,38066x10-23 J/K), dan m
adalah massa partikel.
2.4 Turunan Persamaan Boltzmann
Penurunan persamaan Boltzmann berikut menurut penjelasan dari
Thurey. Metoda yang dijelaskan disini memungkinkan penurunan persamaan
Boltzmann dari persamaan kinetis acak. Untuk selanjutnya, notasi berikut akan
17
digunakan )(),,( tftxf =ξrr dan )(),,( atfataxf +=++ ξξ
rrr . Notasi yang sama
juga berlaku untuk g.
Sebagai langkah awal, persamaan Boltzmann dengan taksiran tabrakan
BGK akan digunakan sebagai berikut:
( ))()(1)()( tgtftfttf
−−=∇+∂
∂λ
ξr
(2.21)
di mana f adalah fungsi distribusi partikel pada waktu t, posisi xr untuk
kecepatan mikroskopik ξr
, dan nA ⋅=λ1 adalah waktu relaksasi untuk tabrakan
yang dihitung dari jumlah partikel n dan koefisien proporsional A. g adalah
distribusi Maxwell Mf dari persamaan 2.20.
Properti hydrodinamik dari fluida, yakni kepadatan ρ, kecepatan ur dan
suhu T dapat dihitung dengan momen dari fungsi f. Di bawah ini, energi ε dari
kepadatan energi ρε dapat digunakan untuk menghitung temperatur dari fluida.
( )∫= ξξρrrr dtxf ,, (2.22)
( )∫ ⋅= ξξξρrrrr dtxfu ,, (2.23)
( ) ( )∫ ⋅−= ξξξρεrrrrr
dtxfu ,,21 (2.24)
2.3.1 Diskritasi waktu
Persamaan 2.21 dapat dirumuskan sebagai persamaan diferensial
normal atau Ordinary Differential Equation (ODE):
gfdtdf
λλ11
=+ (2.25)
di mana
∇+∂∂
= ξr
tDtD (2.26)
18
adalah turunan waktu sepanjang kecepatan mikroskopis. Persamaan 2.25
adalah ODE linier urutan pertama, oleh karena itu, digunakan rumus
standar untuk menyelesaikan persamaan seperti ini, solusi
penyelesaiannya didapat dengan:
( ) ( ) ( ) tdttgeeetftfttt t
t ′′+⋅+⋅=+ ∫′
−−δ
λλδ
λδ
λδ
0
1 (2.27)
Dengan menganggap bahwa tδ sangatlah kecil dan g merupakan
fungsi halus, ( )ttg ′+ dapat ditaksirkan dengan interpolasi linier untuk
tt δ<′<0 :
( ) ( ) ( )2)(1 tttt
Otgttgtttg δδδδ
+++′
+⎟⎟⎠
⎞⎜⎜⎝
⎛ ′−=′+ (2.28)
Persamaan ini dapat digunakan untuk menyelesaikan integral persamaan
2.27.
( ) ( ) [ ] ( ) ( )[ ]tgttgetgtfetftftt
tt −′+⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛−++−⎟
⎟⎠
⎞⎜⎜⎝
⎛−=−+
−−11)()(1 λ
δλδ
δλδ
(2.30)
Lebih lanjut, λδ t
e−
dapat diperluas menurut Taylor terhadap tδ
berikut ini:
( )λδ
δλ
δλδ
λδ
ttt Oeee
tt
−≈+⎟⎠⎞
⎜⎝⎛−+==
+−−
111 200
(2.31)
Jadi persamaan 2.30 dapat disederhanakan menjadi:
( ) ( ) ( ))()( tgtftftf tt −−=−+
λδ
δ (2.32)
19
Disini, waktu relaksasi λδ t ¸ biasanya ditulis dengan
τ1 . Rumus ini mirip
dengan persamaan 2.3 di penjelasan sebelumnya.
2.3.2 Taksiran Kesetimbangan
Distribusi Maxwell yang digunakan sebagai fungsi distribusi
kesetimbangan g telah dijelaskan pada bagian sebelumnya (lihat
persamaan 2.20). Untuk massa partikel sebesar 1 dan dimensi D maka
dibaca:
( )
( )RTu
D eRT
ug 22
2
2)(
rr
r−
−=
ξ
πρ (2.33)
Dengan memperluas bentuk quadratic pada eksponen e dan dilanjutkan
dengan perluasan Taylor maka akan menghasilkan persamaan-persamaan
berikut (disini ( ) ⎟
⎟⎠
⎞⎜⎜⎝
⎛ −RT
D eRT
22
2
2
ξ
πρ
r
akan disingkat menjadi β ):
( )
( ) ( ) ( ) ( )
( )( ) ⎟
⎟
⎠
⎞
⎜⎜
⎝
⎛−
⋅+
⋅+⋅=
+′′+′+=
=+−
RTu
RTu
RTu
uOgugug
eug RTu
RTu
221
02
00
0
2
2
2
32
2
2
rrrrr
rr
r
rrrr
ξξβ
βε
Rumus berikut ini akan digunakan sebagai distribusi kesetimbangan
untuk turunan berikut:
( )( )( ) ⎟
⎟
⎠
⎞
⎜⎜
⎝
⎛−
⋅+
⋅+=
−
RTu
RTu
RTue
RTf RT
Deq
221
2
2
2
2
22
2 rrrrrr
ξξπρ ξ
(2.34)
20
2.3.3 Diskritasi kecepatan
Agar lebih sederhana, model D2Q9 akan diturunkan pada bagian
ini. Seperti yang dapat dilihat pada persamaan 2.22, momen integral di
seluruh ruang kecepatan diperlukan.
Momen pada persamaan 2.34 pada 2D dapat secara umum ditulis
sebagai berikut:
( )( )
( ) ( )∫∫ ⎟
⎟
⎠
⎞
⎜⎜
⎝
⎛−
⋅+
⋅+==
−ξξξξψ
π
ρξξψξ rrrrrr
rrrr
dRTu
RTu
RTue
RTdfI RT
Deq
221
2
22
2
2
2
(2.35) di mana ψ adalah fungsi momen, yang terdiri dari kekuatan komponen-
komponen kecepatan
( ) ny
mx ξξξψ =
r (2.36)
Untuk selanjutnya persamaan 2.35 dapat ditulis dengan cara sebagai
berikut:
( ) ( ) ( )
( )( )
( ) ( )( )
( ) ( )( ) )
2
22
22
2
1(2
4
22222
2
222
22
2
22
2
22
2
22
2
22
∫
∫
∫
∫
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ ++
+⎟⎟⎠
⎞⎜⎜⎝
⎛ +
+⎟⎟⎠
⎞⎜⎜⎝
⎛ +
−⋅=
+−
+−
+−
+−
−
ξξξξξ
ξξ
ξξξ
ξξ
ξξξ
ξξξπρ
ξξ
ξξ
ξξ
ξξ
r
r
r
r
dRT
uuuue
dRT
uue
dRT
uue
deRTI
yyyyxxxxRTny
mx
yyxxRTny
mx
yxRTny
mx
RTny
mx
yx
yx
yx
yx
(2.37)
Langkah-langkah berikutnya perlu untuk setiap empat batasan integral
dari persamaan 2.37, tetapi kesemuanya diproses sesuai dengan yang
ditunjukkan pada batasan pertama yaitu:
21
( ) ( )
( ) ( ) ( )⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛⋅=
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛⋅
∫ ∫
∫
−−−
+−
−
yxny
RTmx
RT
RTny
mx
ddeeRT
deRT
yx
yx
ξξξξπρ
ξξξπρ
ξξ
ξξ
2
2
2
2
2
22
222
22
2
2r
( ) ( )( ) n
xmx
nm
ymyx
mx
nm
IIRT
dedeRT xx
2
2
2
222
−+
−−−+
=
⋅⋅= ∫ ∫
πρ
ζζζζπρ ζζ
(2.38)
Dapat dilihat bahwa miI adalah momen ke-m dari fungsi
2ς−e . Persamaan
2.37 dapat ditulis ulang menggunakan momen-momen berikut:
( ) ( )( )
( )]
22
2
21[2
221122
11
22
RTIIuIIuuIIu
RTIIuIIu
IIRTuRTI
ny
mxy
ny
mxyx
ny
mxx
ny
mxy
ny
mxx
ny
mx
nm
++++
++
−+
++
++
+⎟⎟⎠
⎞⎜⎜⎝
⎛−=
r
πρ
(2.39)
Langkah krusial pada turunan LBM adalah pada penggunaan rumus
quadrature yang tepat untuk mengintegrasikan momen-momen tersebut
secara numerik. Cara kerja quadrature adalah sebagai berikut:
)()()(1
j
N
jj xfwdxxWxf ∑∫
=
= (2.40)
di mana W(x) adalah fungsi pembobot, 2xe− di kasus ini, dan f(x) adalah
sebuah polinomial pada x, contohnya ( ) mxxf ςς = . Integral dari perkalian
kedua fungsi ini ditaksirkan dengan pemjumlahan atas evaluasi-evaluasi
22
fungsi pada nilai x = xj dengan bobot wj . Pada kasus ini, quadrature
Gauss-Hermite dari orde ketiga (N = 3):
mj
jj
mi wI )(
3
1
ς∑=
= (2.41)
dengan bobot dan abscissas sebagai berikut:
23,0,23 321 +==−= ςςς (2.42)
6,
32,
6 321πππ
=== www (2.43)
Setelah menggunakan quadrature Gauss-Hermite, fungsi momen dapat
disingkat menjadi bentuk berikut:
( ) ( )( ) ⎟
⎟
⎠
⎞
⎜⎜
⎝
⎛−
⋅+
⋅+= ∑∑
= = RTu
RTu
RTuwwI ji
i jji 22
12
2
23
1
3
1
rrrrrξξςψ
πρ (2.44)
di mana ji ,ς adalah vektor yang diberikan oleh abscissas quadrature
( )( )Tjiji RT ςςς ,2, = . Karena adanya penggunaan model isothermal,
suhu T tidak memiliki relevansi secara fisik, dan dapat digantikan dengan
konstanta RTc 3= . Kecepatan suara 3/ccs = pada model
menghasilkan RTccs == 322 . Bobotnya kemudian dibagi dengan π dan
menjadi:
361,,,
91,,,94
331113318..5
322312214..1
220
==
====
wwwwwwwww
wwwwwwwwwwww
(2.45)
Tiap komponen dari vektor bernilai 0 atau cRTRT =±=± 3232 :
23
( )( ) ( )( ) ce
cce
e
T
TT
T
1,1,,,
,0,0,1,,,
0,0
3,31,11,33,18..5
3,22,31,22,14..1
1,10
±±==
±±==
==
ςςςς
ςςςς
ς
r
r
r
(2.46)
Dengan kecepatan-kecepatan diskrit ini, persamaan 2.44 akan membaca:
( )∑= egfewI αααψr (2.47)
di mana wα dapat diidentifikasikan sebagai RTeRT 2
2
2ξ
π
r
dan menghasilkan
bentuk fungsi distribusi kesetimbangan untuk setiap kecepatan:
( )⎟⎟⎠
⎞⎜⎜⎝
⎛−
⋅+
⋅+= 24
2
2 23
2931
cu
cue
cuewf qe
rrrrr
ραα (2.48)
2.5 Kajian/Hasil Penelitian Terdahulu
Beberapa pendekatan telah dieksplorasi demi mensimulasi dinamika
fluida dengan parangkat komputer. Permodelan berbasiskan fisika pertama kali
diajukan oleh Wejchert dan Haumann pada tahun 1991 dan menghasilkan solusi
analitik. Sayangnya, waktu komputasi dan keperluan memori yang besar masih
menjadi kendala. Metode finite differences dalam 3D dikenalkan oleh Foster dan
Metaxas pada tahun 1997, akan tetapi finite dfferences tidak stabil untuk langkah
waktu yang besar dan membatasi kecepatan simulasi (Thurey, 2003).
Pada tahun 1999, Jos Stam menunjukkan metoda yang stabil dengan
menggunakan semi-Langrangian advection dan implicit Navier-Stokes solver.
Metode ini mampu mensimulasikan aliran yang tidak stabil atau bergoncang dan
dapat dieksekusi secara real-time pada sebuah grid resolusi rendah.
24
Aplikasi Cellular automata untuk dinamika fluida pertama kali
dikemukakan dalam bentuk model LGCA HPP oleh Hardy, de Pazzis dan
Pomeau pada tahun 1973. Model HPP ini menggunakan distribusi ”ubin
persegi”. Model HPP gagal dalam mensimulasikan persamaan Navier-Stokes
karena simetri ubin-ubin persegi yang hanya ada 4 tersebut tidak mencukupi
sehingga memberikankan hasil yang tidak isotropis (tidak konsisten pada
orientasi koordinat sumbu/poros). Kemudian, Frisch, Hasslacher dan Pomeau
menghasilkan sebuah FHP lattice heksagonal dan menunjukkan bahwa suatu
bentuk segi 6 cukup untuk menyelesaikan persamaan Navier-Stokes pada batasan
makroskopis. Jika HPP dan FHP digunakan secara bersamaan dengan teknik-
teknik pemrograman seperti multi-spin coding dapat dengan efisien diprogram
kembali untuk komputasi paralel pada banyak desktop PC.
Masalah yang ada pada LGCA adalah kondisi binernya yang alamiah,
yakni adanya usaha untuk mensimulasikan partikel secara individu dan akhirnya
menghasilkan distribusi butiran hitam dan putih.
LBM bila dibandingkan dengan metode-metode pemodelan fluida yang
digunakan dalam industri perfilman memiliki beberapa kelebihan dan
kekurangan (Thurey, 2007).
Gambar 2.6 Perbandingan Beberapa Metoda Simulasi
25
2.6 Rekayasa Piranti Lunak
Rekayasa Piranti Lunak menurut Fritz Bauer (Pressman, 2005) adalah
penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan
piranti lunak yang ekonomis yaitu terpecaya dan bekerja efisien pada mesin.
Menurut Pressman (2005, p24), rekayasa piranti lunak mencakup 4
lapisan teknologi, yaitu:
1. Fokus kualitas (a quality focus)
Semua proses rekayasa harus berpusat pada kualitas. Pengaturan kualitas
yang menyeluruh mendasari perkembangan piranti lunak yang lebih
matang dan baik.
2. Model Proses (software engineering process)
Merupakan dasar dari rekayasa piranti lunak. Lapisan ini membentuk
dasar untuk manajemen projek piranti lunak dan membangun suatu
konteks metoda teknis yang digunakan, produk yang dihasilkan,
milestone yang dibuat, pengawasan kualitas, dan perubahan supaya
semuanya diatur secara benar.
3. Metode-metode (software engineering methods)
Bagian ini informasi bagaimana membangun suatu piranti lunak secara
teknis. Lapisan ini mencakup analisis kebutuhan, rancangan, konstruksi
program, pengujian, dan support.
4. Alat-alat bantu (software engineering tools)
Alat-alat bantu ini mendukung lapisan metode dan lapisan proses baik
secara otomatis ataupun semi-otomatis.
26
Dalam rekayasa software dikenal istilah daur hidup piranti lunak
(software life cycle) yaitu serangkaian kegiatan yang dilakukan selama masa
rekayasa software. Model waterfall merupakan model yang paling umum pada
rekayasa piranti lunak. Model waterfall terdiri dari tahap-tahap:
1. Analysis
Pada tahap ini, informasi kebutuhan terhadap piranti lunak dikumpulkan
termasuk domain informasi, fungsi yang dibutuhkan, performa, dan antar-
muka.
2. Design
Tahap ini meliputi empat bagian utama dari piranti lunak yaitu
struktur data, arsitektur piranti lunak, representasi antar-muka, dan
prosedur atau detail algoritma
3. Construction / Coding
Tahap ini adalah tahap menterjemahkan rancangan pada tahap
sebelumnya menjadi bentuk yang dimengerti mesin.
4. Testing
Tahap ini terfokus pada logical piranti lunak, dan memastikan
semua perintah telah diuji dan berjalan dengan semestinya. Tahap ini
mencoba mencari semua kesalahan yang mungkin terjadi selama
pengoperasian piranti lunak.
5. Operation and Maintanence
Tahap ini mengakomodasi operasi piranti lunak dan perubahan
yang mungkin dilakukan karena kesalahan yang ditemukan.
27
2.7 Alat Bantu Perancangan
Alat bantu yang digunakan dalam perancangan program simulasi fluida
akan dibahas pada bagian ini.
2.6.1 Diagram Alir (Flow Chart)
Diagram alir adalah sebuah skema yang merepresentasikan
sebuah algoritma atau sebuah proses. Adapun simbol-simbol dari diagram
alir yang digunakan dalam ilmu komputer :
Gambar 2.7 Simbol-simbol Diagram Alir
2.6.2 Use Case Diagram
Use Case menunjukkan hubungan interaksi antara aktor dengan
use case di dalam suatu sistem (Mathiassen, 2000, p343) yang bertujuan
untuk menentukan bagaimana aktor berinteraksi dengan sebuah sistem.
Aktor adalah orang atau sistem lain yang berhubungan dengan sistem.
Tiga simbol yang mewakili komponen sistem seperti terlihat dibawah ini:
Simbol untuk mulai dan selesai
Simbol untuk menentukan aliran data yang dilakukan
Simbol untuk langkah proses
Simbol untuk merepresentasikan sebuah kondisi atau keputusan. Biasanya berisi pertanyaan ya/tidak atau test benar/salah
28
Gambar 2.8 Simbol-simbol Use Case Diagram
2.6.3 Class Diagram
Class Diagram menggambarkan struktur statis dari suatu sistem
yaitu struktur class, atribut class, dan hubungan antar class. Dalam class
diagram, atribut maupun operasi dari suatu class biasanya ditandai
dengan + untuk akses public, - untuk akses private, dan # untuk akses
protected. Berikut ini adalah simbol umum dalam class diagram:
Gambar 2.9 Simbol-simbol Class Diagram
2.6.4 Pseudocode
Pseudocode adalah suatu deskripsi algoritma pemrograman
komputer yang ringkas dan informal yang menggunakan konvensi
struktural dari beberapa bahasa pemrograman, tetapi ditujukan untuk
dibaca orang manusia dan bukan mesin. Pseudocode umumnya tidak
menghiraukan detil-detil penrograman yang tidak penting untuk mengerti
29
sebuah algoritma, seperti deklarasi variabel atau subroutine. Selain
digunakan untuk menjelaskan sebuah algoritma, pseudocode juga
digunakan untuk merencanakan struktur program secara kasar.
Pseudocode dapat merupakan alternatif lain dalam perancangan
perangkat lunak disamping alat-alat bantu berupa diagram. Tidak ada
standarisasi dalam hal penulisan pseudocode.
2.8 OpenGL
OpenGL adalah spesifikasi standar untuk membangun aplikasi 2D dan
3D yang interaktif dan tidak dibatasi platform. Sejak dikenalkan pada tahun
1992. OpenGL menjadi antarmuka pemrograman aplikasi (API) untuk gambar
2D dan 3D yang paling banyak digunakan dalam industry dan digunakan dalam
ribuan aplikasi yang berbeda pada platform komputer yang beragam. OpenGL
mempercepat rekayasa aplikasi dengan menyediakan fungsi-fungsi beragam
untuk rendering, texture mapping, efek visual, dan fungsi visualisasi lainnya.
Operasi dasar OpenGL adalah menerima informasi primitif seperti titik,
garis, atau polygon kemudian mengubahnya menjadi pixel untuk ditampilkan.
OpenGL bekerja pada data gambar maupun data geometri.
Gambar 2.10 Alur kerja OpenGL