METODE
BEDA HINGGA UNTUK
MENYELESAIKAN
PERSAMAAN LAPLACE
Ambar
K. Mitra
Jurusan
Teknik Lingkungan
Universitas
Negeri Iowa
Pendahuluan
Persamaan
Laplace merupakan persamaan diferensial parsial (PDP) orde dua yang digunakan
dalam banyak bidang Teknik sains, seperti pada kelistrikan, aliran Fluida, dan konduksi
panas steady. Solusi untuk persamaan ini, pada sebuah domain, dibutuhkan
spesifikasi kondisi yang pasti dimana fungsi yang tidak diketahui harus berada
pada daerah domain tersebut. Ketika fungsi itu sendiri terspesifikasi pada
bagian dari daerah tersebut kita menyebut bagian ini adalah “Dirichlet
boundary”, ketika bagian normal dari suatu fungsi terspesifikasi pada bagian
ikatan (daerah) kita dapat menyebut bagian itu sebagai “Neumann boundary”. Pada
sebuah persoalan, semua daerah dapat menjadi Dirichlet atau sebagian dari
daerah dapat menjadi Dirichlet dan bagian Neumann juga. Sebuah masalah dengan
syarat Neumann terspesifikasi pada semua daerah tidak mempunyai solusi khusus.
Pada beberapa kasus, kombinasi linear dari fungsi dan bagian normalnya
terspesifikasi, seperti keadaan yang dikenal dengan “Robin boundary”. Kita
tidak akan sepakat dengan masalah Robin, tapi ini akan cukup adil jika kita
mendiskribsikannya disini untuk masalah ini. Jenis permasalahan Laplace secara
skematis diperlihatkan pada Gambar.1, pada domain D,
Dan pada ikatannya
Dimana N adalah daerah normal, SD
adalah “Dirichlet Boundary”, dan SN adalah “Neumann boundary”.
Pada paper ini, metode beda hingga
(FDM) untuk solusi persamaan Laplace didiskusikan. Pada metode ini, PDP diubah
dalam bentuk linear, persamaan simultan. Ketika persamaan simultan dituliskan
pada notasi matriks, mayoritas elemen matriknya adalah nol. Seperti matriks
yang dikenal dengan “sparse matrix”. Bagaimanapun juga, untuk beberapa kasus,
nilai dari persamaan simultanmenjadi sangat besar, dengan kata lain beberapa
ribu. Ada tujuan khusus rutin yang menyetujui dengan sangat lebar, “sparce
matriks”. Untuk itu, dibutuhkan sebuah keahlian untuk menyimpan matrik yang
besar, dengan kata lain, beberapa gigabits akan digunakan hanya untuk
menyimpan.
Cara alternatif untuk menyelesaikan
sistem yang sangat besar dari persamaan simultan ini adalah iterasi. Keuntungan
dari solusi iterasi yaitu tidak dibutuhkannya penyimpanan matriks yang sangat
luas. Dalam paper ini, kita akan menunjukkan kegunaan salahsatu tekhnik
iterasi. Kita juga akan menggali lebih dalam satu cara akselerasi konvergen
dari metode iterasi.
Gambar1. Permasalahan Laplace.
Beda Hingga (FD)
Diketahui tiga titik pada sumbu x
yang dipisahkan oleh sebuah jarak h, seperti yang terlihat pada
Gambar2-a. Untuk memudahkannya, kita harus menandai ini sebagai i-1 dan i+1.
Misalkan nilai dari sebuah fungsi pada tiga titik ini
menjadi ϕi-1, ϕi, dan ϕi+1. Sekarang kita
dapat menuliskan deret Taylor untuk ϕi-1 dan ϕi+1 sebagai
berikut:
Dimana |i berarti bahwa
derivativenya terkomutasi pada titik i. Dengan menjumlahkan persamaan (1,2)
kita dapatkan
Setelah beberapa penyusunan
kembali, kita dapat menuliskan
Ruas kanan pada persamaan (3) adalah pendakatan beda
hingga yang lebih baik dari . Persamaan tersebut
lebih akurat karena tingkat kesalahannya bergantung pada h2.
Substitusikan pers. (1) dengan
pers.(2), sehingga didapatkan
Atau
Pers.(4) lebih akurat pada pendekatan FD dari .
Gambar-2a,2b:
beda hingga sepanjang x dan y
Dengan cara yang sama, kita dapat
mengambil tiga titik j-1, j, dan j+1 sepanjang sumbu y, seperti
yang terlihat pada Gambar-2b. Untuk susunan pada titik ini, kita dapat tuliskan
Dan
Dengan mensupersposisikan susunan pada Gambar-2a,2b
kita sampai pada 5 titik stensil pada
Gambar-3 dan ϕ membentuk dua subscripts, satu untuk i atau arah x dan yang
lainnya j atau arah y. Dengan mengkombinasikan pers.(3,5), kita tuliskan
Gambar-3:
5 titik stencil untuk persamaan Laplace.
Dengan mensubstitusikan per. (7) pada persamaan
Laplace, kita dapatkan
Atau
Pers. (8) merupakan hasil terbaik yang mengacu
pada:
Simpulan: jika ϕ merupakan fungsi dari persamaan
Laplace, kemudian ϕ, berada pada
beberapa titik dalam domain D, merupakan nilai rata-rata dari ϕ pada sekitar titik-titik pada 5 titik stencil pada
Gambar-3.
Kesimpulan ini merupakan dasar dari metode iterasi.
Kita harus membuat modifikasi kecil dalam pers. (8) ketika kita
ingin menyelesaikan persamaan Poisson
Dimana F(x,y) merupakan suatu
fungsi yang diketahui. Dalam situasi ini, pers. (8) diubah menjadi
Masalah Dirichlet
Berdasarkan contoh problem pada
Gambar-4 gambar dalam kotak hanya dengan titik-titik interior. Φ
diletakkan pada sisiTimur, Barat, Utara, dan Selatan.
Dimana ϕ(1,2), ϕ(1,3), ϕ(2,4), ϕ(3,4),
ϕ(4,3), ϕ(4,2), ϕ(3,1), dan ϕ(2,1) diketahui. Kita harus menghitung nilai
dari ϕ(2,2), ϕ(3,2), ϕ(2,3), dan ϕ(3,3). Kita mulai dengan proses
iterasi dengan mengasumsikan
Gambar-4:
Dirichlet problem pada sebuah kotak 4x4.
Superscripts (0) merupakan sebuah penghitung
iterasi. Dimulai pada sisi kiri bawah, kita dapat tuliskan
Pada baris pertama pers. (11), kita mengkomputasikan
nilai iterasi pertama dari ϕ1)(2,2). Catat bahwa, secepat
iterasi pertama telah tersedia, ia
digunakan untuk iterasi pertama dari ϕ(1)(3,2), pada baris
kedua pers. (11). Ini sangat mudah untuk
diselesaikan dengan menyimpan ϕ(0)(2,2) dan ϕ(1)(2,2)
pada lokasi memori yang sama,
sehingga tidak sesedehana menuliskan ϕ(0)(2,2) dengan ϕ(1)(2,2). Oleh sebab
itu, untuk setiap lokasi (i,j), ϕ(iterasi+1)(i,j)
tidak sesederhana dituliskan pada ϕ(iterasi)(i,j).
Bagaimanapun juga, ada sebuah
perhitungan kecil yang harus dilakukan sebelum kita menuliskannya secara
sederhana. Pertama, simpan ϕ(iterasi+1)(i,j) dalam temp.
Kemudian hitung kesalahan relative pada (i,j) sebagai
Kemudian tuliskan ϕ(iterasi)(i,j) dengan
temp. Dalam hal ini, kita akan menjaga lintasan kesalahan relative pada semua
lokasi (i,j). Dan pada akhir putaran iterasi (iterasi+1), kita dapatkan
representasi kesalahan relative sebagai
Pada titik ini, kalian harus berfikir tentang sesuatu yang kritis. Apakah kalian
benar-benar harus menyimpan ϵ(i,j)
pada semua sisi untuk menghitung ϵmax?
Atau dapatkah kalian tetap mengupdate nilai dari ϵmax setiap kalian
melangkah dari satu titik ke titik lain tanpa sebuah putaran iterasi. Untuk
sebuah masalah yang besar, menyimpan semua ϵ(i,j)
dapat menjadi sebuah ide yang sangat buruk dari sudut pandang penggunaan
memori.
Ketika ϵmax sudah tersedia, bandingkan
ini dengan pengguna toleransi spesifik 10-n untuk akurasi n digit.
Jika ϵmax
lebih besar dari toleransi spesifik, kalian harus mengoperasikannya melalui
putaran iterasi yang lain. Dengan kata
lain, iterasinya berhenti dan solusi konvergen untuk ϕ dihasilkan.
Ini merupakan ide bagus untuk
menjaga lintasan dari perhitungan
iterasi, karena itu merupakan sebuah perhitungan dari hasilnya. Kedua, kalian
harus menspesifikasikan” batas iterasi maximum”. Dengan kata lain, program ini
mungkin dapat mencapai pada sebuah putaran iterasi yang tidak akan pernah
berahir menghasilkan beberapa kesalahan pada spesifikasi data.
Sekarang, mari kita perhatikan
masalah besar pada Gambar-5 dan
menyelesaikan ide kita menolak variasi do-loop yang akan kita gunakan pada
program ini. Grid untuk masalah ini
didefinisikan oleh 1 ≤ i
≤ N dan 1 ≤ j≤ M. Titik timur, barat,
utara dan selatan adalah keadaan Dirichlet. Kondisi ikatannya {ϕ(1,j); j=2, M –
1 }, {ϕ(N,j); j=2, M – 1}, {ϕ(i,1); i = 2, N – 1}, dan {ϕ(i,M); i = 2, N – 1}
dimasukkan sebagai data.
Gambar-5: Dirichlet problem pada sebuah grid umum.
Algoritma untuk solusi iterasinya
adalah
Kalian dengan mudah dapat melihat
bahwa nilai pojoknya ϕ(1,1), ϕ(N,1), ϕ(1,M), ϕ(N,N) jangan memasang pada
putaran iterasi pada pers. (14). Nilai pojok ini dihitung dari
Pers. (15) merupakan pernyataan kontinuitas dari ϕ
sebagai sebuah pojok dicapai sepanjang
dua titik yang bertemu di pojok.
Ringkasan
·
{ϕ(1,j); j=2, M
– 1 }, {ϕ(N,j); j=2, M – 1}, {ϕ(i,1); i = 2, N – 1}, {ϕ(i,M); i = 2, N – 1}
diketahui dari kondisi batas.
·
Nilai pojok
didapatkan dari pers. (15).
·
Semua nilai lain
dihitung dengan menggunakan iterasi pada pers. (14).
Neumann
Problem
Berdasarkan
permasalahan Neumann yang telah diperlihatkan pada grid di Gambar-6. Kondisi
Dirichlet terspesifikasi pada titik utara, timur, dan selatan. Titik barat
mempunyai kondisi spesifik Neumann sebagai:
(16)
Sebagai
derivatif parsial pada persamaan Laplace didekati oleh skema FD orde ke
duaseperti pada pers. (7), derivative parsial dari pers. (16) harus didekati
dengan skema orde juga. Kita menyelesaikan ini dengan mengambil titik grid
palsu (0,j) diluar domain permasalahan, seperti yang terlihat pada Gambar-6.
Gambar-6:
pemodelan kondisi Neumann
Dengan memanfaatkan skema FD orde kedua
untuk derivative orde pertama dari pers. (4), kita dapat tuliskan pers. (16)
sebagai berikut
Bagaimanapun
juga, kita tidak dapat menjaga permisalan ϕ(0,j) tanpa formulasi kita. Oleh
sebab itu, kita tuliskan persamaan Laplace (pers. (8)) pada titik (1,j) sebagai
Kita
tuliskan kembali pers. (17) sebagai
Dengan
mensubtitusikan pers. (19) pada pers. (18), kita dapatkan
Kita
gunakan pers. (20) untuk 2 ≤
j ≤ M-1, dimana g(1,j) merupakan suatu fungsi khusus. Sebagai kondisi Dirichlet
terspesifikasi dititik utara, barat, dan selatan, nilai [ϕ(i,M), 2 ≤ i ≤ N –
1], [ϕ(N,j), 2 ≤ j ≤ M – 1], [ϕ(i,1), 2 ≤ i ≤ N – 1] diketahui.
Oleh
sebab itu, contoh algoritma untuk penyelesaian iterasinya adalah
Nilai dari ϕ pada titik pojok dihitung dengan
menggunakan pers. (15).
Ringkasan
· [ϕ(i,M), 2 ≤ i ≤ N – 1], [ϕ(N,j), 2 ≤ j
≤ M – 1], [ϕ(i,1), 2 ≤ i ≤ N – 1] diketahui sebagai kondisi batas.
· Nilai pojok didapatkan dari pers. (15).
· Semua nilai lain secara iterasi
dihitung menggunakan pers. (21).
Latihan-1
Pada
sebuah grid 1 ≤ i ≤ N dan 1 ≤
j ≤ M, tuliskanlah skema iterasinya ketika kondisi Neumann terspesifikasi pada
sisi utara dan timur seperti berikut
Dan kondisi Dirichlet
berada pada sisi selatan dan barat adalah
Latihan-2
Selesaikan
persoalan Neuman pada Latihan-1 dengan mengambil p(x) = 20, q(y) = 200, f(x)
= 0, dan g(y) = 4 dalam sebuah kotak (1 x 1) dengan (i)N = 5 dan M = 5, (ii) N = 17
dan M = 17, dan (iii) N = 65 dan M = 65.
Contoh perhitungan
untuk Latihan-2
Pada
grid 5 x 5, konvergen iterasinya setelah
21 putaran, ketika toleransinya diatur 0.001.
Nilai dari ϕ pada tengah domain, atau pada lokasi (3,3), di akhir dari setiap iterasi diberikan
dibawah untuk tujuan menghindari
kesalahan: 20.63, 37.81, 50.44, 60.21, 68.11, 74.68, 80.23, 84.96, 89.02,
92.52, 95.54, 98.14, 100.4, 102.3, 104.0, 105.5, 106.7, 107.8, 108.8, 109.6,
110.3. (Angka-angka ini didapatkan pada sebuah Compaq Compiler.)
Nilai
dari ϕ pada grid 5 x 5 di akhir pada putaran pertama iterasi diberikan dibawah.
Akselerasi Konvergen
Disini
kita akan mendeskripsikan sebuah metode untuk akselerasi konvergen dari sebuah
skema iterasi. Metode ini dikenal dengan “succesive over/under relaxtion”. Kita
memperlihatkan metode ini untuk skema iterasi
Kita mengubah persamaan
ini sehingga menjadi
Succesive over/under
relaxtion merupakan proses dua langkah.
Dalam langkah pertama dari pers. (22), kita hitung update intermediate untuk ϕ(i,j).
Kemudian update yang asli dari ϕ(i,j) dihitung dalam pers. (23). Update asli
ini merupakan gabungan/ kombinasi dari intermediate update dan nilai lama dari ϕ(i,j).
· Ketika
faktor relaksasi ω kurang dari 1, metode yang dipake adalah under relaxed.
·
Ketika faktor
relaksasi ω lebih dari satu, metode yang digunakan adalah over relaxed.
Sedikit
observasi umum untuk skema iterasi over relaxed, yaitu: (i) untuk rata-rata
tinggi nilai dari ω, konvergensinya terakselerasi, (ii) untuk ω dengan nilai
tinggi, konvergensinya berubah secara teratur, dan (iii) untuk ω dengan nilai
yang sangat tinggi, osilasinya menjadi berubah teratur secara teratur dan skema
iterasinya menjadi tidak stabil. Skema under relaxed jarang divergen, namun
kecepatan perubahan konvergensinya mungkin menjadi sangat lamban sekali. Untuk
beberapa contoh geometris, konvergensi optimal parameter ω untuk kecepatan
perubahan konvergensi tercepatnya dapat dihitung. Walaupun demikian, untuk
masalah umum, ω optimal hanya dapat diestimasikan melalui eksperimen numerikal.
Untuk
grid N x M berjalan pada sebuah domaian
persegi, ω optimal diberikan oleh
Latihan-3
Melalui
percobaan numerik, hitunglah ω optimal untuk masalah Neumann
dari Latihan-2, bagian (iii).
Contoh
Dirichlet
problem digambarkan dalam sebuah domain persegi sebagai berikut:
Ketika
masalahnya terselesaikan pada grid 5 x 5, dengan menggunakan skema
Gauss-Seidel, 9 iterasi dibutuhkan untuk mencapai solusi dengan akurasi 99 %. Skema
perkembangan iterasinya diperlihatkan pada tabel dibawah ini.
Dalam skema
iterasi over-relaxed secara optimal dengan
ω = 1.1716, dihitung dari pers. (24), solusi akurasi 99% didapatkan
setelah iterasi keenam. Perkembangan dari skema over-relaxed diperlihatkan
dibawah.
With havin so much content do you ever run into any issues of plagorism
BalasHapusor copyright infringement? My blog has a lot of unique content I've either authored myself or outsourced
but it seems a lot of it is popping it up all over the internet without my agreement.
Do you know any techniques to help protect against content
from being stolen? I'd truly appreciate it.
Also visit my homepage: german electric heating