23 Bab III Metode Penelitian Sebelum melalukan simulasi fluida menggunakan metode Smooth Particle Hydrodynamics, peneliti melalukan beberapa uji yang perlu dilakukan agar simulasi berjalan dengan baik. Uji yang dilakukan yaitu pertama dengan pengujian perangkat yang akan digunakan pada simulasi fluida, dikarenakan simulasi fluida memerlukan perhitungan yang kompleks sehingga memerlukan spekulasi komputer yang memadai dalam menjalankan. Uji kedua yang digunakan yaitu uji pemilihan fungsi kernel yang dipilih agar mendapatkan simulasi seperti asli. Uji terakhir yang digunakan yaitu uji validasi simulasi fluida, dimana pada tahap ini membandingkan hasil simulasi dengan dengan simulasi asli. III.1 Visualisasi Interaksi Partikel Fluida Tanpa Hambatan Pada penelitian awal ini peneliti membuat visualisasi fluida dengan tanpa hambatan pada penelitian awal agar visualisasi fluida untuk penelitian dengan hambatan sesuai dengan yang diharapkan dalam mensimulasikan aliran fluida melewati Boundary. Proses visualisasi fluida tanpa hambatan secara umum dimulai dengan memasukkan parameter dalam simulasi yaitu nilai massa, densitas, smoothing length, viskositas, konstanta gas, percepatan gravitasi, jumlah partikel, volume koefisien damping dan time step. Kemudian parameter dimasukkan kedalam persamaan Navier-Stoke untuk mendapat nilai “ � �R �P ”. Setelah mendapatkan nilai tersebut maka nilai “ � �R �P ” diintegrasikan dengan memindahkan � keruas kanan yang sesuai dengan persamaan 2.12 untuk mendapatkan nilai v kecepatan setiap time stepnya. Nilai v dan r tersebut kemudian akan diperbarui akibat tumbukan dengan dinding wadah sehingga menyebabkan kecepatan dan posisi partikel berubah. Untuk melihat proses simulasi secara umum dapat digambarkan pada diagram alir seperti dibawah ini: 24 Gambar 3.1 Flowchart visualisasi Fluida Jika dituliskan secara umum algoritma yang digunakan dalam program SPH penelitian ini adalah sebagai berikut : 1. while animating do : 1.1 for each particle I do : search neighbours j of particle i If jME and |r|Qh Calculate density for each particle position ρᵢ = (315 M) / (64 π h⁹) ∑ⱼ (h² − (N ÜFN Ý)²)³ Save neighbour list End if End for 25 Calculate pressure at each particle's position ( κ is the isentropic exponent, ρ₀ is a base density) pᵢ = κ * (ρ − ρ₀) 2. for each particle I do : 2.1 for each particle j in saved neighbour do(m is mass of particle) : Tekanan = (− (45m) / (π h⁶)) ∑ⱼ −(N Ý− rᵢ) / (N ÜFN Ý) (pⱼ + pᵢ) / (2 ρⱼ) (h–(N ÜFN Ý)² Calculate the viscosity of each particle Viskositas = (45 μ m)/(π h⁶) ∑ⱼ (vⱼ−vᵢ) / (ρⱼ) (h –(N ÜFN Ý) End for End for 3. For each particle I do : Calculate O—: – ÜL 6AG=J=J E 8EOGKOEP=O E CN=REP=OE 4. for each particle I do : Integrate the Ordinary Differential Equation ρ Duᵢ/Dt with a Δt timestep 4.1 Update the particles' velocities uᵢ ← uᵢ + Δt —: – Ü / ρᵢ 4.2 Update the particles' positions xᵢ ← xᵢ + Δt uᵢ 5. Enforce the wall Boundary Conditions. If a particle leaves the domain then: 3.1 Set its position to the Boundary 3.2 Inverse its velocity component perpendicular to the wall 3.3 Multiply the velocity component perpendicular to the wall with a damping factor 6. end while Algoritma III.1 Algoritma SPH secara umum.(Muller, 2003) Algoritma dan flowchart diatas menggambarkan bagaimana simulasi ini berjalan. Dalam setiap loop nya, langkah awal adalah memasukkan nilai parameter untuk persamaan yang akan dikomputasikan menjadi sifat fluida. Setelah memasukkan nilai input persamaan, untuk memasukkan kedalam persamaan Navier-Stokes untuk mencari nilai gaya eksternal dan internal. Dikarenakan fluida diumpamakan 26 seperti partikel maka diwajibkan untuk mencari tetangga terdekat agar di rata- ratakan nilai massa jenisnya dan tekanannya dengan syarat FME dan NRD. Nilai inilah yang akan dimasukkan kedalam persamaan 2.23 yaitu: � Ü L�I Ý9 ãâßì::N ÜFN Ý�D; Ý Untuk mencari nilai � Ü partikel dari partikel j disekitarnya dalam radius h atau smoothing length maka digunakan metode dasar SPH untuk mempermudah perhitungan � Ü sehingga “�L à Ï 6 dapat berubah menjadi persamaan diatas dengan W adalah fungsi kernel dengan “9L 5 Ï 6. Menurut Muller d.k.k (2003) bahwa fungsi kernel yang cocok untuk mencari � adalah fungsi kernel poly 6. Dengan syarat nilai (N ÜFN Ý; harus rQkN ÜFN ÝoQ h (smoothing kernel) dan jika nilai kN ÜFN ÝoPD maka nilai W = 0. Kemudian setelah dimasukkan nilai W maka persamaan menjadi: � Ü L 759à Õ :8� 5 �@D 6 F+N ÜFN Ý+ 6 A 7 Ý (3.1) Ketika nilai � Ü didapatkan maka nilai � Ü akan dimasukkan ke persamaan gas ideal (2.24) untuk mendapatkan nilai L Ü. Nilai L Ü tersebut akan digunakan untuk mencari nilai Tekanan (F�L; sebagai berikut : FØL L�I Ý ã Ô>ã Õ 6 Õ �9 æãÜÞì:N ÜFN Ý�D; Ý dengan memasukkan fungsi kernel spiky dengan syarat nilai (N ÜFN Ý; harus rQ kN ÜFN ÝoQ h (smoothing kernel), dan jika nilai kN ÜFN ÝoPD maka nilai W = 0. Kemudian setelah dimasukkan nilai W maka persamaan menjadi : �LLFF@ FvwI �D x AGF NFFNE kNEFNFo :L F EL E ; @t� F A :D FkN EFN Fo t (3.2) setelah mendapatkan nilai Tekanan maka dilanjutkan dengan mencari nilai Viskositas melalui persamaan 2.26 berikut ini �� t RL�ÍI F R FFR E � F � t 9 REOGKO:N EFN F�D; F 27 dengan memasukkan fungsi kernel viskos dengan syarat nilai (N ÜFN Ý; harus rQ kN ÜFN ÝoQ h (smoothing kernel), dan jika nilai kN ÜFN ÝoPD maka nilai W = 0. Kemudian setelah dimasukkan nilai W maka persamaan menjadi : �� t R L :vw�I; �D x � RFFRE � F :N EFN F�D; F (3.3) Persamaan densitas, tekanan, dan viskositas diatas akan digunakan dalam persamaan Navier-Stokes menggunakan metode SPH. Metode SPH disini dimulai dengan memasukkan parameter nilai massa, densitas, smoothing length, viskositas, konstanta gas, percepatan gravitasi, jumlah partikel, volume koefisien damping dan time step. Setelah semua parameter dimasukkan maka dimulailah dengan mencari tetangga terdekat partikel dengan Tree Search pada radius h (smoothing length). Kemudian setelah tetangga terdekat didapatkan maka dilanjutkan dengan perhitungan jarak antara semua posisi partikel untuk menghitung densitas pada setiap partikel posisi dengan persamaan dasar SPH. Densitas tersebut akan dimasukkan ke dalam persamaan perhitungan tekanan pada setiap partikel posisi dengan persamaan SPH. Kemudian dilanjutkan dengan perhitungan viskositas untuk setiap partikel dan perhitungan gaya luar yang diakibatkan oleh gravitasi. Setelah didapatkan perhitungan tekanan, viskositas, dan gravitasi maka semua parameter didapatkan akan dijumlahkan dan dibagi dengan � untuk mendapatkan nilai ×é ×ç untuk diintegralkan agar memperoleh nilai posisi partikel dan kecepatan. Posisi partikel dan kecepatan partikel setiap waktu akan diperbarui dengan teknik Leap-frog. Posisi partikel dan kecepatan partikel akan diperbarui sekali lagi diakibatkan tumbukan terhadap dinding. Step yang terakhir adalah memasukkan persamaan tegangan permukaan untuk memperindah simulasi fluida..Untuk memahami proses berjalannya pemrograman dalam tesis ini, berikut ini gambaran flowchart SPH penelitian ini. 28 Gambar 3.2 Flowchart SPH tanpa Boundary Setelah didapatkan hasil dari kecepatan, percepatan partikel, dan gambar simulasi timestep dari pemrograman Python dengan Jupyter Notebook. Maka gambar- gambar ini akan disatukan menjadi video mp4 dengan menggunakan aplikasi Wondershare Filmora X. kemudian peneliti menganalisis apakah simulasi dapat berjalan dengan baik. Setelah simulasi berjalan dengan baik, peneliti menvariasikan fluida beberapa fluida yaitu air, minyak goreng, dan gliserin dalam 29 simulasi ini untuk mengamati apakah terdapat perilaku yang berbeda atau tidak pada setiap simulasi fluida yang berbeda. III.1.2 Pencarian Partikel Tetangga Ada beberapa pilihan yang dapat dipakai dalam mencari tetangga terdekat menggunakan SPH, antara lain yaitu pair-to-pair search, linked list algorithm, Tree search, dan spatial hashing. Pada penelitian ini untuk memudahkan dalam pengoperasian dengan bahasa Python maka digunakan metode Tree Search . Gambar 3.3 metode tree search dalam ruang Dimana pada metode ini adalah mencari tetangga terdekat dengan struktur dasar partisi ruang untuk mengatur titik partikel dalam ruang k-dimensi. Dengan cara memisah ruang menjadi dua bagian atau dikenal dengan setengah ruang(Zhang:2010). Setiap partikel dalam ruang diasosiasikan sebagai vektor dengan (x,y). untuk mencari tetangga terdekat menggunakan fungsi kernel yang memiliki radius h, maka dibuat grid dengan ukuran sisi h (Muller, 2003) seperti gambar dibawah ini: 30 Gambar 3.4 Sel grid dua dimensi Namun pada tree-search 2 dimensi banyaknya grid dibagi menjadi 16 grid dan akan diperkecil menjadi lebih kecil menjadi subruang dari grid tersebut tergantung dari banyaknya partikel tersebut. III.1.3 Respon Tumbukan oleh Dinding Setelah mendapatkan tetangga terdekat dan memasukkan kedalam persamaan 2.8 sehingga mendapatkan hasil gaya internal dan eksternal. Hasil gaya ini akan diintegrasikan untuk mendapatkan posisi partikel dan kecepatan dimana proses ini dapat dilihat hasil codingan komputasinya pada lampiran. Setelah mendapatkan posisi partikel dan kecepatan, maka seperti diketahui bahwa penelitian ini memvisualisasikan partikel dalam ruang terbatas untuk membatasi gerak partikel. maka oleh itu diperlukan validasi lokasi partikel setiap loop yang diakibatkan oleh tumbukan partikel ke dinding.