Kamis, 31 Januari 2013

[bs] Bagaimana membuat Transparent Boundary Conditions (TBC's) untuk Time-Dependent Linear Schrodinger Equation tanpa harus mempelajari TBC's

Transparent boundary conditions (TBC's) merupakan syarat idelanya simulasi traveling wave. TBC's diperlukan karena domain komputasi umumnya terbatas, maksimum selebar layar monitor komputer Anda. Sedangkan apa yang terjadi ketika traveling wave mencapai tepi domain komputasi adalah otomatis akan dipantulkan kembali. Gejala pemantulan oleh tepi domain komputasi ini umumnya tidak dinginkan karena dapat mengganggu jalanya pengamatan dalam problem space

TBC's yang bagus setidaknya harus memenuhi 4 syarat pokok sbb:

[1] 100 % menyerap tanpa menantulkan kembali.
[2] Stabil (Dapat menyerap berbagai panjang gelombang yang datang).
[3] Untuk menghemat tempat, ukuranya harus dapat dibuat setipis mungkin.
[4] Formulasinya sederhana



Gambar 1. Pada kasus perambatan gelombang 1 dimensi TBC's diletakkan pada batas x1 dan x2. 


Pada simulasi elektromagnetik, kita kenal perfect matched layer (PML) yang pada saat ini perumusanya telah cukup mapan dan memenuhi ke-4 syarat di atas. Perumusan PML berasal dari persamaan Maxwell. 

Pada kasus simulasi gelombang de Broglie (persamaan Schrodinger), perumusan TBC's umumnya dijumpai tidak sederhana dan implementasinya lumayan membingungkan hehehehe .. its just my personal opinion. Sehingga, ide berikut ini layak dicoba seandainya perumusan yang ada belum dapat diterapkan.

Kita mulai dari persamaan Schrodinger linear gayut waktu yang dituliskan sebagai :

  
                                                                                                       (1)


Untuk memroses fungsi gelombang kompleks, kami akan menguraikan Psi(r,t) menjadi komponen real dan imajiner yakni

                      
                                                                                                      (2)

Substitusi Persamaan (2) ke Persamaan (1) memberikan

                                                                                                       (3)

Pisahkan komponen real dan imajiner nya memberikan sepasang persamaan yakni

  
                                                                                                      (4)

Untuk tujuan simulasi dalam komputer, Persamaan (4) perlu diaproksimasi menggunakan central difference. Kami mulai dengan asumsi satu dimensi yang dipilih secara acak misalnya sejajar sumbu-x. Aproksimasi central difference Persamaa (4) terhadap waktu memberikan

  
                                                                                                      (5)

dan aproksimasi laplacianya adalah

                                                                                                     (6)

Selanjutnya, untuk menyederhakan penulisan kami akan gunakan notasi baru sbb :

                         
                                                                                                      (7)

Persamaan (4) dapat ditulis ulang dengan ekspresi central difference sebagai persamaan update yakni

                                                                                                     (8)
dan

          
                                                                                                       (9)


Persamaan (8) dan (9) merupakan persamaan Schrodinger dalam notasi finite difference orde dua yang masih murni, belum menggunakan TBC's. Kedua persamaan tersebut di-iterasi secara simultan untuk memeroleh solusi persamaan Schrodinger dalam problem space

Menggunakan sumber berupa pulsa sinusoidal gaussian envelope fungsi posisi, yakni

                
                                                                                                     (10)

Kita dapatkan solusi persamaan Schrodinger secara real time dan real space yakni


Gambar 2. Pulsa sinusoidal gaussian envelope dibangkitkan pada k0 = 150, dengan lebar pulsa (sigma) = 50 nm, dan panjang gelombang (lambda) = 10 nm.


Gambar 3. Setelah 84 femto second (fs), pulsa membentur tepi kanan batas domain komputasi dan dipantulkan kembali ke dalam problem space.


Sekarang, disambi belajar membuat TBC's yang lebih scientific, ide berikut ini bisa digunakan untuk membunuh fungsi gelombang de Broglie pada saat mencapai tepi domain komputasi. Ide nya adalah kita modifikasi Persamaan (8) dan (9) menjadi sbb :

                                                                                                      (11)

dengan alpha adalah nilai yang perlu kita cari secara trial and error .... hehehehehe. Namanya juga pengawuran, ya mesti sabar :)). Konsekuensi yang lain adalah kita juga perlu menetapkan seberapa tebal lapisan TBC's ini. Disini, setelah coba dan gagal 1000 x, kami peroleh angka yang cukup memuaskan yakni :

alpha    = zeros(1,x_step);  
tbc      = 20;          % ketebalan TBC's
factor   = 0.015;       % angka penyelamat 

for k=1:tbc
     alpha(k)            = factor*(tbc+1-k); % batas kiri
     alpha(x_step-tbc+k) = factor*(k-1);     % batas kanan
end


Skrip di atas maksudnya adalah: mula-mula kita set nilai alpha di seluruh problem space bernilai 0. Karena nilai exp(0) = 1 maka faktor redaman artifisial ini (alpha) tidak memengaruhi nilai asli dari Persamaan (8) dan (9). Selanjutya, pada lapisan PML atau TBCs nilai alpha baru memberi pengaruh sesuai definisi pada skrip di atas.

Aaand ..... here the result ... !!! :))



As you can see ...after 125 fs the wave perfectly absorbed by the TBC's. Lalu misalnya ada pertanyaan seberapa stabil TBC's pengawuran ini ? Atau, pada panjang gelombang berapa ia masih dapat berfungsi sempurna ... dst .. dst ... jawabanya adalah tidak tahu. Karena pendekatan ini murni numerik, tidak diturunkan dari asas fisika kuantum atau dari Persamaan Maxwell untuk kasus elektromagnetik, sehingga untuk mengetahui seberapa stabil ya perlu di coba-coba aja lagi. Saran saya, metode ini cocok dipakai dalam kelas, untuk menjelaskan konsep dasar tanpa harus mendalami teori TBC's yang cukup rumit tersebut :p


Tidak ada komentar :