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
ξ α x, y u ,τ γ 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. . y t y τ τ βγt τ ∂ =∂ ∂ ∂ = ∂ ∂ ∂ ∂ ∂ ∂ atau ut =
β γ
yτ Suku kedua : u u. y. . y x y ξ ξ αβx ξ ∂ =∂ ∂ ∂ = ∂ ∂ ∂ ∂ ∂ ∂ atauu
x=
αβ
y
ξ Suku ketiga : u. u 2y. y x αβ ξ ∂ = ∂ ∂ ∂ atau 2 . x . u u =αβ y yξ Suku keempat : 3 2 2 3 2 2 u u y x x x αβ x ξ ⎛ ⎞ ∂ = ∂ ⎛∂ ⎞= ∂ ∂ ⎜ ⎟ ⎜ ⎟ ∂ ∂ ⎝∂ ⎠ ∂ ⎝∂ ⎠ dengan memisalkan A y ξ ⎛∂ ⎞ = ⎜∂ ⎟ ⎝ ⎠ dan A B ξ ∂ = ∂ ,maka3 2 2 3 2 . u A A A x x x x ξ αβ αβ α β ξ ξ ξ ⎛ ⎞ ⎛ ⎞ ∂ = ∂ = ∂ ∂ ∂ = ∂ ∂ ⎜ ⎟ ⎜ ⎟ ∂ ∂ ∂ ⎝∂ ∂ ⎠ ∂ ⎝∂ ⎠ 3 2 2 3 3 . u B B y x x x ξ α β α β α β ξ ξ ∂ = ∂ = ∂ ∂ = ∂ ∂ ∂ ∂ ∂ ∂
Bila hasil penskalaan suku keempat diatas disubstitusikan kembali dari A ke B, maka kita dapatkan turunan ketiganya adalah
3 3 3 3 3 u y x α β ξ ∂ = ∂ ∂ ∂ atau 3 xxx u =
α β
yξξξ. Suku kelima :( )
( )
.( )
F F x F x x 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 τ ≥ , sama halnya 0 dengan selang pada sumbu-ξ, selang pada sumbu-τ ini juga dipartisi dengan lebar selang Δ dengan titik-titik partisi τ τj = Δj τ, j=0,..., jmax.Gambar 3.1 pendiskritan domain ξ τ−
Setelah mendiskritkan bidang ξ τ− , kita dapat menulis yij = y( ,ξ τi j) untuk menyatakan nilai y di titik ξi pada waktu iterasi ke-j. Saat τ = diberikan syarat 0 awal berupa suatu fungsi yang hanya bergantung pada fungsi x. Di ujung kiri ξ = a
j j+1 j-1 i-1 i i+1 τ ξ ξ Δ ξ Δ τ Δ τ Δ
dan di ujung kanan ξ = ditetapkan b y−j2= y−j1= dan 0 1 2 0
j j
N N
y + = 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 2 6 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 1 j j i i y y yξ + ξ − − = Δ (3.4) dan 1 j j i i y y yτ τ + − = Δ (3.5)
Bila pada persamaan diatas disubstitusikan dari (3.4) ke (3.5) dengan y= yξ pada (3.5), maka kita dapatkan
( ) ( ) ( )
1 1 1 1 1 1 1 1 j j j j j j i i i i i i y y y y y y yξ τ ξ ξ τ τ ξ ξ + + + − + − + − ⎛ − − ⎞ = = ⎜ − ⎟ Δ Δ ⎝ Δ Δ ⎠ (3.6)Sedangkan untuk suku yξξ,yξξξξ dihampiri dengan metode beda pusat untuk space secara implisit 1 1 1 1 1 1 1 2 2 2 2 1 2 j j j j j j i i i i i i y y y y y y yξξ ξ ξ + + + − + − + ⎛ − + − + ⎞ ≈ ⎜ + ⎟ Δ Δ ⎝ ⎠ (3.7) 1 1 1 1 1 2 1 1 2 2 1 1 2 4 4 4 6 4 4 6 4 1 2 j j j j j j j j j j i i i i i i i i i i y y y y y y y y y y yξξξξ ξ ξ + + + + + − − + + − − + + ⎛ − + − + − + − + ⎞ ≈ ⎜ + ⎟ Δ Δ ⎝ ⎠ (3.8)
Dimana Δ dan ξ Δ merupakan lebar selang diskritisasi ruang dan waktu. τ Sedangkan variabel yang ada pada persamaan KdV dinyatakan sebagai
i i
ξ = Δ ,ξ τj = Δ dan j τ y
(
ξ τi, j)
=yij untuk ,i j berupa bilangan bulat.Sedangkan untuk mengatasi suku tak linear pada persamaan (3.3) ini, pendiskritan dilakukan dengan menuliskan ij
( )
2 ji
f = y dan turunannya dihampiri menggunakan
1 1 1 1 1 1 1 2 2 2 2 1 2 j j j j j j i i i i i i f f f f f f fξξ ξ ξ + + + − + − + ⎛ − + − + ⎞ ≈ ⎜ + ⎟ Δ Δ ⎝ ⎠ (3.9)
dengan menggunakan uraian deret taylor sebagai berikut 2 1 2 2 1 2 j j i i f f f f τ τ τ τ + = +∂ Δ + ∂ Δ + ∂ ∂ L (3.10)
Turunan f terhadap τ dengan aturan rantai adalah
2 . j j j i i i f y y τ τ ∂ ∂ ⎛ ⎞ = ⎛ ⎞ ⎜∂ ⎟ ⎜∂ ⎟ ⎝ ⎠ ⎝ ⎠ (3.11)
Dengan aturan rantai diatas, persaman deret taylor dapat ditulis
( )
1 2 2 . j j j j i i i i y f f y τ O τ τ + = + ⎛∂ ⎞ Δ + Δ ⎜∂ ⎟ ⎝ ⎠ (3.12) ingat bahwa 1 j j i i y y yτ τ + − =Δ . 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 2 2 2 j j j j j i i i i i f + = f + y y + − y Atau 1 1 2 j j j j i i i i f f y y + + + ≈ , (3.13)oleh karena itu, akibat (3.13) , persamaan (3.9) menjadi
1 1 1 1 1 1 1 2 2 j j j j j j i i i i i i y y y y y y fξξ ξ + + + − − + + ⎛ − + ⎞ ≈ ⎜ Δ ⎟ ⎝ ⎠ (3.14)
Sedangkan untuk beda hingga pada gaya luar adalah 1 1 2 2 i i i F F F Fξξ ξ + − + − ≈ Δ (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 1 0 2 1 1 2 3 1 0 2 j j j j j i i i i i a y−+ +a y−+ +a y + +a y++ +a y++ = (3.15) b dimana, 3 1 2 3 6 , , 2 ωα αβ α θ θ θ γ γ γ = = − = − Dan 0 4 3 3 a a θ τ ξ Δ = = Δ
(
)
1 1 2 1 1 4 3 3 j i a τ θ y θ θ τ ξ − ξ Δ Δ = − + + − Δ Δ(
)
2 2 2 1 6 3 3 j i a τ θ y θ θ τ ξ ξ Δ Δ = − + − Δ Δ(
)
3 1 2 1 1 4 3 3 j i a τ θ y θ θ τ ξ + ξ Δ Δ = + + − Δ Δ(
)
(
)
1 1 1 1 2 1 3 3 2 4 1 6 4 1 2 j j j j j j j j j j i i i i i i i i i i b F y y θ τ y y y θ τ y y y y y ξ ξ + − − + − − + + Δ Δ = + − − − + − − + − + Δ Δ Dimana 1 1 2 2 i i i F F F F ξ + − + − = ΔNilai y pada tingkat j+ dihitung secara bersama untuk 1 i=0,1, 2,...,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 0
j j
y− = y− = dan 1 2 0
j j
N N
y + =y + = , seperti yang dijelaskan sebelumnya. Selain menyatakan batas kanan dengan batas kanan dirichlet, kita bisa menggunakan ekstrapolasi pada 1
j N
y + dan 2 j N
y + dengan menggunakan dua nilai y sebelah kirinya, diberikan algoritma untuk memperoleh titik ekstrapolasi sebagai berikut 1, 1 i j y− + 1, i j y− , 1 i j y + , i j y yi+1,j 1, 1 i j y+ +
Untuk k=1..3, j+1 1 N+i-1 2 1 2 1 1 1 1 y p= j N i N i N i j N i N i j N 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,
1 2,0 3,0 4,0 0 1 1,1 2,1 3,1 4,1 1 1 0,2 1,2 2,2 3,2 4,2 2 1 0,3 1,3 2,3 3,3 4,3 3 1 0, 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 j N N N N N N j N N N N N N N N a a a y a a a a y a a a a a y a a a a a y a a a a a y a a a a y a a a + + + + + − − − − − − + − − − − − ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ O O O O O M 0 1 2 3 2 1 1 1 j j j j j N j N j j N N b b b b b b y b − − + ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜= ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ M
atau bila kita ringkas dalam bentuk notasi pada matriks perkalian diatas menjadi
A y. j+1 =bj (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 (ak i,) 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
{
y ii0, = − −2, 1, 0,1, 2,...,N N, +1,N+ . Hal ini dapat diatasi dengan 2}
memberikan gelombang awal pada daerah pengamatan.Setelah mendapatkan persamaan numerik pada persamaan (3.2), pada bab selanjutnya akan disimulasikan penyelesaian numerik yang diperoleh.