Penyelesaian persamaan gelombang air dangkal dengan beberapa metode numeris.
ABSTRAK
Persamaan gelombang air dangkal adalah persamaan yang memodelkan aliran air di tempat terbuka. Persamaan gelombang air dangkal seringkali disebut sistem Saint-Venant yang diturunkan dari hukum kekekalan massa dan momentum.
Dalam skripsi ini, persamaan gelombang air dangkal diselesaikan menggunakan beberapa metode, yaitu metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Metode volume hingga bekerja dengan cara membagi domain ruang menjadi sebanyak berhingga sel, kemudian dihitung rata-rata kuantitas untuk masing-masing sel. Metode beda hingga grid kolokasi dikerjakan secara implisit yaitu membagi domain ruang menjadi sebanyak berhingga titik, kemudian persamaan gelombang air dangkal didiskretkan dan membentuk sebuah sistem persamaan linear. Terakhir, metode beda hingga grid selang-seling bekerja dengan cara membagi domain perhitungan ruang secara selang-seling. Kedalaman air dihitung pada grid dengan indeks bilangan bulat dan kecepatan air dihitung pada grid dengan indeks pecahan. Penggunaan metode yang tepat akan menghasilkan solusi yang akurat untuk persamaan gelombang air dangkal.
Penelitian ini menguji beberapa metode numeris yang bisa digunakan untuk menyelesaikan persamaan gelombang air dangkal satu dimensi. Pengujian dilakukan menggunakan simulasi numeris. Analisis hasil simulasi dilakukan dengan observasi hasil simulasi di setiap metode dan membandingkannya dengan hasil solusi eksak.
(2)
ABSTRACT
The shallow water wave equations model water flows in an open channel. The shallow water wave equations are often called the Saint-Venant system derived from the conservations of mass and momentum.
In this thesis, the shallow water wave equations are solved using several methods, the Lax-Friedrichs finite volume method, collocation grid finite difference method and staggered grid finite difference method. The finite volume method works by dividing the spatial domain into a finite number of cells, then calculating the average quantity for each cell. The collocation grid finite difference method divides the spatial domain into a finite number of computational points for the shallow water equation discretization and forms a linear system of equations. Finally, the staggered grid finite difference method works by discretising the computational domain into staggered spatial partitions. The staggered finite diference means that we approximate the quantities of interest of the shallow water equations on different cells. In the staggered formulation, water depth is calculated at full grid points and water velocity is calculated at half grid points. The appropriate method will produce an accurate solution for the shallow water wave equations.
This study examines several numerical methods for solving the one dimensional shallow water wave equations. We investigate the performance of these numerical methods using numerical simulations. Analysis of simulation results are done by observing the results of each method and comparing the numerical results with the exact solution.
(3)
PENYELESAIAN PERSAMAAN GELOMBANG AIR
DANGKAL DENGAN BEBERAPA METODE NUMERIS
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Matematika
Program Studi Matematika
Disusun oleh: Ilga Purnama Sari
NIM: 123114023
PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(4)
i
PENYELESAIAN PERSAMAAN GELOMBANG AIR
DANGKAL DENGAN BEBERAPA METODE NUMERIS
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Matematika
Program Studi Matematika
Disusun oleh: Ilga Purnama Sari
NIM: 123114023
PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
(5)
ii
SOLUTION TO THE SHALLOW WATER WAVE
EQUATIONS WITH SOME NUMERICAL METHODS
A THESIS
Presented as Partial Fulfillment of the
Requirements to Obtain the Degree of Sarjana Matematika Mathematics Study Program
Written by: Ilga Purnama Sari Student ID: 123114023
MATHEMATICS STUDY PROGRAM DEPARTMENT OF MATHEMATICS FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
(6)
(7)
(8)
(9)
(10)
vii
ABSTRAK
Persamaan gelombang air dangkal adalah persamaan yang memodelkan aliran air di tempat terbuka. Persamaan gelombang air dangkal seringkali disebut sistem Saint-Venant yang diturunkan dari hukum kekekalan massa dan momentum.
Dalam skripsi ini, persamaan gelombang air dangkal diselesaikan menggunakan beberapa metode, yaitu metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Metode volume hingga bekerja dengan cara membagi domain ruang menjadi sebanyak berhingga sel, kemudian dihitung rata-rata kuantitas untuk masing-masing sel. Metode beda hingga grid kolokasi dikerjakan secara implisit yaitu membagi domain ruang menjadi sebanyak berhingga titik, kemudian persamaan gelombang air dangkal didiskretkan dan membentuk sebuah sistem persamaan linear. Terakhir, metode beda hingga grid selang-seling bekerja dengan cara membagi domain perhitungan ruang secara selang-seling. Kedalaman air dihitung pada grid dengan indeks bilangan bulat dan kecepatan air dihitung pada grid dengan indeks pecahan. Penggunaan metode yang tepat akan menghasilkan solusi yang akurat untuk persamaan gelombang air dangkal.
Penelitian ini menguji beberapa metode numeris yang bisa digunakan untuk menyelesaikan persamaan gelombang air dangkal satu dimensi. Pengujian dilakukan menggunakan simulasi numeris. Analisis hasil simulasi dilakukan dengan observasi hasil simulasi di setiap metode dan membandingkannya dengan hasil solusi eksak.
(11)
viii
ABSTRACT
The shallow water wave equations model water flows in an open channel. The shallow water wave equations are often called the Saint-Venant system derived from the conservations of mass and momentum.
In this thesis, the shallow water wave equations are solved using several methods, the Lax-Friedrichs finite volume method, collocation grid finite difference method and staggered grid finite difference method. The finite volume method works by dividing the spatial domain into a finite number of cells, then calculating the average quantity for each cell. The collocation grid finite difference method divides the spatial domain into a finite number of computational points for the shallow water equation discretization and forms a linear system of equations. Finally, the staggered grid finite difference method works by discretising the computational domain into staggered spatial partitions. The staggered finite diference means that we approximate the quantities of interest of the shallow water equations on different cells. In the staggered formulation, water depth is calculated at full grid points and water velocity is calculated at half grid points. The appropriate method will produce an accurate solution for the shallow water wave equations.
This study examines several numerical methods for solving the one dimensional shallow water wave equations. We investigate the performance of these numerical methods using numerical simulations. Analysis of simulation results are done by observing the results of each method and comparing the numerical results with the exact solution.
(12)
ix
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN JUDUL DALAM BAHASA INGGRIS ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERNYATAAN KEASLIAN KARYA ... v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI... vi
ABSTRAK ... vii
ABSTRAK DALAM BAHASA INGGRIS ... viii
DAFTAR ISI ... ix
BAB I PENDAHULUAN ... 1
A. Latar Belakang ... 1
B. Rumusan Masalah ... 4
C. Pembatasan Masalah ... 5
D. Tujuan Penulisan ... 5
E. Metode Penulisan ... 5
F. Manfaat Penulisan ... 6
G. Sistematika Penulisan ... 6
(13)
x
A. Integral ... 8
B. Klasifikasi Persamaan Diferensial ... 11
C. Nilai Eigen dan Vektor Eigen ... 15
D. Persamaan Diferensial Hiperbolik ... 16
E. Penurunan Numeris ... 18
F. Karakteristik Persamaan Gelombang Air Dangkal ... 25
BAB III METODE NUMERIS UNTUK PERSAMAAN GELOMBANG AIR DANGKAL ... 28
A. Solusi Eksak Persamaan Gelombang Air Dangkal ... 28
B. Penurunan Persamaan Gelombang Air Dangkal Satu Dimensi ... 29
C. Masalah Bendungan Bobol ... 35
D. Metode Volume Hingga Lax-Friedrichs ... 37
E. Metode Beda Hingga Grid Kolokasi ... 44
F. Metode Beda Hingga Grid Selang-Seling ... 53
BAB IV PERBANDINGAN BEBERAPA METODE NUMERIS DALAM PENYELESAIAN MODEL GELOMBANG AIR DANGKAL ... 57
A. Metode Volume Hingga Lax-Friedrichs ... 58
B. Metode Beda Hingga Grid Kolokasi ... 62
C. Metode Beda Hingga Grid Selang-Seling ... 66
(14)
xi
A. Kesimpulan ... 71
B. Saran ... 72
DAFTAR PUSTAKA ... 73
(15)
1
BAB I PENDAHULUAN
Dalam bab ini akan dijelaskan latar belakang, rumusan dan pembatasan masalah, tujuan dan manfaat penulisan, juga akan disertakan sistematika penulisan.
A. Latar Belakang
Persamaan diferensial merupakan persamaan yang menghubungkan suatu fungsi beserta turunan-turunannya. Banyak masalah fisis yang dapat diselesaikan dengan persamaan diferensial. Masalah fisis merupakan masalah yang berhubungan dengan hukum alam yang dibahas dalam ilmu fisika. Masalah fisis seperti fluida dapat diselesaikan dengan menggunakan persamaan diferensial parsial.
Fluida merupakan zat yang dapat mengalir. Zat itu dapat berupa gas atau cairan. Aliran fluida merupakan salah satu masalah fisis yang sering dijumpai dalam kehidupan sehari-hari. Masalah yang sudah pernah ada adalah terjadinya bencana alam seperti bobolnya bendungan air atau tsunami. Bencana alam tersebut disebabkan oleh aliran air dalam skala besar. Aliran tersebut dapat dimodelkan secara matematis (Crowhurst, 2013; Crowhurst dan Li, 2013).
Model gelombang air yang sudah ada salah satunya adalah model gelombang air dangkal atau Shallow Water Wave Equations. Dangkal dalam arti matematis adalah amplitudo gelombang jauh lebih kecil dibandingkan panjang gelombangnya.
(16)
Dengan demikian, nilai perbandingan antara amplitudo gelombang dengan panjang gelombang � ditulis
�≪ .
Penyelesaian persamaan gelombang air dangkal memiliki dua komponen penting yang tidak diketahui yaitu kedalaman dan kecepatan air, dengan ℎ , adalah kedalaman air dan , adalah kecepatan air. Di sini, adalah variabel yang menyatakan waktu dan adalah variabel yang menyatakan ruang satu dimensi. Persamaan gelombang air dangkal dalam bentuk sistem persamaan diferensial parsial dinyatakan oleh dua persamaan simultan, yaitu
ℎ + ℎ = (1.1)
dan
ℎ + ℎ + ℎ = − ℎ (1.2)
dengan adalah ketinggian tanah, dan adalah konstanta percepatan gravitasi. Ilustrasi gelombang air dangkal ditunjukkan dalam Gambar 1.1.
Gambar 1.1: Gelombang air dangkal dan variabel-variabel terkait dalam
persamaan gelombang air dangkal. �
x y
(17)
Pada skripsi ini akan diselesaikan persamaan gelombang air dangkal terkait dengan masalah bendungan bobol. Masalah bendungan bobol memiliki beberapa asumsi, syarat awal dan syarat batas yang akan dibahas lebih lanjut pada Bab III. Ilustrasi bendungan air dapat dilihat pada Gambar 1.2.
Gambar 1.2: Bendungan air
Secara umum, solusi persamaan gelombang air dangkal tersebut cukup sulit untuk dicari secara analitis, sehingga diperlukan cara lain untuk memecahkannya. Metode numeris adalah salah satu cara untuk memperoleh solusi persamaan gelombang air dangkal tersebut. Banyak metode numeris yang telah dikembangkan sebelumnya untuk memecahkan solusi persamaan tersebut, mulai dari metode karakteristik, metode beda hingga, metode elemen hingga, metode volume hingga dan sebagainya. Metode beda hingga dikembangkan berdasarkan diskritisasi langsung dari persamaan diferensial yang dipandang (LeVeque, 1992). Metode beda hingga unggul dalam kemudahan komputasi. Dalam tugas akhir ini akan dibahas penyelesaian persamaan gelombang air dangkal dengan metode beda hingga dan metode volume hingga, karena perumusan kedua metode tersebut sederhana.
Bendungan air Permukaan air
Permukaan air
ℎ
(18)
Metode beda hingga terbagi atas dua model yaitu model grid kolokasi dan model grid selang-seling. Pada grid kolokasi ditentukan nilai pendekatan untuk semua variabel ℎ dan yang tidak diketahui secara bersamaan. Pada grid selang-seling ditentukan pendekatan variabel ℎ dan secara selang-seling. Salah satu referensi tentang grid kolokasi adalah LeVeque (1992). Salah satu referensi tentang grid selang-seling adalah Stelling dan Duinmeijer (2003).
Penelitian ini akan membandingkan hasil perhitungan terbaik antara metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Dari ketiga metode tersebut diperoleh hasil perhitungan terbaik yang dapat memperbaiki metode beda hingga dengan tidak ada getaran semu (artificial oscillation) pada hasil simulasi aliran air. Fokus penelitian ini adalah mengembangkan metode numeris dengan metode beda hingga dan volume hingga untuk menyimulasikan aliran air.
B. Rumusan Masalah
Permasalahan yang dirumuskan dalam skripsi ini ada empat, yaitu: 1. Bagaimana memodelkan gelombang air dangkal?
2. Bagaimana menyelesaikan dan menyimulasikan persamaan gelombang air dangkal dengan menggunakan metode volume hingga?
3. Bagaimana menyelesaikan dan menyimulasikan persamaan gelombang air dangkal dengan menggunakan metode beda hingga grid kolokasi?
4. Bagaimana menyelesaikan dan menyimulasikan persamaan gelombang air dangkal dengan menggunakan metode beda hingga grid selang-seling?
(19)
C. Pembatasan Masalah
Pembahasan masalah dalam skripsi ini akan dibatasi pada memodelkan gelombang air dangkal satu dimensi dan mencari penyelesaian persamaan gelombang air dangkal dengan metode beda hingga dan volume hingga.
D. Tujuan Penulisan
Skripsi ini mempunyai dua tujuan, yaitu:
1. Merumuskan dan menyelesaikan persamaan gelombang air dangkal dengan beberapa metode numeris, yaitu metode volume hingga Lax-Friedrichs, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling.
2. Membandingkan beberapa hasil simulasi numeris menggunakan metode volume hingga Lax-Friedrichs, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Dari hasil simulasi tersebut kemudian dipilih hasil yang terbaik yang memuat galat yang paling kecil.
3. Menyimulasikan metode volume hingga Lax-Friedrichs, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling untuk masalah bendungan bobol.
E. Metode Penulisan
Metode penulisan yang digunakan adalah studi pustaka dari buku-buku dan jurnal serta praktek simulasi numeris.
(20)
F. Manfaat Penulisan
Dengan memodelkan persamaan gelombang air, kita dapat 1. Menyimulasikan terjadinya banjir.
2. Memperkirakan daerah mana saja yang akan tenggelam.
3. Memperkirakan kecepatan dan kedalaman air pada daerah tersebut.
G. Sistematika Penulisan
Sistematika penulisan tugas akhir ini adalah sebagai berikut:
BAB I PENDAHULUAN A. Latar Belakang Masalah B. Rumusan Masalah C. Batasan Masalah D. Metode Penulisan E. Tujuan Penulisan F. Manfaat Penulisan
BAB II PERSAMAAN DIFERENSIAL A. Integral
B. Klasifikasi Persamaan Diferensial C. Nilai eigen dan vektor eigen D. Persamaan Diferensial Hiperbolik E. Penurunan Numeris
F. Karakteristik Persamaan Gelombang Air Dangkal
BAB III METODE NUMERIS UNTUK PERSAMAAN GELOMBANG AIR DANGKAL
A. Solusi Eksak Persamaan Gelombang Air Dangkal
B. Penurunan Persamaan Gelombang Air Dangkal Satu Dimensi C. Masalah Bendungan Bobol
(21)
E. Metode Beda Hingga Grid Kolokasi F. Metode Beda Hingga Grid Selang-Seling
BAB IV PERBANDINGAN BEBERAPA METODE NUMERIS DALAM PENYELESAIAN MODEL GELOMBANG AIR DANGKAL
A. Metode Volume Hingga Lax-Friedrichs B. Metode Beda Hingga Grid Kolokasi C. Metode Beda Hingga Grid Selang-Seling BAB V PENUTUP
A. Kesimpulan B. Saran
DAFTAR PUSTAKA LAMPIRAN
(22)
8
BAB II
PERSAMAAN DIFERENSIAL
Landasan teori skripsi ditulis dalam bab ini. Landasan teori tersebut meliputi: integral, klasifikasi persamaan diferensial, nilai eigen dan vektor eigen, persamaan diferensial hiperbolik, penurunan numeris, dan karakteristik persamaan gelombang air dangkal.
A.Integral
Pada bagian ini dibahas mengenai integral yang meliputi definisi dan contoh dari integral tentu dan aturan Leibniz.
Definisi 2.1
Jika diberikan suatu fungsi pada suatu interval � dan berlaku ′ =
, untuk suatu , maka adalah anti turunan dari . Dengan kata lain
′ = .
Contoh 2.1
Carilah suatu anti turunan dari = pada −∞, ∞ . Penyelesaian:
Fungsi = bukan anti turunannya karena turunan adalah . Tetapi hal ini menyarankan = , yang memenuhi ′ = = . Dengan demikian, suatu anti turunan dari adalah .
(23)
Anti turunan dinotasikan dengan ∫ … . Notasi tersebut menunjukkan anti turunan terhadap . Anti turunan biasanya disebut integral tak tentu.
Integral Tentu
Perhatikan Gambar 2.1 berikut ini.
Gambar 2.1: Ilustrasi fungsi satu variabel
Untuk menghitung luasan dibawah kurva = pada interval [ , ], dapat dihitung dengan cara aproksimasi yaitu dengan membagi interval [ , ] menjadi subinterval. Subinterval tersebut memiliki panjang yang sama yaitu −
� untuk >
. Setelah membagi interval menjadi subinterval kemudian menghitung total jumlah luasan dari masing persegi panjang yang dibentuk oleh masing-masing subinterval tersebut. Hal ini diperoleh dengan memilih , , … , � dengan
= , = �, dan
− − = −
(24)
untuk � = , , … , . Andaikan panjang masing-masing subinterval yaitu −
�
dinotasikan dengan
∆ = − − .
Luas daerah dibawah kurva diaproksimasikan dengan total luas daerah yang dibentuk oleh masing-masing subinterval, aproksimasi luas di bawah kurva adalah
� + � + ⋯ + ��. Artinya total luas tersebut yang dapat ditulis
∆ + ∆ + ⋯ + � ∆ = ∑ ∆
� =
yang disebut jumlahan Riemann fungsi pada interval [ , ], sebagai pendekatan luas daerah di bawah kurva = dan diatas sumbu . Di sini, ∈ [ − , ].
Semakin banyak subinterval yang digunakan, artinya ∆ → maka semakin baik pula aproksimasi luasan tersebut dan semakin dekat dengan luasan yang sebenarnya. Dengan demikian,
Luas daerah = lim∆ → ∑ ∆ .
Definisi 2.2
Andaikan fungsi yang terdefinisi pada [ , ]. Integral tentu dari sampai dinotasikan ∫ , adalah
(25)
Aturan Leibniz Teorema 2.1
Aturan Leibniz untuk satu variabel:
Jika adalah fungsi kontinu pada interval [ , ] dan jika dan adalah fungsi yang dapat diturunkan terhadap yang nilainya terletak di interval [ , ], maka
∫ = ( ) − ( )
Teorema 2.2
Aturan Leibniz untuk dua variabel:
Jika , adalah fungsi sedemikian sehingga turunan parsial dari terhadap ada dan kontinu, maka
∫ , = ∫ �� + , − , .
Bukti dapat dilihat pada buku karangan David. B dan George. C yang berjudul Basic Partial Differential Equations.
B. Klasifikasi Persamaan Diferensial
Berikut ini dibahas tentang klasifikasi persamaan diferensial. Klasifikasi persamaan diferensial yang dibahas meliputi definisi dan contoh persamaan
(26)
diferensial, persamaan diferensial biasa, persamaan diferensial parsial, orde persamaan diferensial dan kelinearan suatu persamaan diferensial.
Definisi 2.3
Persamaan diferensial adalah persamaan yang melibatkan variabel-variabel tak bebas dan turunan-turunannya terhadap variabel-variabel bebas.
Contoh 2.2
Persamaan di bawah ini merupakan contoh persamaan diferensial:
+ ( ) = (2.1)
+ + = sin (2.2)
� � +
� � =
(2.3)
� � +
� � +
�
� = .
(2.4)
Definisi 2.4
Persamaan diferensial biasa adalah persamaan diferensial yang melibatkan turunan biasa beserta satu atau lebih variabel tak bebas terhadap satu variabel bebas.
Contoh 2.3
Persamaan (2.1) dan (2.2) adalah persamaan diferensial biasa. Pada persamaan (2.1) variabel adalah suatu variabel bebas, dan variabel adalah variabel tak bebas. Pada persamaan (2.2), variabel adalah variabel bebas, dengan
(27)
Definisi 2.5
Persamaan diferensial parsial adalah persamaan diferensial yang melibatkan turunan parsial dari satu atau lebih variabel tak bebas terhadap lebih dari satu variabel bebas.
Contoh 2.4
Persamaan (2.3) dan (2.4) adalah persamaan diferensial parsial. Pada persamaan (2.3), variabel dan adalah variabel bebas dan adalah variabel tak bebasnya. Pada persaman (2.4) terdapat tiga variabel bebas yaitu , , dan . Pada persamaan (2.4) variabel tak bebasnya adalah .
Definisi 2.6
Orde dari persamaan diferensial adalah tingkat tertinggi dari turunan yang terkandung dalam persamaan diferensial.
Contoh 2.5
Persamaan diferensial biasa (2.1) adalah persamaan diferensial orde kedua, karena tingkat tertinggi dari turunan pada persamaan tersebut adalah dua. Persamaan (2.2) adalah persamaan diferensial biasa orde keempat. Persamaan (2.3) termasuk persamaan diferensial parsial orde pertama. Persamaan (2.4) merupakan persamaan diferensial parsial orde kedua.
Definisi 2.7
Suatu persamaan diferensial biasa orde ke-
(28)
dikatakan linear jika merupakan suatu fungsi linear dari variabel
, ′, ′′, … , � ; definisi yang sama juga berlaku untuk persamaan diferensial
parsial. Secara umum persamaan diferensial biasa linear orde dituliskan sebagai
� + �− + ⋯ +
� = (2.5)
dengan tidak sama dengan nol.
Contoh 2.6
Persamaan diferensial biasa berikut keduanya linear. Pada kedua persamaan berikut, variabel adalah variabel tak bebas. Perhatikan bahwa dan turunan-turunannya terjadi dengan pangkat satu saja dan tidak ada perkalian dari dan/ atau turunan dari .
+ + = (2.6)
+ + = . (2.7)
Definisi 2.8
Suatu persamaan diferensial biasa yang tidak memiliki bentuk (2.5) dinamakan persamaan diferensial biasa tak linear.
Contoh 2.7
Persamaan diferensial biasa berikut semuanya tak linear:
(29)
+ ( ) + = (2.9)
+ + = (2.10)
Persamaan (2.8) tak linear karena variabel tak bebas terdapat pada pangkat kedua dalam bentuk . Persamaan (2.9) juga tak linear karena terdapat bentuk
�
� yang melibatkan pangkat tiga pada turunan pertama. Persamaan (2.10) tak
linear karena pada bentuk �
� melibatkan perkalian terhadap variabel tak bebas
dan turunan pertamanya.
C. Nilai Eigen dan Vektor Eigen
Berikut dibahas mengenai definisi dan contoh dari nilai eigen dan vektor eigen.
Definisi 2.9
Jika � adalah matriks × , maka vektor tak nol � di ℝ� disebut vektor eigen dari � jika �� merupakan perkalian skalar dengan � atau dapat ditulis
�� = ��
untuk suatu skalar �. Skalar � disebut nilai eigen dari � dan � disebut vektor eigen
yang bersesuaian dengan �.
Contoh 2.8
(30)
� = [ − ]
yang bersesuaian dengan nilai eigen � = , karena
�� = [ − ] [ ] = [ ] = �.
Secara geometri, perkalian matriks � dengan vektor � memiliki kelipatan 3 terhadap vektor �. Ilustrasi secara geometri ditunjukkan dalam Gambar 2.2.
Gambar 2.2: Ilustrasi geometri vektor eigen. D. Persamaan Diferensial Hiperbolik
Persamaan diferensial hiperbolik dapat digunakan untuk memodelkan banyak fenomena yang melibatkan pergerakan gelombang. Perhatikan bentuk persamaan diferensial berikut
, + � , = , (2.11)
Di sini = ��
� dan = �� � .
(31)
Dalam kasus yang paling sederhana yaitu koefisien konstan dan linear. Dalam hal ini ∶ ℝ × ℝ → ℝ� adalah vektor dengan komponen yang menyatakan fungsi yang tidak diketahui (tekanan, kecepatan, dan sebagainya) yang ingin ditentukan, dan � suatu konstan merupakan matriks real berukuran × n. Andaikan � = ̅ suatu konstan yang menyatakan kecepatan perambatan (aliran pada pipa satu dimensi misalnya), maka persamaan (2.11) menjadi
, + ̅ , = , (2.12)
persamaan ini disebut persamaan adveksi.
Persamaan , + � , = adalah persamaan hiperbolik, jika matriks � memiliki nilai eigen real dan berkorespondensi dengan vektor eigen yang bebas linear. Artinya, semua vektor dalam ℝ� dapat secara tunggal diuraikan sebagai kombinasi linear dari nilai-nilai eigen tersebut. Secara formal definisi persamaan diferensial hiperbolik sebagai berikut.
Definisi 2.10
Suatu sistem linear dengan bentuk
+ � =
dikatakan hiperbolik jika matriks � yang berukuran × n dapat didiagonalkan dengan nilai eigen real.
Secara khusus untuk persamaan adveksi, diketahui bahwa � = ̅, yang merupakan suatu konstanta real. Jadi � dapat didiagonalkan oleh nilai � itu sendiri dan nilai eigen dari � adalah � itu sendiri. Dengan demikian, persamaan adveksi merupakan persamaan diferensial hiperbolik. Keterangan lengkap tentang
(32)
persamaan diferensial hiperbolik dapat ditemukan dalam buku karangan LeVeque (2004).
E.Penurunan Numeris
Pada subbab ini dibahas mengenai penurunan numeris beserta contohnya dan penjelasan mengenai tiga hampiran dalam menghitung turunan numerik yaitu hampiran beda maju, hampiran beda mundur dan hampiran beda pusat.
Definisi 2.11
Suatu turunan fungsi didefinisikan dengan
′ = lim
∆ →
+ ∆ −
∆ .
Seringkali fungsi tidak diketahui secara eksplisit, tetapi hanya diketahui beberapa titik data saja. Seringkali diketahui secara eksplisit tetapi karena bentuknya yang sangat rumit sehingga untuk menentukan fungsi turunannya juga sulit, misalnya pada fungsi-fungsi berikut ini:
a . =√cos + tan
sin + − cos ,
b . = + ln .
Perhitungan nilai turunan pada fungsi (a) dan (b) dapat dikerjakan secara numerik. Nilai turunan yang diperoleh merupakan nilai hampiran dan diharapkan nilai galatnya sekecil mungkin.
(33)
Tiga Hampiran dalam Menghitung Turunan Numerik
Turunan adalah limit dari hasil bagi pengurangan dua buah nilai yang besar
+ ∆ − dan membaginya dengan bilangan yang kecil ∆ . Misal diberikan nilai-nilai di − ∆ , , dan + ∆ , serta nilai fungsi untuk nilai-nilai tersebut. Titik-titik yang diperoleh adalah − , − , , , dan
, , yang dalam hal ini − = − ∆ dan = + ∆ . Terdapat tiga hampiran dalam menghitung nilai ′ :
1. Hampiran Beda Maju
Diketahui fungsi = . Akan ditunjukkan ′ dengan hampiran beda maju.
′ = lim
∆ →
+ ∆ − ∆
≈ + ∆ −∆
= ∆− .
2. Hampiran Beda Mundur
Diketahui fungsi = . Akan ditunjukkan ′ dengan hampiran beda mundur.
′ = lim
∆ →
− − ∆
∆
≈ −∆ − ∆
(34)
3. Hampiran Beda Pusat
Diketahui fungsi = . Akan ditunjukkan ′ dengan hampiran beda pusat.
′ = lim
∆ →
+ ∆ − − ∆
∆
≈ + ∆ −∆ − ∆
= −∆ − .
Tafsiran geometri dari ketiga pendekatan di atas diperlihatkan pada Gambar 2.3.
Gambar 2.3: Tiga pendekatan dalam perhitungan numeris; (a) Hampiran beda
maju, (b) Hampiran beda mundur, dan (c) Hampiran beda pusat.
−
∆
= −
−
∆
=
−
∆
= −
(35)
Penurunan Rumus Turunan dengan Deret Taylor
Misalkan diberikan titik-titik , , � = , , , , … , , yang dalam hal ini
= + �∆
dan
= .
Selanjutnya akan dihitung ′ yang dalam hal ini = + ∆ , ∈ dengan ketiga pendekatan yang disebutkan di atas (maju, mundur, pusat).
1. Hampiran Beda Maju
Uraikan + di sekitar :
+ = + + −! ′ + + −! ′′ + ⋯
dengan mensubtitusikan + − = ∆ dan penulisan + dapat ditulis + diperoleh
+ = + ∆ ′+∆ ′′+ ⋯
(2.13)
atau dapat ditulis
∆ ′= + − −∆ ′′− ⋯
kedua ruas dibagi dengan ∆ sehingga diperoleh
′= + −
∆ −
∆ ′′
− ⋯
karena ∆ ′′− ⋯ merupakan bilangan yang sangat kecil dan tidak begitu mempengaruhi nilai ′ sehingga dapat ditulis
(36)
′= + −
∆ + ∆
yang dalam hal ini, ∆ =∆ ′′ , < < + .
Untuk nilai-nilai di dan persamaan rumusnya menjadi:
′ = −
∆ + ∆ .
Dalam hal ini ∆ =∆ ′′ , < < + menyatakan penurunan numeris secara beda maju memiliki tingkat keakuratan tingkat satu atau ditulis ∆ .
2. Hampiran Beda Mundur
Uraikan − di sekitar :
− = + + −! ′ + + −! ′′ + ⋯
dengan mensubtitusikan + − = ∆ dan penulisan − dapat ditulis − diperoleh
− = − ∆ ′+∆ ′′− ⋯
(2.14)
atau dapat ditulis
∆ ′= − − +∆ ′′− ⋯
kedua ruas dibagi dengan ∆ sehingga diperoleh
′= − −
∆ −
∆ ′′
+ ⋯
karena ∆ ′′− ⋯ merupakan bilangan yang sangat kecil dan tidak begitu mempengaruhi nilai ′ sehingga dapat ditulis
(37)
′= − −
∆ + ∆
yang dalam hal ini, ∆ = −∆ ′′ , − < < .
Untuk nilai-nilai di dan − persamaan rumusnya menjadi:
′ = − −
∆ + ∆
Dalam hal ini ∆ = −∆ ′′ , + < < menyatakan penurunan numeris secara beda mundur memiliki tingkat keakuratan tingkat satu atau ditulis ∆ .
3. Hampiran Beda Pusat
Kurangkan persamaan (2.13) dengan persamaan (2.14) diperoleh:
+ − − = + ∆ ′+∆ ′′+ ⋯ − − ∆ ′+∆ ′′− ⋯
dengan menggunakan operasi penjumlahan dan pengurangan diperoleh
+ − − = ∆ ′+∆ ′′′+ ⋯
atau dapat ditulis
∆ ′= + − − −∆ ′′′− ⋯
Kedua ruas dibagi dengan ∆ sehingga diperoleh
′= + − −
∆ −
∆ ′′′
− ⋯
karena ∆
6
′′′− ⋯ merupakan bilangan yang sangat kecil dan tidak begitu
mempengaruhi nilai ′ sehingga dapat ditulis
′= + − −
(38)
yang dalam hal ini, ∆ = −∆
6 ′′′ , − < < + .
Untuk nilai-nilai di − dan persamaan rumusnya menjadi:
′ = − −
∆ + ∆
Dalam hal ini ∆ = −∆
6 ′′′ , − < < + menyatakan penurunan
numeris secara beda pusat yang memiliki tingkat keakuratan tingkat dua atau ditulis
∆ . Perhatikan bahwa hampiran beda pusat lebih baik daripada dua hampiran sebelumnya, sebab orde galatnya adalah ∆ .
Menentukan Orde Galat
Pada penurunan rumus turunan numeris dengan deret Taylor, rumus galat dalam penurunan rumus turunan numeris tersebut dapat langsung diperoleh. Tetapi dengan polinom interpolasi harus dicari rumus galat tersebut dengan bantuan deret Taylor.
Contoh 2.9
Tentukan rumus galat dan orde dari rumus turunan numeris hampiran beda pusat:
′ = − −
∆ +
Nyatakan (galat) sebagai ruas kiri persamaan, lalu ekspansi rusa kanan dengan deret Taylor di sekitar :
= ′ − − −
(39)
= ′−
∆ [ + ∆
′+∆ ′′+∆
6
′′′+ ⋯ − − ∆ ′+
∆ ′′−∆
6
′′′+ ⋯ ]
= ′−
∆ ∆
′+∆ ′′′+ ⋯
= ′− ′−∆ 6
′′′+ ⋯
=−∆
6 ′′′+ ⋯
=−∆
6 ′′′,
− < <
= ∆ .
Jadi, hampiran beda pusat memiliki galat = −∆
6 ′′′,
− < < , dengan
orde ∆ .
F. Karakteristik Persamaan Gelombang Air Dangkal
Dipandang persamaan gelombang air dangkal
ℎ + ℎ = (2.15)
ℎ + ℎ + ℎ = . (2.16)
Gabungan persamaan (2.15) dan (2.16) dalam suatu sistem persamaan gelombang air dangkal yaitu
[ ℎℎ ] + [ℎ +ℎ ℎ ] = (2.17)
Jika diasumsikan ℎ dan halus (smooth), maka persamaan (2.16) dapat disederhanakan dengan memperluas turunan-turunannya dan menggunakan (2.15)
(40)
untuk menggantikan bentuk ℎ . Kemudian dengan menghilangkan beberapa bentuk, persamaan (2.16) menjadi
+ [ + ℎ] = . (2.18)
Pada persamaan (2.15) dan (2.18) memiliki bentuk yang bergantung dengan konstanta . Bentuk tersebut dapat disubtitusi dengan variabel � = ℎ. Sehingga sistem persamaan air dangkal menjadi
[�] + [ + �� ] = (2.19)
Sistem persamaan tersebut ekuivalen dengan sistem persamaan (2.17) untuk solusi yang halus. Namun ada catatan penting bahwa manipulasi yang dilakukan di atas bergantung pada kehalusan pada masalah. Kedua sistem dari hukum konservasi tidak ekuivalen dalam menghitung shock waves. Sistem yang tepat untuk digunakan adalah sistem persamaan (2.17) yang berasal dari persamaan integral asli. Untuk mempelajari shock waves digunakan persamaan (2.17) dan diambil
, = [ ℎℎ ] = [ ] , = [ℎ +ℎ ℎ ] = [ + ].
Untuk solusi halus (smooth), persamaan tersebut dapat ditulis secara ekuivalen dalam bentuk quasilinear
+ ′ =
(41)
′ = [
+ ] = [− + ℎ ].
(2.20)
Nilai eigen dari ′ adalah
� = − √ ℎ, � = + √ ℎ (2.21)
Dengan vektor eigen
= [ − √ ℎ], = [ + √ ℎ]. (2.22)
Nilai eigen dan vektor eigen adalah fungsi untuk sistem nonlinear. Jika diinginkan gelombang dengan amplitudo yang sangat kecil, maka persamaan (2.17) dapat dilinearkan terlebih dahulu untuk mendapatkan sistem yang linear. Keterangan lengkap tentang karakteristik persamaan air dangkal dapat ditemukan dalam buku karangan LeVeque (2004).
(42)
28
BAB III
METODE NUMERIS UNTUK PERSAMAAN GELOMBANG AIR DANGKAL
Dalam bab ini akan dijelaskan metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Metode tersebut digunakan untuk menyelesaikan masalah bendungan air bobol, terkait dengan persamaan gelombang air dangkal.
A. Solusi Eksak Persamaan Gelombang Air Dangkal
Galat perhitungan pada penurunan numeris diperoleh dengan mengurangkan solusi numeris dengan solusi eksak. Berikut adalah solusi eksak yang akan digunakan dalam perhitungan simulasi numeris pada MATLAB:
ℎ =
{
ℎ , jika − √ ℎ
ℎ = √ ℎ − , jika − √ ℎ < − √ ℎ
ℎ =ℎ √ + �̇ℎ − , jika − √ ℎ < < �̇
ℎ , jika �̇
(43)
= {
, jika − √ ℎ
= √ ℎ + , jika − √ ℎ < − √ ℎ
= �̇ − ℎ
�̇ √ +
�̇
ℎ , jika − √ ℎ < < �̇
, jika �̇
dengan ℎ adalah kedalaman air pada titik dan adalah kecepatan air pada titik . Notasi �̇ adalah konstanta kecepatan shock untuk > , yaitu
�̇ = √ ℎ + ℎ
�̇ + √ +
�̇
ℎ − [ ℎ √ +
�̇
ℎ − ℎ ] .
Solusi eksak ini diambil dari Thesis karangan Mungkasi dengan judul Finite Volume Methods for the One Dimensional Shallow Water Equations (2008).
B. Penurunan Persamaan Gelombang Air Dangkal Satu Dimensi
Persamaan gelombang air dangkal dideskripsikan dari gerak fluida. Ada dua jenis gerak fluida yang dideskripsikan, yaitu Langrangian dan Eulerian. Deskripsi Langrangian berpusat pada partikel individu, dan pergerakannya diamati sebagai fungsi dari waktu. Posisi, kecepatan dan percepatan setiap partikel dinotasikan dengan , , , , dan , , kemudian kuantitasnya misalnya massa, momentum dan energi dapat dihitung. Pada kasus ini merupakan titik awal atau penamaan partikel.
Deskripsi Eulerian merupakan sebuah alternatif yang dapat diikuti setiap partikel fluida secara terpisah. Kemudian dilakukan pengamatan untuk kecepatan partikel yang melewati setiap titik identifikasi pada domain ruang yang diamati.
(44)
Laju perubahan kecepatan ketika partikel melewati setiap titik dapat diamati dengan
� ,
� , dan perubahan kecepatan terhadap waktu pada setiap titik tertentu dapat
diamati oleh � ,
� . Dalam deskripsi Eulerian, sifat aliran (seperti kecepatan)
merupakan fungsi dari ruang dan waktu.
Persamaan air dangkal ini terdiri dari dua persamaan. Persamaan pertama diturunkan dari hukum konservasi massa dan persamaan kedua diturunkan dari hukum konservasi momentum. Berikut ini akan diuraikan penurunan persamaan gelombang air dangkal atau biasa disebut Shallow Water Wave Equations.
a. Hukum Kekekalan Massa
Hukum kekekalan massa berarti massa tersebut tidak dapat diciptakan atau dimusnahkan. Hal ini berarti massa total pada keseluruhan sistem sama setiap saat. Terdapat beberapa asumsi yang terlibat dalam penurunan persamaan hukum kekekalan massa. Pertama, aliran air diasumsikan tenang artinya tidak ada gangguan dari luar dan kecepatannya diabaikan. Kedua, densitas � air pada setiap titik adalah konstan sehingga air mampat. Selain itu diasumsikan bahwa tempat air kedap atau tertutup rapat karena massa adalah kekal. Oleh karena itu, massa pada setiap volume kontrol (yaitu volume tertentu atau kolam air yang diamati) hanya dapat berubah ketika aliran melintasi batas-batas volume kontrol.
Secara umum, aliran air dapat diilustrasikan pada Gambar 1.1. Notasi yang digunakan yaitu menyatakan variabel jarak sepanjang aliran air, menyatakan variabel waktu, adalah topografi tanah, ℎ , adalah kedalaman air di titik dan pada waktu , , = + ℎ , adalah ketinggian air mutlak disebut
(45)
stage, dan , adalah kecepatan aliran air di titik dan pada waktu . Massa total pada air di setiap volume kontrol [ , ] ditentukan oleh
= ∫ �ℎ , (3.1)
Pernyataan ini dapat diperoleh sebagai berikut. Kepadatan massa terhadap kedalaman �̅ di sebarang titik , adalah �ℎ , yang dapat dihitung dengan mengintegralkan � dari ke , , yaitu
�̅ , = ∫ , �
= �ℎ , .
Akibatnya, pengintegralan �ℎ , dari ke mengarah ke massa total di volume kontrol seperti yang dinyatakan dalam (3.1). Tingkatan aliran air yang melewati setiap titik , terhadap kedalaman air disebut flux massa , yaitu
= �̅ , , (3.2)
= �ℎ , ,
Dengan menggunakan (3.2) dan asumsi bahwa massa dapat berubah hanya karena aliran yang melewati batas volume kontrol, dapat ditentukan bahwa
∫ �ℎ , + ∆ = ∫ �ℎ ,
+ ∫ +∆ �ℎ , , −∫+∆ �ℎ , ,
(3.3)
berlaku untuk setiap volume kontrol. Hal ini berarti bahwa massa pada setiap langkah + ∆ adalah sama dengan massa pada waktu ditambah pergerakan flux
(46)
yang masuk dan dikurangi dengan flux yang keluar dari volume kontrol selama periode ∆ . Ilustrasi dari kontinuitas massa ditunjukkan pada Gambar 3.1.
Gambar 3.1: Aliran air yang masuk dan keluar dari volume kontrol.
Misalkan ∆ dan ∆ adalah kuantitas yang sangat kecil, yaitu ∆ = − . Dengan menggunakan perluasan Taylor, persamaan (3.3) dapat ditulis
�ℎ , + ∆ ∆
= �ℎ , ∆ + �ℎ ( −∆ , ) ( −∆ , ) ∆
− �ℎ ( +∆ , ) ( +∆ , ) ∆ + ∆ + ∆ .
Dengan mengabaikan bentuk ∆ dan ∆ persamaan terakhir di atas ekuivalen dengan
�ℎ , + ∆ − �ℎ ,
∆ = −
�ℎ | +∆ , − �ℎ | −∆ ,
∆
(3.4)
Persamaan (3.4) dibagi dengan � kemudian ∆ dan ∆ diaproksimasikan menuju nol sehingga persamaan (3.4) menjadi
ℎ + ℎ = . (3.5)
Persamaan (3.5) disebut persamaan hukum kekekalan massa.
(47)
b. Hukum Kekekalan Momentum
Hukum kedua Newton menyatakan bahwa perubahan momentum dari suatu sistem sama dengan total gaya yang bekerja. Berdasarkan hukum Newton tersebut, maka dapat ditulis
= .
Gaya didefinisikan sebagai laju perubahan momentum terhadap waktu . Momentum total dari perpindahan air pada volume kontrol dari ke pada waktu
dinotasikan dengan , yaitu
= ∫ �ℎ , , (3.6)
Dengan mengasumsikan tekanan hidrostatik, gaya pada titik dan di atas kedalaman air pada waktu adalah
= � ℎ ,
= − � ℎ ,
Dengan > adalah konstanta yang menyatakan percepatan gravitasi. Lebih lanjut, gaya pada ∆ seperti yang ditunjukkan pada Gambar 3.2, yaitu
∆ = −� ℎ , ∆
Atau dapat ditulis dengan
(48)
Dan karena gaya melalui dasar volume kontrol maka
= ∫ −� ℎ , .
Oleh karena itu, gaya total di atas volume kontrol dinyatakan dengan yang merupakan jumlahan dari , , dan , yaitu
= � ℎ , − � ℎ , − ∫ � ℎ , (3.7)
Turunan pertama dari terhadap adalah
= ∫ �ℎ , ,
Dengan menggunakan aturan Leibniz, turunan hasil integral pada persamaan terakhir di atas dapat ditulis
= ∫ � �ℎ ,� , + �ℎ , ,
− �ℎ , ,
(3.8)
Menurut hukum kedua Newton tentang gerak, hasil dari persamaan (3.8) sama dengan persamaan (3.7). Oleh karena itu, untuk periode-∆ dapat ditulis
(49)
∫ +∆ ∫ �ℎ + ∫ +∆ �ℎ , ,
− ∫ +∆ �ℎ , ,
= ∫ +∆ � ℎ , ∫+∆ � ℎ ,
− ∫ +∆ ∫ � ℎ ,
(3.9)
Dengan cara yang sama seperti (3.3), persamaan (3.9) dapat ditulis
ℎ + (ℎ + ℎ ) = − ℎ
Yang biasa disebut dengan persamaan kekekalan momentum.
Dengan demikian, persamaan gelombang air dangkal seringkali disebut sistem Saint-Venant. Persamaan tersebut dapat ditulis sebagai dua persamaan simultan
{ ℎ + (ℎ +ℎ + ℎ =ℎ ) = − ℎ
(3.10)
di sini variabel x menyatakan arah aliran air.
C. Masalah Bendungan Bobol
Diketahui persamaan gelombang air dangkal dengan topografi horizontal
+ = (3.11)
(50)
= [ ℎℎ] dan = [ ℎ + ℎ ℎ ]
dengan adalah variabel ruang, adalah variabel waktu, ℎ = ℎ , adalah kedalaman air, = , adalah kecepatan air dan = , adalah percepatan gravitasi. Semua kuantitas diasumsikan dalam satuan SI.
Akan disimulasikan solusi masalah bendungan bobol dengan metode volume hingga Lax-Friedrics, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling dengan menggunakan MATLAB (kondisi awal adalah "air yang tenang" seperti yang ditunjukkan pada Gambar 3.2). Pada kasus ini dianggap dinding bendungan ditarik ke atas secara instan.
Gambar 3.2: Bendungan air
Dinding bendungan air berada di titik = dan kedalaman awal air adalah
ℎ , = {ℎ , jika <ℎ , jika >
dan kecepatan awal aliran air adalah
Bendungan air Permukaan air
Permukaan air
ℎ =
(51)
, = , untuk semua .
Diambil domain ruang [− , ]. Simulasi pada program dihentikan pada = . . Pada kasus ini diasumsikan massa jenis konstan, tidak ada turbulen dan fluida ideal.
D. Metode Volume Hingga Lax-Friedrichs
Pada bagian ini dibahas mengenai skema metode volume hingga, perhitungan flux secara numeris dalam metode volume hingga dan solusi numeris metode volume hingga Lax-Friedrichs.
1.1. Skema Metode Volume Hingga
Persamaan diferensial parsial hukum kekekalan yang bersifat hiperbolik adalah
+ =
atau ditulis
�
� , +
�
� ( , ) = .
Misalkan domain pada ruang didiskretkan menjadi sebanyak berhingga kontrol volume (interval) atau sel sebagai berikut:
dengan ∆ = − − atau ∆ = + − − . Domain waktu didiskretkan menjadi
� = ∙ ∆
−
− +
(52)
dengan = , , , , …
Selanjutnya misalkan � adalah pendekatan dari rata-rata volume kuantitas , dalam interval ruang ke- � di waktu �, yaitu
�
≈ ∆ ∫ �+ , �
�−
.
Misalkan pula
+
� adalah pendekatan dari rata-rata debit material (flux) ,
di titik + dalam interval waktu [ �, �+ ], yaitu
+ �
≈ ∆ ∫ ( + , )
�+
� .
Dari hukum kekekalan, laju perubahan kuantitas (massa) dinyatakan oleh
∫ �+ , �
�−
= − [ ( + , ) − ( − , ) ].
Dengan nilai-nilai pendekatan diperoleh
�+ − �
∆ = −
+
� −
− �
∆
atau ditulis
�+ = �−∆
∆ +
� −
− �
Persamaan tersebut merupakan skema volume hingga untuk + = . Skema metode volume hingga tersebut konsisten dengan skema metode beda hingga sebab dari skema metode volume hingga diperoleh
(53)
�+ − �
∆ = −
+
� −
− �
∆
atau
�+ − �
∆ +
+
� −
− �
∆ =
yang merupakan suatu bentuk diskrit dari + = .
1.2. Perhitungan Flux Secara Numeris dalam Metode Volume Hingga
Dipandang persamaan diferensial parsial berbentuk hukum kekekalan
+ = .
Misalkan � ≈ , � dan
+
� = (
+ , �) .
Skema metode volume hingga untuk persamaan diferensial parsial di atas adalah
�+ = �− ∆
∆ +
� −
−
� .
Diketahui nilai � yaitu kuantitas numeris di semua titik dan pada waktu �. Oleh karena itu, flux di titik pada waktu � juga diketahui, yaitu
� ≈ ( , � )
(54)
Metode Stabil dan Tidak Stabil
Metode numeris dikatakan stabil artinya bahwa galat yang muncul pada setiap iterasi tidak membesar terlalu cepat pada iterasi-iterasi berikutnya. Jika galat yang muncul pada suatu iterasi membesar menuju tak terhingga pada iterasi-iterasi berikutnya maka metodenya disebut tidak stabil. Teori kestabilan tidak dibahas lebih lanjut dalam skripsi ini. Teori kestabilan dapat dilihat dalam buku-buku referensi misalnya LeVeque (1992, 2004).
Di setiap titik + , flux dapat dihitung menggunakan beberapa pendekatan.
1. Flux tak stabil
+
� ≈ [ � +
+
� ]
Sehingga skema metode volume hingga menjadi
�+ = �− ∆
∆ � + �+ − �− − �
�+ = �− ∆
∆ ( �+ − �− )
Namun, skema metode volume hingga ini tidak stabil. 2. Flux Lax-Friedrichs
Skema Lax-Friedrichs memodifikasi skema metode volume hingga tak stabil di atas, yaitu
�+ ≈
+
� +
− �
(55)
�+ =
+
� +
−
� − ∆
∆ [ �+ − �− ]
Skema Lax-Friedrichs ini stabil untuk ∆ yang cukup kecil. 3. Flux Upwind
Metode upwind cocok untuk metode yang sudah diketahui arah rambatan gelombangnya. Contoh jika akan diselesaikan persamaan diferensial parsial
+ =
dengan konstan positif (arah rambat gelombang ke kanan)
+
� ≈ ( , � )
= , �
≈ �
dan
−
� ≈
−
� .
Dengan demikian skema upwind adalah
�+ = �−∆
∆ +
� −
− �
= �− ∆
∆ �− �−
= � − ∆
∆ �− �− .
Solusi Numeris Metode Volume Hingga Lax-Friedrichs
Masalah persamaan gelombang air dangkal dapat diselesaikan dengan menggunakan metode volume hingga. Dipandang sistem persamaan air dangkal (3.11) yaitu
(56)
ℎ + [ ℎ] = (3.12) dan
[ ℎ] + [ ℎ + ℎ ] = . (3.13)
Persamaan (3.12) mempunyai skema metode volume hingga sebagai berikut:
�+ = � −∆
∆ +
� −
− �
Dengan menggunakan flux Lax-Friedrichs diperoleh
+
� = �
dengan asumsi solusi dan kecepatannya positif. Jadi, jika diketahui persamaan (3.12) maka dalam metode volume hingga diperoleh = ℎ dan = ℎ. Sekarang dari persamaan (3.12) dicari flux
+ � dan
− � .
+ �
= [ � +
+
� ] − ∆
∆ �+ − �
= [ ℎ �+ ℎ �+ ] − ∆∆ ℎ�+ − ℎ�
= �ℎ�+
+
� ℎ
+
� − ∆
∆ ℎ�+ − ℎ� .
− �
= [ �− + � ] − ∆∆ �− �−
= [ ℎ �− + ℎ �] − ∆
(57)
= �− ℎ −
� + �ℎ� − ∆
∆ ℎ� − ℎ�− .
Persamaan (3.13) memiliki skema metode volume hingga sebagai berikut
�+ = � −∆
∆ +
� −
− �
Dengan menggunakan flux Lax-Friedrichs diperoleh
+
� = �
dengan asumsi solusi dan kecepatannya positif. Jadi, jika diketahui persamaan (3.13) maka dalam metode volume hingga diperoleh = ℎ dan
= ℎ + ℎ .
Sekarang dari persamaan (3.13) dicari flux
+ � dan
− � . + � = [ � + + � ] − ∆ ∆ �+ − �
= [( ℎ + ℎ )� + ( ℎ + ℎ )
+ �
] − ∆∆ ℎ �+ − ℎ �
= [( �ℎ�+ ℎ �) + (
+
� ℎ
+
� + ℎ
+
� )]
− ∆∆ �+ ℎ +
� − �ℎ� .
− �
= [ �− + � ] − ∆
∆ �− �−
= [( ℎ + ℎ )
− �
+ ( ℎ + ℎ )�] − ∆∆ ℎ � − ℎ
− �
(58)
= [( �− ℎ −
� + ℎ
−
� ) + ( �ℎ�+ ℎ �)]
− ∆∆ �ℎ� − �− ℎ�− .
Hasil simulasi penyelesaian model gelombang air dangkal dengan metode volume hingga dengan menggunakan program MATLAB ditunjukkan dalam Gambar 3.3. Pada hasil simulasi persamaan air dangkal, program simulasi berhenti pada saat = . . Kedalaman awal air pada program ini adalah ℎ = ,ℎ = .
Gambar 3.3: Hasil simulasi penyelesaian model gelombang air dangkal
(59)
E. Metode Beda Hingga Grid Kolokasi
Metode beda hingga digunakan dalam masalah komputasi numerik. Metode beda hingga dibagi menjadi tiga bagian, yaitu beda maju, beda mundur, dan beda pusat.
Solusi Numeris Metode Beda Hingga Grid Kolokasi
Diketahui nilai awal kedalaman air ℎ = dan ℎ = , kecepatan air =
= , dan percepatan gravitasi = . .
Banyaknya langkah untuk ruang adalah dengan ∈ ℤ+ dan index � untuk menunjukkan ruang yaitu � + . Langkah ukuran dilambangkan dengan
∆= −� . Jadi, = + � − ∆, = dan �+ = , dan banyaknya interval kecil adalah − simpul (node).
Begitu juga untuk waktu, jumlah langkah untuk waktu adalah dengan ∈
ℤ+. Untuk � waktu, ∈ ℤ+: − < . Berikut akan dihitung persamaan
beda yaitu beda mundur untuk waktu dan beda pusat untuk ruang.
Beda mundur untuk variabel waktu �
Dipandang persamaan (3.12) dan (3.13). Kedua persamaan tersebut ditulis secara sistematis dan diasumsikan nilai ℎ , dan , pada waktu �− kemudian dicari nilai pada waktu �.
�
� ℎ , ≈
ℎ , � − ℎ , �−
∆
(60)
≈ ℎ�− ℎ∆ �− .
dan
�
� [ℎ , , ] = ℎ ,
�
� , + ,
� � ℎ ,
atau dapat ditulis
≈ ℎ , �− �
� , �− + , �−
�
� ℎ , �−
dengan melakukan diskritisasi lengkap diperoleh
≈ ℎ�− �− �−
∆ + �−
ℎ�− ℎ�−
∆ .
Beda pusat untuk variabel ruang �
Dipandang persamaan (3.12) dan (3.13). Kedua persamaan tersebut ditulis secara sistematis dan diasumsikan nilai ℎ , dan , pada ruang − kemudian dicari nilai pada waktu .
�
� [ , ℎ , ] = ,
�
� ℎ , + ℎ , �
� ,
≈ , �− �
� ℎ , � + ℎ , �−
�
� , �
≈ �− ℎ�+ − ℎ�−
∆ + ℎ�− +
� −
− �
∆
(61)
�
� [ℎ , , + ℎ , ] =
�
� [ℎ , , ] +
�
� ℎ ,
dengan
�
� [ℎ , , ] = ℎ ,
�
� , + ,
� � ℎ ,
= ℎ , , �� , + , � ℎ ,�
≈ ℎ , �− , �− �
� , � + , �−
�
� ℎ , �
≈ ℎ�− �− �+ − �−
∆ + �−
ℎ�+ − �−
∆
dan untuk bentuk kedua
�
� ℎ , = ℎ ,
� � ℎ , ≈ ℎ�− ℎ�+ − ℎ�−
∆ .
Jadi, persamaan beda dari (3.12) dan (3.13) menjadi
[
ℎ�− ℎ�− ∆
ℎ�− �− �−
∆ + �−
ℎ�− ℎ�−
∆ ]
+ [
�− ℎ�+ − ℎ�−
∆ + ℎ�− +
� −
− �
∆ ℎ�− �− �+ − �−
∆ + �−
ℎ�+ − �−
∆ + ℎ�−
ℎ�+ − ℎ�−
∆ ]
= [ ]
(62)
ℎ�− ℎ�−
∆ + �−
ℎ�+ − ℎ�−
∆ + ℎ�− +
� −
− �
∆ =
(3.16)
dan konservasi momentum dalam bentuk diskrit
ℎ�− �−∆ �− + �− ℎ�− ℎ∆ �− + ℎ�− �− �+ −∆ �− + �− ℎ�+ −∆ �− + ℎ�− ℎ�+ − ℎ∆ �− =
(3.17)
Persamaan (3.16) dikali dengan �− diperoleh
�− ℎ�− ℎ�−
∆ + �−
ℎ�+ − ℎ − �
∆ + �− ℎ�− +
� −
− �
∆ =
(3.18)
Persamaan (3.17) dikurang (3.18) diperoleh
ℎ�− � − �−
∆ + ℎ�− �− +
� −
− �
∆ + ℎ�−
ℎ�+ − ℎ�−
∆ =
Sehingga diperoleh dua persamaan
�− ℎ�− ℎ�−
∆ + �−
ℎ�+ − ℎ�−
∆ + �− ℎ�− +
� −
− �
∆ =
ℎ�− �− �−
∆ + ℎ�− �− +
� −
− �
∆ + ℎ�−
ℎ�+ − ℎ�−
∆ =
(3.19)
Persamaan konservasi massa pada persamaan (3.19) dibagi dengan �− , diperoleh
ℎ� − ℎ�−
∆ + �−
ℎ�+ − ℎ�−
∆ + ℎ�− +
� −
− �
∆ =
ℎ�− �− �−
∆ + ℎ�− �− +
� −
− �
∆ + ℎ�−
ℎ�+ − ℎ�−
∆ =
(63)
Persamaan (3.20) dikali dengan ∆ ∆ diperoleh
∆ ℎ�− ℎ�− + ∆ �− ℎ
+
� − ℎ
−
� + ∆ ℎ�−
+
� −
− �
=
∆ ℎ�− �− �− + ∆ ℎ�− �− �+ − �−
+ ∆ ℎ�− ℎ
+
� − ℎ
−
� = .
(3.21)
Dengan menggunakan sifat distributif pada perkalian, persamaan (3.21) menjadi
∆ ℎ�− ∆ ℎ�− + ∆ �− ℎ�+ − ∆ �− ℎ�− + ∆ ℎ�− �+ − ∆ ℎ�− �−
=
∆ ℎ�− � − ∆ ℎ�− �− + ∆ ℎ�− �− �+ − ∆ ℎ�− �− �−
+ ∆ ℎ�− ℎ�+ − ∆ ℎ�− ℎ�− =
Sehingga persamaan (3.16) menjadi
∆ ℎ� + ∆ �− ℎ�+ − ∆ �− ℎ�− + ∆ ℎ�− �+ − ∆ ℎ�− �−
= ∆ ℎ�−
dan (3.17) menjadi
(3.22)
∆ ℎ�− �+ ∆ ℎ�− �− +
� − ∆ ℎ�− �−
−
� + ∆ ℎ�− ℎ
+ �
− ∆ ℎ�− ℎ�− = ∆ ℎ�− �−
(3.23)
Diambil nilai = , kemudian dicari solusi awal untuk persamaan linear diskritisasi sebagai berikut:
(64)
∆ ℎ�+ ∆ �− ℎ�− ∆ �− ℎ�+ ∆ ℎ�− �− ∆ ℎ�− �
= ∆ ℎ�−
dan
(3.24)
∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�− ℎ�
− ∆ ℎ�− ℎ� = ∆ ℎ�− �−
(3.25)
Untuk � =
∆ ℎ�+ ∆ �− ℎ�− ∆ �− ℎ�+ ∆ ℎ�− �− ∆ ℎ�− �
= ∆ ℎ�−
dan
(3.26)
∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�− ℎ�
− ∆ ℎ�− ℎ� = ∆ ℎ�− �−
(3.27)
Untuk � =
∆ ℎ�+ ∆ �− ℎ�− ∆ �− ℎ�+ ∆ ℎ�− �− ∆ ℎ�− �
= ∆ ℎ�−
dan
(3.28)
∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�− ℎ�
− ∆ ℎ�− ℎ� = ∆ ℎ�− �−
(3.29)
Variabel �, �, �, ℎ�, ℎ�, ℎ� tidak diketahui dan enam persamaan berikut dapat disederhanakan menjadi:
(65)
∆ ℎ�+ ∆ �− ℎ�+ ∆ ℎ�− �− ∆ ℎ�− � = ∆ ℎ�− +
∆ �− ℎ�+−∆ ℎ�− �
(3.30)
∆ ℎ�− �+ ∆ ℎ�− �− �+ ∆ ℎ�− ℎ�
= ∆ ℎ�− �− + ∆ ℎ�− ℎ�+ ∆ ℎ�− �− �
(3.31)
Untuk � =
∆ ℎ�+ ∆ �− ℎ�− ∆ �− ℎ�+ ∆ ℎ�− �− ∆ ℎ�− �
= ∆ ℎ�−
dan
(3.32)
∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�− ℎ�
− ∆ ℎ�− ℎ� = ∆ ℎ�− �−
(3.33)
Untuk � =
∆ ℎ�− ∆ �− ℎ�− ∆ ℎ�− �
= ∆ ℎ�− − ∆ �− ℎ� − ∆ ℎ�− �
dan
(3.34)
∆ ℎ�− �− ∆ ℎ�− �− � − ∆ ℎ�− ℎ�
= ∆ ℎ�− �− − ∆ ℎ�− ℎ�− ∆ ℎ�− �− �
(3.35)
Jika diketahui syarat batas kecepatan awal , = , = , dan ketinggian awal ℎ , = , ℎ , = maka diperoleh matriks
[
∆ ℎ − ∆ ∆ −
∆ ℎ − ∆ ℎ − − ∆ ℎ −
−∆ ℎ − ∆ ℎ − −∆ − ∆ ∆ −
−∆ ℎ − − ∆ ℎ − ∆ ℎ − − −∆ ℎ − ∆ ℎ −
−∆ − −∆ ℎ − ∆
(66)
[ � � � ℎ� ℎ�
ℎ�]
= [
∆ ℎ�− + ∆ �−
∆ ℎ�− �− + ∆ ℎ�−
∆ ℎ�−
∆ ℎ�− �−
∆ ℎ�− − ∆ �−
∆ ℎ�− �− − ∆ ℎ�− ]
Misalkan
�
= (
∆ ℎ − ∆ ∆ −
∆ ℎ − ∆ ℎ − − ∆ ℎ −
−∆ ℎ − ∆ ℎ − −∆ − ∆ ∆ −
−∆ ℎ − − ∆ ℎ − ∆ ℎ − − −∆ ℎ − ∆ ℎ −
−∆ − −∆ ℎ − ∆
−∆ ℎ − − ∆ ℎ − −∆ ℎ −
) � = ( � � � ℎ� ℎ�
ℎ�)
,
= (
∆ ℎ�− + ∆ �−
∆ ℎ�− �− + ∆ ℎ�−
∆ ℎ�−
∆ ℎ�− �−
∆ ℎ�− − ∆ �−
∆ ℎ�− �− − ∆ ℎ�− )
,
Sekarang enam persamaan tersebut memiliki bentuk linear �� = yang dapat diselesaikan.
Dalam program MATLAB digunakan syarat batas untuk kedalaman awal air
(67)
metode beda hingga grid kolokasi dengan menggunakan program MATLAB ditunjukkan dalam Gambar 3.4. Hasil simulasi program berhenti pada waktu
= . .
Gambar 3.4: Hasil simulasi penyelesaian model gelombang air dangkal
dengan metode beda hingga grid kolokasi.
F. Metode Beda Hingga Grid Selang-Seling
Sekarang persamaan air dangkal akan diselesaikan dengan metode beda hingga grid selang-seling kemudian solusi numerisnya dibandingkan dengan metode volume hingga dan metode beda hingga grid kolokasi yang sudah dilakukan di atas.
(68)
[ ℎℎ ] + [ℎ +ℎ ℎ ] = .
Perhitungan domain < < �, > dengan grid selang-seling pada domain ruang = , , … , − , , + , … , �
�+ = �. Metode beda hingga selang-seling adalah pendekatan dua persamaan (3.12) dan (3.13) pada grid berbeda. Pada rumus selang-seling, nilai variabel ℎ dihitung pada grid bilangan bulat , � =
, … , dan dihitung pada grid pecahan + , � = , … , . Selanjutnya, hukum kekekalan massa pada persamaan (3.12) dihitung dengan pendekatan pada grid [ − , + ] dan hukum kekekalan momentum pada persamaan (3.13) dihitung dengan pendekatan pada grid [ , + ].
Solusi Numeris Metode Beda Hingga Grid Selang-Seling
Pendekatan konsisten terhadap ruang dari (3.12) dan (3.13) adalah
∆ℎ ∆ = −
+ − −
∆
(3.36)
∆ ℎ+ +
∆ = −
ℎ+ − ℎ
∆ − +
̂ + − ̂
∆
(3.37)
dengan
+ = ℎ̂+ + , ℎ+ = ℎ + ℎ+ , = ( + + − )
(3.38)
Dengan menggunakan metode upwind orde satu, pendekatan nilai dari
ℎ̂+ = {ℎ ℎ , jika +
+ , jika + <
(3.39)
(69)
̂ = { − , jika
+ , jika <
(3.40)
Dalam melakukan perhitungan, variabel ℎ dihitung pada grid ℎ , � = , , … , dan variabel dihitung pada grid + , � = , , … , . Dengan menerapkan beda maju untuk persamaan (3.36) dan beda mundur untuk persamaan (3.37), persamaan (3.36) dan (3.37) menjadi
ℎ�+ − ℎ�
∆ = −
+ − −
∆
(3.41)
ℎ�++ �++ − ℎ�+ �+
∆ = −
ℎ+ − ℎ
∆ − +
̂ + − ̂
∆
(3.42)
Persamaan (3.41) dan (3.42) dihitung dengan menggunakan program MATLAB.
Hasil simulasi gelombang air dangkal dengan metode beda hingga grid selang-seling ditunjukkan dalam Gambar 3.5. Pada simulasi penyelesaian persamaan gelombang air dangkal berikut, program berhenti pada saat = . dengan kedalaman awal air adalah ℎ = dan ℎ = .
(70)
Gambar 3.5: Hasil simulasi model gelombang air dangkal dengan metode beda
(71)
57
BAB IV
PERBANDINGAN BEBERAPA METODE NUMERIS DALAM PENYELESAIAN MODEL GELOMBANG AIR DANGKAL
Pada bagian ini akan dibahas hasil-hasil simulasi numeris untuk tiga metode, yaitu metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling.
Simulasi numeris untuk masing-masing metode dilakukan menggunakan program MATLAB dengan konsidi awal ditunjukkan pada Gambar 4.1.
Gambar 4.1: Bendungan air dengan kondisi awal adalah air yang tenang.
Kedalaman air di sebelah kiri bendungan adalah ℎ = dan di sebelah kanan bendungan adalah ℎ = .
Bendungan air Permukaan air
Permukaan air
ℎ =
(72)
Galat solusi perhitungan dan ℎ dihitung dengan menggunakan rumus
= ∑ | � − _ � |
� =
dan
ℎ = ∑ |ℎ � − ℎ_ � |
� =
,
di mana dan ℎ adalah nilai numeris di titik , _ dan ℎ_ adalah nilai eksak di titik , dan adalah banyaknya sel yang digunakan untuk mendiskretkan domain ruang .
A. Metode Volume Hingga Lax-Friedrichs
Pada Bab III dibahas mengenai solusi numeris dari persamaan gelombang air dangkal dengan metode volume hingga. Dalam Bab IV ini dibahas mengenai hasil simulasi solusi numeris persamaan gelombang air dangkal dengan menggunakan MATLAB. Simulasi ini dilakukan untuk beberapa nilai , yaitu 100, 200, 400, 800, 1600, dan 3200.
Berikut merupakan hasil simulasi numeris untuk persamaan gelombang air dangkal menggunakan metode volume hingga Lax-Friedrichs. Grafik simulasi numeris ditunjukkan pada Gambar 4.2.
(73)
Gambar 4.2: Grafik simulasi numeris dengan metode volume hingga
Lax-Friedrichs untuk = , = . detik, ∆ = . , dan ∆ = . ∆ . Gambar 4.2 memberikan ilustrasi geometris mengenai simulasi yang telah dilakukan. Terlihat pada gambar bahwa selisih solusi numeris dan eksaknya kecil. Dengan kata lain, solusi numerisnya hampir mendekati solusi eksak. Simulasi ini menggunakan nilai = , ∆ = . , dan ∆ = . ∆ . Simulasi berhenti pada saat = . .
Tabel 4.1. Hasil simulasi numeris menggunakan metode volume hingga
Lax-Friedrichs pada = .
Galat pada
N Galat u Galat h 100 0.2650 0.2112 200 0.1684 0.1362 400 0.1028 0.0842 800 0.0601 0.0498 1600 0.0344 0.0287
(74)
3200 0.0198 0.0166 Rata-rata
galat 0.1084 0.0877
Dari Tabel 4.1 tampak bahwa semakin kecil yang diambil, semakin besar galat (error) yang dihasilkan. Ketika diambil nilai yang cukup besar maka galat simulasi akan semakin kecil karena banyaknya partisi pada ruang di sumbu yang semakin banyak dan mendekati solusi eksaknya. Artinya ketika besar solusi yang diperoleh akan lebih akurat. Dapat dilihat juga pada grafik bahwa solusi eksak dan numerisnya berhimpit. Namun pada ujung-ujung grafik, kedua grafik terlihat tidak berhimpit. Artinya masih ada galat perhitungan pada penggunaan metode ini. Ilustrasi galat secara geometris ditunjukkan pada Gambar 4.3.
Gambar 4.3: Grafik galat kecepatan aliran air dan kedalaman air ℎ menggunakan metode volume hingga Lax-Friedrichs
(75)
Gambar 4.4: Grafik log galat kecepatan aliran air dan log galat kedalaman aliran air ℎ menggunakan metode volume hingga Lax-Friedrichs
Gambar 4.4 menunjukkan nilai log galat , ℎ , , ℎ , ∞ dan
ℎ ∞. Rumus galat ∞ tidak tepat digunakan sebagai alat untuk mengukur
keakuratan metode volume hingga Lax-Friedrichs untuk persamaan gelombang air dangkal. Rumus galat ∞ tidak dapat menunjukkan bahwa semakin banyak titik, komputasi errornya akan semakin kecil. Sedangkan rumus galat dan merupakan rumus yang tepat untuk digunakan sebagai alat untuk mengukur keakuratan metode ini untuk persamaan gelombang air dangkal karena dan dapat menunjukkan bahwa semakin banyak titik, komputasi errornya akan semakin kecil.
(76)
Kelebihan dari metode ini adalah skema numeriknya sederhana dan perhitungan komputasinya juga sangat mudah. Kekurangan metode ini adalah ketika diambil ∆ cukup besar metode volume hingga Lax-Friedrichs tidak stabil.
B. Metode Beda Hingga Grid Kolokasi
Selanjutnya akan dipaparkan hasil simulasi numeris penyelesaian gelombang air dangkal menggunakan metode beda hingga grid koloksi. Pada Bab III telah dibahas solusi numeris untuk model gelombang air dangkal dengan metode beda hingga grid kolokasi. Solusi numeris yang diperoleh disimulasikan dengan menggunakan MATLAB. Kondisi awal yang digunakan adalah sama dengan pada simulasi sebelumnya.
Grafik simulasi numeris ditunjukkan pada Gambar 4.5. Grafik yang dihasilkan tidak mulus karena banyak getaran semu pada grafik. Simulasi ini menggunakan nilai = , ∆ = . , dan ∆ = . ∆ . Simulasi berhenti pada saat = . .
(77)
Gambar 4.5: Grafik simulasi numeris dengan metode beda hingga grid kolokasi
untuk = , = . detik, ∆ = . , dan ∆ = . .
Tampak pada gambar bahwa selisih solusi numeris dengan solusi eksak sangat besar. Hal ini mengakibatkan solusi numeris yang dihasilkan tidak akurat. Berikut merupakan hasil simulasi numeris untuk persamaan gelombang air dangkal menggunakan metode beda hingga grid kolokasi.
Tabel 4.2. Hasil simulasi numeris metode beda hingga grid kolokasi pada = .
Galat pada
Galat Galat ℎ 100 1.2075 0.9629 200 1.2168 0.9751 400 1.2122 0.9746 800 1.2099 0.9744 1600 1.2110 0.9759 3200 1.2105 0.9758
(78)
Rata-rata
galat 1.2113 0.9731
Dari Tabel 4.2 terlihat bahwa tidak ada perbedaan galat yang signifikan. Misalnya pada = dan = , di mana galat yang dihasilkan hampir sama. Nilai galat cukup besar yaitu berkisar 1.2 sedangkan nilai galat ℎ berkisar 0.9, hal ini tidak sesuai dengan yang diharapkan. Ilustrasi galat secara geometris ditunjukkan pada gambar 4.6.
Gambar 4.6: Grafik galat kecepatan aliran air dan kedalaman air ℎ menggunakan metode beda hingga grid kolokasi
(79)
Gambar 4.7: Grafik galat kecepatan aliran air dan kedalaman air ℎ menggunakan metode beda hingga gris kolokasi
Gambar 4.7 menunjukkan nilai log galat , ℎ , , ℎ , ∞ dan
ℎ ∞. Rumus galat , , dan ∞ tidak tepat digunakan sebagai alat untuk
mengukur keakuratan metode beda hingga grid kolokasi untuk persamaan gelombang air dangkal. Rumus galat , , dan ∞ tidak dapat menunjukkan bahwa semakin banyak titik, komputasi errornya akan semakin kecil.
Metode ini memiliki kelebihan yaitu ketika diambil ∆ cukup besar metode ini tetap stabil. Adapun kekurangan dari metode ini yaitu memiliki skema perhitungan numerik yang cukup rumit jika dibandingkan dengan skema eksplisit metode volume hingga Lax-Friedrichs. Metode ini memiliki sifat stabil tanpa syarat. Selain itu, kekurangan pada model ini adalah memiliki galat yang besar pada perhitungan numeriknya karena hanya dipandang satu grid saja untuk menghitung variabel yang tidak diketahui. Dengan demikian metode beda hingga grid kolokasi
(80)
bukan pilihan yang tepat untuk menyelesaikan persamaan gelombang air dangkal terkait dengan masalah bendungan bobol.
C. Metode Beda Hingga Grid Selang-Seling
Pada bagian sebelumnya telah dilihat hasil simulasi menggunakan metode volume hingga dan metode beda hingga grid kolokasi. Pada metode beda hingga grid kolokasi masih terdapat getaran semu dalam hasil grafik yang dapat dilihat pada Gambar 4.8. Sehingga diperlukan model grid selang-seling untuk memperbaiki model grid kolokasi agar tidak ada getaran semu dalam hasil simulasi persamaan gelombang air dangkal. Hasil simulasi numeris menggunakan model grid selang-seling ditunjukkan pada Gambar 4.8.
Gambar 4.8: Grafik simulasi numeris dengan metode beda hingga grid
(1)
title(sprintf('Kedalaman air pada waktu t=%4.3f',t)) xlim([-L L])
ylim([0 11])
subplot(2,1,2)
plot(xodd,uodd,'b-', xodd,uoddex,'r-') legend('solusi numeris','solusi eksak')
title(sprintf('Kecepatan air pada waktu t=%4.3f',t)) xlim([-L L])
ylim([0 5]) pause(0.1) end
b.
Code untuk grafik galat dan
ℎ
clc
N = [100,200,400,800,1600,3200];
Galat_u = [0.1804, 0.0897, 0.0415, 0.0285, 0.0144, 0.0089]; Galat_h = [0.1239, 0.0621, 0.0416, 0.0209, 0.0140, 0.0067]; plot(N,Galat_u,'--r*',N,Galat_h,'--b*')
legend('Galat u','Galat h');
xlabel('Banyaknya langkah pada domain ruang (N)') ylabel('Galat')
title('Galat Kecepatan dan Kedalaman Aliran Air')
c.
Code untuk grafik galat
, , dan
∞clc
clear all
N1 = [100 200 400 800 1600 3200]; E_u_L1=zeros(6,1)
E_h_L1=zeros(6,1) E_u_L2=zeros(6,1) E_h_L2=zeros(6,1) E_u_Linf=zeros(6,1) E_h_Linf=zeros(6,1) E_u_L1a=E_u_L1 E_h_L1a=E_h_L1 E_u_L2a=E_u_L2 E_h_L2a=E_h_L2 E_u_Linfa=E_u_Linf E_h_Linfa=E_h_Linf for kk = 1:length(N1) N = N1(kk)
for k=1:length(N)
g = 9.81; % percepatan gravitasi L = 5; % ujung-ujung interval
(2)
xmin=-L; xmax=L;
dx = (L-(-L))/N; % jarak grid a ke grid b
hL = 10; % ketinggian awal di sebelah kiri dinding, dinding berada pada x=0
hR = 4; % ketinggian awal di sebelah kanan dinding dt = 0.05*dx; % langkah waktu t
tstop =0.2; % program ini berjalan sampai waktu tStop detik
%for shock wave exact computation
c_L = sqrt(g*hL); % wave speed at left side c_R = sqrt(g*hR); % wave speed at right side
Smin=-101.0; % initial bracketing for bisection method for shock speed S
Smax=0.0; % terminal bracketing for bisection method for shock speed S
for i=1:100
S=(Smin+Smax)/2.0; % bisecting
u2=S-c_R*c_R/4.0/S*(1.0+sqrt(1.0+8.0*S*S/c_R/c_R)); % implicit function for velocity behind shock
c2=c_R*sqrt(0.5*(sqrt(1.0+8.0*S*S/c_R/c_R)-1.0)); % implicit function for wave speed behind shock
func = -2.0*c_L -u2 +2.0*c2; % characteristic relation between velocity and wave speed
if (func > 0.0) % bisection procedure Smin=S;
else % bisection procedure Smax=S;
end end
% make a grid
x = (-L+dx/2 : dx : L+dx/2); % membuat langkah pada ruang x dengan ujung-ujung interval -L+dx/2 dan L+dx/2
h = zeros(1,N); % membuat ruang untuk kedalaman aliran air u = zeros(1,N); % membuat ruang untuk kecepatan aliran air q = zeros(1,N); % membuat ruang untuk debit aliran air xodd = zeros(1,N/2); % membuat ruang untuk menghitung kecepatan aliran air
uodd = zeros(1,N/2); % membuat ruang untuk perhitungan kecepatan aliran air pada grid ganjil
qodd = zeros(1,N/2); % membuat ruang untuk perhitungan debit aliran air pada grid ganjil
xeven = zeros(1,N/2); % membuat ruang untuk menghitung kedalaman aliran air
heven = zeros(1,N/2); % membuat ruang untuk perhitungan kedalaman aliran air pada grid genap
% menghitung kecepatan dan kedalaman aliran air. Jika hasil modulonya nol
% maka hasil perhitungannya masuk ke grid genap. Jika hasil modulonya tidak nol
% maka hasil perhitungannya masuk ke grid ganjil. for i = 1:N
(3)
xeven(i/2) = x(i); else
xodd((i+1)/2) = x(i); end
end
%initial condition h(1,1:N/2) = hL; h(1,N/2:N) = hR;
%now let start the evolution figure(1)
t=0;
%initial condition h(1) = hL;
h(end) = hR; u(1) = 0; u(end) = 0; while (t<tstop) hh=h;
uu=u;
hnew = zeros(1,N);
unew = zeros(1,N); for i = 3:N-2
if mod(i,2) == 0 %h grids i.e. even grids hhtiph = hh(i);
uuiph = uu(i+1); qiph = hhtiph*uuiph; hhtimh = hh(i-2); uuimh = uu(i-1); qimh = hhtimh*uuimh;
hnew(i) = hh(i) - dt/(2*dx)*(qiph - qimh); end
end
%boundary condition hnew(1:3) = hL;
hnew(end-3:end) = hR; unew(1:3) = 0;
unew(end-3:end) = 0;
% perhitungan dengan metode beda hingga grid selang-seling
for i=4:N-4
if mod(i,2)~=0; %u grids i.e. odd grids uutip1 = uu(i);
uuti = uu(i-2); uuip3h = uu(i+2); hhtip3h = hh(i+1); qip3h = hhtip3h*uuip3h; uuiph = uu(i);
(4)
hhtiph = hh(i-1); qiph = hhtiph*uuiph; qip1 = 0.5*(qiph+qip3h); uuimh = uu(i-2);
hhtimh = hh(i-3); qimh = hhtimh*uuimh; qi = 0.5*(qimh+qiph); hhip1 = hh(i+1); hhi = hh(i-1);
hhiph = 0.5*(hhi+hhip1); hip1 = hnew(i+1);
hi = hnew(i-1);
hiph = 0.5*(hi+hip1);
unew(i) = (1/hiph)*(hhiph*uuiph -
dt/(2*dx)*(qip1*uutip1 - qi*uuti + 0.5*g*(hip1^2 - hi^2) ) ); end
end
%boundary condition hnew(1:4) = hL;
hnew(end-4:end) = hR; unew(1:4) = 0;
unew(end-4:end) = 0;
h = hnew; % memperbarui hasil perhitungan h u = unew; % memperbarui hasil perhitungan u t=t+dt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Exact solution
u_ex=xmin+dx/2:dx:xmax-dx/2; % initial storage for exact velocity u_ex
h_ex=xmin+dx/2:dx:xmax-dx/2; % initial storage for exact height h_ex
% the following iteration computes the exact solution at every spatial point
xC=x;
for i=1:length(xC) if xC(i) <= -c_L*t u_ex(i) = 0.0; h_ex(i) = hL;
elseif xC(i) <= -(u2+c2)*t
u_ex(i) = 2.0/3*(xC(i)/t + sqrt(g*hL)); h_ex(i) =
4.0/(9*g)*(-xC(i)/(2.0*t)+sqrt(g*hL))^2;
elseif xC(i) < -S*t u_ex(i) = -u2; h_ex(i) = c2^2/g; else
u_ex(i) = 0.0; h_ex(i) = hR;
(5)
end end
Q_ex = h_ex.*u_ex; % the exact momentum or discharge Q of water
% Menggambar hasil perhitungan h dan u hevenex = 0*heven;
uoddex = 0*uodd; for i = 1:N
if mod(i,2) == 0
heven(i/2) = h(i); hevenex(i/2) = h_ex(i); else
uodd((i+1)/2) = u(i); uoddex((i+1)/2) = u_ex(i); end
end
% Galat solusi eksak dengan solusi numeris
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% E_u = 1/(N/2)*sum(abs(uodd-uoddex))
E_h = 1/(N/2)*sum(abs(heven-hevenex))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1)
subplot(2,1,1)
plot(xeven,heven,'b-', xeven,hevenex,'r-') legend('Numerical solution','Exact Solution') title(sprintf('Depth at t=%4.3f',t))
xlim([-L L]) ylim([0 11]) subplot(2,1,2)
plot(xodd,uodd,'b-', xodd,uoddex,'r-')
legend('Numerical solution','Exact Solution') title(sprintf('Velocity at t=%4.3f',t))
xlim([-L L]) ylim([0 5]) pause(0.1) end
end
% Galat solusi eksak dengan solusi numeris E_u_L1a(kk,1) =(1/N)*sum(abs(uodd-uoddex)) E_h_L1a(kk,1) =(1/N)*sum(abs(heven-hevenex)) E_u_L2a(kk,1) = (1/N)*sum((uodd-uoddex).^2) E_h_L2a(kk,1) = (1/N)*sum((heven-hevenex).^2) E_u_Linfa(kk,1) = max(abs(uodd-uoddex)) E_h_Linfa(kk,1) = max(abs(heven-hevenex)) end
(6)
E_u_L1 = E_u_L1a E_h_L1 = E_h_L1a E_u_L2 = E_u_L2a E_h_L2 = E_h_L2a E_u_Linf = E_u_Linfa E_h_Linf = E_h_Linfa subplot(2,1,1)
plot(log(N1),log(E_u_L1),'--r*',log(N1),log(E_u_L2),'--b*', log(N1), log(E_u_Linf),'--g*')
legend('Galat u L1','Galat u L2', 'Galat u Linf'); xlabel('log(N)')
ylabel('log(Galat u)')
title('Galat Kecepatan Aliran Air') subplot(2,1,2)
plot(log(N1),log(E_h_L1),'--r*',log(N1),log(E_h_L2),'--b*', log(N1), log(E_h_Linf),'--g*')
legend('Galat h L1','Galat h L2', 'Galat h Linf'); xlabel('log(N)')
ylabel('log(Galat h)')