BAB III SKEMA NUMERIK - · PDF fileKemudian, pada tahap kedua, ... dengan membentuk persamaan...
Transcript of BAB III SKEMA NUMERIK - · PDF fileKemudian, pada tahap kedua, ... dengan membentuk persamaan...
BAB III
SKEMA NUMERIK
Pada bab ini, akan dibahas penyusunan skema numerik dengan menggunakan
metoda beda hingga Forward-Time dan Centre-Space. Pertama kita jelaskan operator
beda hingga dan memberikan beberapa sifatnya, yang akan digunakan untuk
menkonstruksi dan menganalisa skema numerik beda hingga.
Pada makalah ini, penulis akan membahas penyusunan skema numerik FTCS
hanya pada persamaan fKdV. Sedangkan bentuk persamaan KdV, skema numerik
juga dapat digunakan dengan memberikan nilai nol pada F. Penyusunan ini
dilakukan secara bertahap. Tahap pertama, melakukan penskalaan fisis pada
persamaan fKdV. Kemudian, pada tahap kedua, mencari dan menggantikan suku-
suku turunan fKdV dengan hampiran deret taylor. Hal ini dilakukan untuk
membentuk sistem persamaan linier yang mempunyai matriks koefisien yang bernilai
dominan pada elemen diagonalnya. Sebelum kita mancapai tahap ini, kita telah
mengetahui bahwa persamaan (2.14) adalah persamaan yang bergantung pada dua
variabel, yaitu x dan t. Oleh karena itu, untuk menghitung hampiran nilai solusi
persamaan (2.14), kita perlu mendiskritkan bidang x t− terlebih dahulu, dimana x
menyatakan domain space dan t menyatakan domain time.
3.1.Skala
Persamaan fKdV merupakan model hampiran gelombang yang merambat pada
permukaan air dangkal, dengan panjang gelombang yang sangat panjang dan
amplitudo yang kecil dibandingkan kedalamnnya. Akibatnya, persamaan fKdV yang
diberikan dilakukan penskalaan dengan tujuan agar dapat diselesaikan secara numerik
dengan cara mengalikan suatu besaran tak berdimensi pada variabel x,t dan u.
Sehingga kita peroleh bentuk skala umum yang akan digunakan adalah
, ,u
x y tξ α τ γβ
= = = (3.1)
dimana ,α γ bergantung pada β . Kita substitusikan (3.1) kedalam persamaan (2.1),
dengan langkah-langkah penurunan sebagai berikut
Penurunan penskalaan persamaan fKdV diberikan sebagai berikut.
Suku pertama : . . .u u y yt y t
τ βγτ τ
∂ ∂ ∂ ∂ ∂= =
∂ ∂ ∂ ∂ ∂ atau tu y τβ γ=
Suku kedua : . . .u u y yx y x
ξ αβξ ξ
∂ ∂ ∂ ∂ ∂= =
∂ ∂ ∂ ∂ ∂ atau xu yξαβ=
Suku ketiga : 2. .u yu yx
αβξ
∂ ∂=
∂ ∂ atau 2. .xu u y yξαβ=
Suku keempat : 3 2 2
3 2 2
u u yx x x x
αβξ
⎛ ⎞∂ ∂ ∂ ∂ ∂⎛ ⎞= =⎜ ⎟ ⎜ ⎟∂ ∂ ∂ ∂ ∂⎝ ⎠ ⎝ ⎠
dengan memisalkan yAξ
⎛ ⎞∂= ⎜ ⎟∂⎝ ⎠
dan ABξ
∂=∂
,maka
3 22
3 2 .u A A Ax x x x
ξαβ αβ α βξ ξ ξ
⎛ ⎞ ⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂ ∂= = =⎜ ⎟ ⎜ ⎟∂ ∂ ∂ ∂ ∂ ∂ ∂⎝ ⎠ ⎝ ⎠
32 2 3
3 .u B B yx x x
ξα β α β α βξ ξ
∂ ∂ ∂ ∂ ∂= = =
∂ ∂ ∂ ∂ ∂
Bila hasil penskalaan suku keempat diatas disubstitusikan kembali
dari A ke B, maka kita dapatkan turunan ketiganya adalah
3 33
3 3
u yx
α βξ
∂ ∂=
∂ ∂ atau 3
xxxu yξξξα β= .
Suku kelima : ( ) ( ) ( ).
FF x F xx x
ξαξ α
ξ ξ
∂∂ ∂ ∂= =
∂ ∂ ∂ ∂
Setelah mendapatkan suku-suku fKdV yang diskalakan, persamaan (2.14) dapat
dinyatakan sebagai
3
. 6 . . ( )y y yy y Fτ ξ ξ ξξξ ξ
ξω
α αβ α αγ γ γ β γ α
+ − − =⎛ ⎞⎛ ⎞ ⎛ ⎞⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ (3.2)
Dengan model yang terskalakan diatas, kita dapat mengamati perilaku fisis
gelombang soliter yang terskalakan dengan lebar gelombang yang disusutkan dan
perambatan gelombang diperlambat, agar lebih mudah diamati pergerakan fisis yang
diperoleh nanti secara numerik.
3.2.Skema Numerik fKdV
Kita tinjau selang terbatas [ ],a b sebagai domain space bagi gelombang
permukaan. Perhatikan pada gambar 3.1, selang pada domain ruang ( )ξ kita partisi
sama panjang dengan lebar selang partisi sebesar ξΔ , dengan titik-titik
, 0,...,i a i i nξ ξ= + Δ = . Sedangkan variabel kedua, yaitu domain waktu ( )τ ,
menyatakan waktu perambatan gelombang. Variabel ini bernilai 0τ ≥ , sama halnya
dengan selang pada sumbu-ξ , selang pada sumbu-τ ini juga dipartisi dengan lebar
selang τΔ dengan titik-titik partisi max, 0,...,j j j jτ τ= Δ = .
Gambar 3.1 pendiskritan domain ξ τ−
Setelah mendiskritkan bidang ξ τ− , kita dapat menulis ( , )ji i jy y ξ τ= untuk
menyatakan nilai y di titik iξ pada waktu iterasi ke-j. Saat 0τ = diberikan syarat
awal berupa suatu fungsi yang hanya bergantung pada fungsi x. Di ujung kiri aξ =
j
j+1
j-1
i-1 i+1 i
τ
ξ
ξΔ ξΔ
τΔ
τΔ
dan di ujung kanan bξ = ditetapkan 2 1 0j jy y− −= = dan 1 2 0j jN Ny y+ += = untuk setiap
iterasi waktu. Selanjutnya persamaan (3.2) didiskritkan menggunakan metode beda
hingga.
Pada bagian ini diuraikan prosedur untuk menyelesaikan persamaan (3.2)
menggunakan metoda beda hingga Forward-Time dan Central-Space. Akan tetapi,
pemilihan diskritisasi ini belum cukup menyelesaikan persamaan (3.2). Kestabilan
merupakan salah satu masalah yang harus dihadapi. Masalah ini dapat diselesaikan
dengan membentuk persamaan beda implisit. Untuk mendapatkannya, nilai turunan
terhadap ξ dihampiri menggunakan rata-rata dua tingkat.
Adanya turunan ketiga pada persamaan (3.2) juga merupakan kesulitan yang
harus diatasi. Hasil perhitungan teramati bahwa matriks yang terbentuk dari
persamaan implisit mempunyai elemen diagonal yang sangat kecil dibandingkan
elemen yang lainnya, sehingga kekonvergenan iterasi tidak tercapai. Untuk
mengatasinya, fKdV diturunkan terhadap ξ , menjadi
( )3
26 1. . .2
y y y y fτξ ξξ ξξξξ ξξξξ
ωα αβ α ξγ γ γ β γ α
⎛ ⎞+ − − = ⎜ ⎟⎝ ⎠
(3.3)
Sampai disini pendiskritan persamaan dapat dilakukan dengan menggunakan
hampiran yang diturunkan dengan menggunakan deret taylor. Dalam proses
pendiskritan ini, kita hampiri suku yτξ dengan metode beda pusat untuk space dan
maju untuk time , yaitu
1 1j j
i iy yyξ ξ+ −−
=Δ
(3.4)
dan
1j j
i iy yyτ τ
+ −=
Δ (3.5)
Bila pada persamaan diatas disubstitusikan dari (3.4) ke (3.5) dengan y yξ= pada
(3.5), maka kita dapatkan
( ) ( ) ( )11 1
1 1 1 11j j
j j j ji i i i i i
y y y y y yy ξ ξξ τ τ τ ξ ξ
++ +− + − +
− ⎛ ⎞− −= = −⎜ ⎟Δ Δ Δ Δ⎝ ⎠
(3.6)
Sedangkan untuk suku ,y yξξ ξξξξ dihampiri dengan metode beda pusat untuk space
secara implisit
1 1 1
1 1 1 12 2
2 212
j j j j j ji i i i i iy y y y y yyξξ ξ ξ
+ + +− + − +⎛ ⎞− + − +
≈ +⎜ ⎟Δ Δ⎝ ⎠ (3.7)
1 1 1 1 1
2 1 1 2 2 1 1 24 4
4 6 4 4 6 412
j j j j j j j j j ji i i i i i i i i iy y y y y y y y y yyξξξξ ξ ξ
+ + + + +− − + + − − + +⎛ ⎞− + − + − + − +
≈ +⎜ ⎟Δ Δ⎝ ⎠ (3.8)
Dimana ξΔ dan τΔ merupakan lebar selang diskritisasi ruang dan waktu.
Sedangkan variabel yang ada pada persamaan KdV dinyatakan sebagai
i iξ ξ= Δ , j jτ τ= Δ dan ( ), ji j iy yξ τ = untuk ,i j berupa bilangan bulat.
Sedangkan untuk mengatasi suku tak linear pada persamaan (3.3) ini,
pendiskritan dilakukan dengan menuliskan ( )2 jji i
f y= dan turunannya dihampiri
menggunakan
1 1 11 1 1 1
2 2
2 212
j j j j j ji i i i i if f f f f ffξξ ξ ξ
+ + +− + − +⎛ ⎞− + − +
≈ +⎜ ⎟Δ Δ⎝ ⎠ (3.9)
dengan menggunakan uraian deret taylor sebagai berikut
21 2
2
12
j ji i
f ff f τ ττ τ
+ ∂ ∂= + Δ + Δ +
∂ ∂L (3.10)
Turunan f terhadap τ dengan aturan rantai adalah
2 .j j
ji
i i
f yyτ τ∂ ∂⎛ ⎞ ⎛ ⎞=⎜ ⎟ ⎜ ⎟∂ ∂⎝ ⎠ ⎝ ⎠
(3.11)
Dengan aturan rantai diatas, persaman deret taylor dapat ditulis
( )1 22 .j
j j ji i i
i
yf f y Oτ ττ
+ ∂⎛ ⎞= + Δ + Δ⎜ ⎟∂⎝ ⎠ (3.12)
ingat bahwa 1j j
i iy yyτ τ
+ −=
Δ. Dengan demikian, jika kita mensubstitusikan persamaan
ini dengan persamaan (3.12), maka hubungan nilai rata-rata f dua tingkat dengan y
diperoleh dalam bentuk
( )1 1 22 2jj j j j
i i i i if f y y y+ += + −
Atau
11
2
j jj ji i
i if f y y
+++
≈ , (3.13)
oleh karena itu, akibat (3.13) , persamaan (3.9) menjadi
1 1 11 1 1 1
2
2j j j j j ji i i i i iy y y y y yfξξ ξ
+ + +− − + +⎛ ⎞− +
≈ ⎜ ⎟Δ⎝ ⎠ (3.14)
Sedangkan untuk beda hingga pada gaya luar adalah
1 12
2i i iF F FFξξ ξ+ −− +
≈Δ
(3.15)
Sebagai linearisasi dari suku ketiga pada persamaan (3.3) dan nilai hampiran
(3.6), (3.7), (3.8), (3.14) dan (3.15) digunakan untuk menggantikan suku-suku
persamaan (3.3), untuk memperoleh persamaan beda yang bersifat aljabar. Sebelum
mendapatkan persamaan beda, pertama kita misalkan koefisien suku kedua, ketiga
dan keempat yang diberikan pada (3.6) dan (3.7), masing-masing dengan 1 2,θ θ dan
3θ agar tidak merumitkan. Sehingga kita dapatkan persamaan linier berupa
1 1 1 1 10 2 1 1 2 3 1 0 2
j j j j ji i i i ia y a y a y a y a y b+ + + + +− − + ++ + + + = (3.15)
dimana,
3
1 2 36, ,2
ωα αβ αθ θ θγ γ γ
= = − = −
Dan
0 4 3 3a a τθξΔ
= =Δ
( )1 2 1 1 3 31 4jia yτ τθ θ θ
ξ ξ−
Δ Δ= − + + −
Δ Δ
( )2 2 1 3 32 6jia yτ τθ θ θ
ξ ξΔ Δ
= − + −Δ Δ
( )3 2 1 1 3 31 4jia yτ τθ θ θ
ξ ξ+
Δ Δ= + + −
Δ Δ
( ) ( )1 1 1 1 1 3 2 1 1 232 4 6 4j j j j j j j j j ji i i i i i i i i ib F y y y y y y y y y yτ τθ θ
ξ ξ+ − − + − − + +Δ Δ
= + − − − + − − + − +Δ Δ
Dimana 1 12
2i i iF F FFξ
+ −− +=
Δ
Nilai y pada tingkat 1j + dihitung secara bersama untuk 0,1, 2,...,i N=
dengan menggunakan nilai y pada tingkat sebelumnya, seperti yang diperlihatkan
pada gambar berikut ini
Gambar 3.2 Stensil Skema Numerik
Setiap i dari (3.19) menghasilkan satu persamaan linear dengan 5 unknown,
sehingga keseluruhannya terdapat N+1 persamaan dengan N+5 unknowns. Untuk
mendapat bentuk tertutup diperlukan 4 persamaan tambahan. Hal ini diatasi dengan
memberikan nilai 2 1 0j jy y− −= = dan 1 2 0j jN Ny y+ += = , seperti yang dijelaskan
sebelumnya. Selain menyatakan batas kanan dengan batas kanan dirichlet, kita bisa
menggunakan ekstrapolasi pada 1jNy + dan 2
jNy + dengan menggunakan dua nilai y
sebelah kirinya, diberikan algoritma untuk memperoleh titik ekstrapolasi sebagai
berikut
1, 1i jy − +
1,i jy −
, 1i jy +
,i jy 1,i jy +
1, 1i jy + +
Untuk k=1..3, j+1 1N+i-1 2
1 21
1 11
yp=jN i
N i N ijN i N i
jN i N i
y
q y p
y p q
ξ ξ
ξ
ξ
++ −
+ − + −
++ − + −
++ +
−−
= −
= +
Apabila persamaan linear diatas kita perluas terhadap indeks i dari 0 hingga N,
kita peroleh bentuk perkalian matriks sebagai berikut,
12,0 3,0 4,0 0
11,1 2,1 3,1 4,1 1
10,2 1,2 2,2 3,2 4,2 2
10,3 1,3 2,3 3,3 4,3 3
10, 2 1, 2 2, 2 3, 2 4, 2 2
0, 1 1, 1 2, 1 3, 1 1
0, 1, 2,
.
j
j
j
j
jN N N N N N
jN N N N N
N N N
a a a ya a a a ya a a a a y
a a a a a y
a a a a a ya a a a y
a a a
+
+
+
+
+− − − − − −
+− − − − −
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
O O O O O M
0
1
2
3
21
11
j
j
j
j
jNj
Nj jN N
bbbb
bb
y b
−
−+
⎛ ⎞ ⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟=⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠
M
atau bila kita ringkas dalam bentuk notasi pada matriks perkalian diatas menjadi
1. j jA y b+ = (3.16)
Sedangkan langkah-langkah untuk mendapatkan persamaan linier KdV dari (3.2)
dengan mengambil F bernilai nol pada vektor ruas kanan (b).
Sebagai keterangan untuk setiap elemen yang memiliki indeks ,( )k ia pada
matriks koefisien, menyatakan bahwa indeks k untuk urutan koefisien pada
persamaan (3.15) , sedangkan indeks i untuk itersasi terhadap space dari 0 hingga N.
Sistem persamaan linear yang kita ubah dalam bentuk perkalian matriks diatas, harus
menghitung koefisien matriks dan menyelesaikan sistem persamaan penta-diagonal
(3.16) pada setiap waktu.
Secara numerik sistem persamaan tersebut dapat diselesaikan dengan metode
eliminisai Gauss untuk matriks penta-diagonal. Hasil perhitungan ini selanjutnya
digunakan untuk menghitung nilai y pada tingkat waktu j berikutnya, dan begitu
seterusnya. Pada saat menghitung y pada tingkat j=1, persamaan (3.15) memerlukan
nilai }{ 0 , 2, 1,0,1, 2,..., , 1, 2iy i N N N= − − + + . Hal ini dapat diatasi dengan
memberikan gelombang awal pada daerah pengamatan.
Setelah mendapatkan persamaan numerik pada persamaan (3.2), pada bab
selanjutnya akan disimulasikan penyelesaian numerik yang diperoleh.