Metode Beda Hingga pada Persamaan Gelombang
(Tulisan ini diadaptasi dari buku PDP yang disusun oleh Dr. Sri Redjeki Pudjaprasetia)
M. Jamhuri UIN Malang
Metode Beda Hingga
Perhatikan persamaan gelombang
utt− c2uxx= 0 (1)
dengan syarat awal
u (x , 0) = φ (x ) , dan ut(x , 0) = ψ (x ) (2)
Persamaan beda skema CTCS (central time central space) untuk persamaan (1) adalah sebagai berikut ujn+1− 2un j + u n−1 j ∆t2 − c 2u n j +1− 2unj + uj −1n ∆x2 = 0 (3)
atau dapat dituliskan sebagai ujn+1= S unj +1+ uj −1n + 2 (1 − S) ujn− u n−1 j (4) dengan S =c 2∆t2 ∆x2
Perhatikan bahwa persamaan beda (4) memerlukan dua baris syarat awal, sementara permasalahan kita hanya mempunyai syarat awal (2), yang berarti u0
j, untuk j = 1, . . . , Mx.
Untuk memperoleh uj1terapkan beda pusat dengan akurasi O ∆t2 pada ut|0j, yaitu
u1 j − u
−1 j
2∆t = ψj (5)
Persamaan (4) untuk n = 0 menghasilkan u1j = S uj +10 + u0j −1 + 2 (1 − S) u0j − u −1 j dan karena −uj−1= 2∆tψj− uj1 maka diperoleh u1j = S uj +10 + u0j −1 + 2 (1 − S) u0j + 2∆tψj− uj1 atau uj1= S 2 u0j +1+ uj −10 + (1 − S) u0j + ∆tψj (6)
Berikutnya, substitusikan kondisi uj0= φj pada persamaan (6) sehingga diperoleh
uj1= S 2 φ0j +1+ φ0j −1 + (1 − S) φ0j + ∆tψj (7)
Jadi, persamaan beda (4) dapat diterapkan dengan menggunakan u0
j = φjdan persamaan
Syarat Kestabilan
Syarat kestabilan dari persamaan beda (4) dapat dicari dengan cara mensubstitusikan unj = ρneiaj kedalam persamaan tersebut, yaitu
ρn+1eiaj= Sρneia(j +1)+ ρneia(j −1)+ 2 (1 − S) ρneiaj− ρn−1eiaj
selanjutnya bagi persamaan diatas dengan ρneiaj, sehingga diperoleh
ρ = S
eia+ e−ia
+ 2 (1 − S) − ρ−1 (8)
Karena e±ia= cos a ± i sin a, maka persamaan (8) dapat ditulis sebagai ρ = S ([cos a + i sin a] + [cos a − i sin a]) + 2 (1 − S) − ρ−1 ρ2 = [2S (cos a − 1) + 2] ρ − 1
atau
ρ2− [2S (cos a − 1) + 2] ρ + 1 = 0 (9)
Misalkan S (cos a − 1) = p, maka diperoleh
ρ2− (2p + 2) ρ + 1 = 0 sehingga akar-akarnya adalah
ρ1= (p + 1) + p p2+ 2p dan ρ2= (p + 1) − p p2+ 2p
Nilai dari ρ1dan ρ2terbagi menjadi tiga kasus yaitu:
1 Jika p2+ 2p > 0 dan p < −2, diperoleh ρ1dan ρ2bernilai riil dan salah satu diantaranya bernilai < −1, jadi skema tidak stabil.
2 Jika p2+ 2p < 0 dan −2 < p ≤ 0, diperoleh ρ1dan ρ2
ρ1,2= (p + 1) ± ip−p2− 2p
merupakan bilangan kompleks dengan |ρ1,2| = 1. Jadi ρ1,2= cos θ + i sin θ.
3 Jika p = −2, maka akan diperoleh ρ = −1.
Dengan demikian, skema beda hingga stabil jika p ∈ [−2, 0] , ∀a, dan −2 ≤ S (cos a∆x − 1) ≤ 0, ∀a dan karena −2 ≤ cos a∆x − 1 ≤ 0, ∀a, maka diperoleh
−2 ≤ −2S ≤ 0 atau
0 < S ≤ 1
Jasi syarat kestabilan untuk persamaan gelombang skema CTCS adalah S = c2∆t
2
Kekonsistenan
Perhatikan uraian deret Taylor berikut: un±1j = un j ± ∆t ut|nj + 1 2∆t 2u tt|nj ± 1 6∆t 3u ttt|nj + 1 24∆t 4u tttt|nj + · · · (10) uj ±1n = unj ± ∆x ux|nj + 1 2∆x 2u xx|nj ± 1 6∆x 3u xxx|nj + 1 24∆x 4u xxxx|nj + · · · (11)
Dari persamaan (10) dan (11) diperoleh unj +1+ unj −1 = 2 ujn+ 1 2∆t 2u xx|nj + 1 24∆x 4u xxxx|nj + · · · (12) un+1j + ujn−1 = 2 ujn+1 2∆t 2u tt|nj + 1 24∆x 4u tttt|nj + · · · (13) Substitusikan persamaan (12) dan (13) ke dalam persamaan beda (4) dan dengan sedikit manipulasi aljabar di peroleh
2ujn+∆t2utt|nj+ 2 24∆t 4u tttt|nj−2Su n j−S∆x 2u xx|nj−S 2 24∆x 4u xxxx|nj = 2 (1 − S) u n j (14)
Persamaan (14) diatas dapat disederhanakan menjadi ⇔ ∆t2 utt− c2uxx n j + 2 24 ∆t 4u tttt− S∆x4uxxxx n j
Skema diatas konsisten, Selanjutnya suku pertama truncation terms-nya adalah 2 4! ∆t 4u tttt− S∆x4uxxxx = 2 4! ∆t 4c2u xxxx− S∆x4uxxxx = 2 4!∆x 4 S2− S u xxxx
yang berupa suku difusi, dan akan bernilai nol jika dan hanya jika S2− S = 0 atau
S = c2∆t
2
Simulasi
Perhatikan persamaan gelombang utt= uxx, untuk 0 ≤ x ≤ 10, dengan syarat batas
ux(0, t) = 0 dan u (10, t) = 0, dan syarat awal ut(x , 0) = 0 dan
u (x , 0) = (2
16(x − 3)
2(x − 7)2, 3 ≤ x ≤ 7
0, untuk x lainnya
Terapkan skema beda hingga orde-2 untuk persamaan gelombang. Gunakan pula hampiran orde-2 untuk menaksir u (x , ∆t) , juga untuk syarat batas kiri.
Jika dipilih ∆x = 1, diperoleh suatu hampiran bagi simpangan awal berikut u (x , 0) = 0 0 0 0 1 2 1 0 0 0 0
Hitung u (x , t) untuk beberapa selang waktu (hand-calculation), pilih ∆t = 1. Apa yang anda lihat pada batas?
Implementasikan dan simulasikan perpecahan gundukan awal sampai gelombang pecahannya menabrak batas kanan dan kiri, kemudian berbalik. Amatilah!
Kerjakan soal (c) namun simpangan awal nol, dan kecepatan awal ut(x , 0) =
(
1, |x − 5| ≤ 1 0, x lainnya
Jawaban Soal 1.a
Skema beda hingga orde-2 untuk persamaan gelombang diatas adalah
ujn+1= S unj +1+ uj −1n + 2 (1 − S) ujn− u n−1 j (15) dengan S =∆t 2 ∆x2
Hampiran orde-2 untuk syarat awal ut(x , 0) = 0 adalah u1 j − u −1 j ∆t = 0 u−1j = uj1 (16)
Hampiran orde-2 untuk syarat batas kiri ux(0, t) = 0 adalah
un 1− u−1n
2∆t = 0
Jawaban Soal 1.b
untuk ∆x = ∆t = 1, maka S = 1 dan persamaan (15), menjadi
ujn+1= uj +1n + uj −1n − un−1j (18) untuk j = 0, dan n = 0 maka
u0(−1)= u10 dan u−10 = u 1
0 (19)
substitusikan (19) ke persamaan (18) untuk n = 0, dan j = 0 diperoleh
u10= u01 (20)
untuk n = 0, dan j = 1 · · · (Mx− 1),
berlaku
u1j = u0j +1+ uj −1− uj−1
dengan mensubstitusikan (16) pada persamaan diatas diperoleh
u1=u
0
j +1+ uj −10
Jawaban soal 1.b
untuk n = 1 · · · Ntdan j = 0, berlaku
u0n+1= u1n+ u−1n − u n−1 0
dan dengan mensubstitusikan (17) pada persamaan diatas diperoleh un+10 = 2un1− u
n−1
0 (22)
Dengan menggunakan kondisi awal dan kondisi batas (20), (21), dan (22) diperoleh hasil sebagai berikut: 10 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0.5 1 0 −1 −0.5 0 0 0 8 0 0 0.5 1 0.5 0 −0.5 −1 −0.5 0 0 7 0 0.5 1 0.5 0 0 0 −0.5 −1 −0.5 0 6 1 1 0.5 0 0 0 0 0 −0.5 −1 0 5 2 1 0 0 0 0 0 0 0 0 0 4 1 1 0.5 0 0 0 0 0 0.5 1 0 3 0 0.5 1 0.5 0 0 0 0.5 1 0.5 0 2 0 0 0.5 1 0.5 0 0.5 1 0.5 0 0 1 0 0 0 0.5 1 1 1 0.5 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 t/x 0 1 2 3 4 5 6 7 8 9 10
Jawaban Soal 1.c
Persamaan beda untuk persamaan gelombang utt= uxx adalah
ujn+1= Suj +1n + uj −1n + 2 (1 − S) unj − u n−1 j , S = ∆t2 ∆x2 (23)
untuk j = 0, dan n = 0, maka persamaan (23) menjadi
u10= S u01+ u−10 + 2 (1 − S) u00− u −1 0 (24)
substitusikan persamaan (16) untuk j = 0, dan persamaan (17) untuk n = 0 pada persamaan (24), diperoleh
u01= S u10+ u01 + 2 (1 − S) u00− u01
2u01= 2Su01+ 2 (1 − S) u00
atau
u01= Su10+ (1 − S) u00 (25)
untuk n = 0 dan j = 1 · · · (Mx− 1) persamaan
(23) menjadi
dengan menggunakan (16), persamaan (26) menjadi u1j =S 2 uj +10 + uj −10 + (1 − S) uj0 (27) untuk j = 0 dan n = 2 · · · Nt persamaan
(23) menjadi
un+10 = S u1n+ u−1n
+2 (1 − S) un0− un−10 (28)
dengan menggunakan (17), persamaan (28) menjadi