Anda di halaman 1dari 10

Makalah Fisika Komputasi

Pengantar Metode Split Step Fourier menggunakan MATLAB

Oleh :

Dhea Ayu Ramadhani


1703114490
Fisika C

Jurusan Fisika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Riau
Pekanbaru
2017
Abstrak

Metode Split Step Fourier menyediakan metodologi yang sangat baik untuk belajar dan
mengajar bagaimana memecahkan persamaan diferensial parsial bergantung waktu. Metode ini
di mana-mana digunakan dalam aplikasi teknik dan fisika. Dalam artikel ini, kami menyajikan
kesederhanaan metode ini dengan memecahkan Persamaan Linear dan Nonlinier Schrodinger
dan dengan bantuan MATLAB, kami menunjukkan implementasi langsung. Perluasan untuk
jenis masalah lain juga dibahas dengan kode yang sesuai. Artikel ini menggambarkan teknik
numerik yang sangat kuat yang dapat diimplementasikan dengan mudah..

I. PENDAHULUAN

Metode Split Step Fourier (SSFM) adalah bagian dari keluarga metode pseudo-spektral
yang digunakan untuk menyelesaikan persamaan diferensial parsial nonliner bergantung waktu.
Pendekatan yang diikuti oleh SSFM mengikuti strategi lama dari devide dan conquer. PDE
nonlinear dibagi menjadi sub-masalah terkait dari persamaan aslinya. Metode ini mudah
dimengerti dan dengan penggunaan MATLAB implementasinya sangat mudah. Pada artikel ini,
kita akan menggambarkan implementasi Metode Fourier Split menggunakan MATLAB. Kami
akan membahas solusi numerik varietas contoh. Kita mulai dengan persamaan Schrodinger linear
satu dimensi, persamaan Schrodinger nonliner, sistem Schrodinger dan persamaan Schrodinger
2D.

II. MEMECAHKAN PERSAMAAN LINER SCHRODINGER OLEH SSFM

Untuk mengilustrasikan metode ini, kami mempertimbangkan contoh prototipis dari


penyelesaian Persamaan Linear Schrodinger (LSE). Persamaan ini muncul dalam banyak
aplikasi seperti mekanika kuantum, elektromagnetisme, telekomunikasi dan bidang lainnya.
Ketergantungan waktu non-dimensi Linear Schrodinger persamaan adalah sebagai berikut:

𝜕𝑢 2
1 𝜕𝑢
𝑖 =− + 𝑉(𝑥)𝑢, −∞<𝑥 <∞ (1)
𝜕𝑡 2 𝜕𝑥 2

𝑢(𝑥, 0) = 𝑢0 (𝑥)
Di sini u adalah fungsi bernilai kompleks, V (x) fungsi nyata dan i² = -1. Dalam menyelesaikan
PDE non-linier ini, mengharuskan syarat batas masuk ke 0.

Diketahui bahwa untuk nilai yang berbeda dari "potensial", V (x), tidak dapat
menemukan solusi umum. Sebagai gantinya, perlu menggunakan metode numerik untuk
menyelesaikan PDE ini.

Memisahkan LSE Sangatlah mudah untuk menulis ulang persamaan (1) sebagai:

𝜕𝑢
= 𝑖ℒ𝑢 + 𝑖𝒩𝑢, −∞ < 𝑥 < ∞, (2)
𝜕𝑡

1 𝜕2
ℒ=− dan 𝓝= -V(x) (3)
2 𝜕𝑥 2

Pertimbangkan interval waktu yang kecil, katakan [τ, τ + ∆t]. Sekarang asumsikan bahwa u (τ, x)
diketahui dan menganggap bahwa ℒ dapat diabaikan, yaitu 𝑢𝑥𝑥 ≈ 0. Kemudian (1) direduksi
menjadi :

𝜕𝑢
𝑖 = 𝒩𝑢 (4)
𝜕𝑡

Perkiraan ini mengarah ke persamaan diferensial biasa (ODE) dalam waktu. Solusi untuk ODE
ini diketahui dan solusi pada waktu t = τ + ∆t diberikan oleh :

𝑢(𝑥, 𝜏 + ∆𝑡) = exp(𝑖∆𝑡𝒩) 𝑢(𝑥, 𝜏). (5)

Selanjutnya, kami mengulangi masalah tetapi mengabaikan kontribusi 𝓝. Untuk kasus ini, PDE
adalah linier tanpa koefisien variable :

𝜕𝑢
= 𝑖ℒ𝑢. (6)
𝜕𝑡
Persamaan ini akan diselesaikan dalam interval [τ, τ + ∆t] dan menggunakan u (x, τ + ∆t) sebagai
kondisi awal. Solusi analitik untuk persamaan ini dapat dengan mengambil Transformasi Fourier

̂
𝜕𝑢 2
𝜕𝑢
𝜕𝑡
= 𝑖ℱ(ℒ𝑢) = 𝑖ℱ (
𝜕𝑥 2
) = −𝑖𝑘 2 𝑢̂. (7)

Dalam hal ini kami menggunakan definisi Fourier dan Inverse Fourier Transform berikut :

ℎ̂(𝑘) = ℱ(ℎ) = ∫−∞ ℎ (𝑥)𝑒 −2𝜋𝑖𝑘𝑥 𝑑𝑥 (8)


ℎ(𝑥) = ℱ(ℎ̂) = ∫−∞ ℎ̂ (𝑘)𝑒 2𝜋𝑖𝑘𝑥 𝑑𝑘 (9)

Derivatif parsial hilang dan persamaannya menjadi ODE. Solusi analitik dapat dihitung dan nilai
𝑢̂(x, τ + ∆t) diberikan oleh :

𝑢̂(𝑘, 𝜏 + ∆𝑡) = exp(−𝑖𝑘 2 ∆𝑡)𝑢̂(𝑘, 𝜏) (10)

Solusi dalam domain x dapat dihitung dengan kebalikan dari Transformasi Fourier :

𝑢(𝑥, 𝜏 + ∆𝑡) = ℱ −1 exp(−𝑖𝑘 2 ∆𝑡)𝑢̂(𝑘, 𝜏 + ∆𝑡)) (11)

Seluruh prosedur dapat dinyatakan dalam satu persamaan:

𝑢(𝑥, 𝜏 + ∆𝑡) = ℱ −1 exp(−𝑖𝑘 2 ∆𝑡)ℱ(exp(𝑖∆𝑡𝑉(𝑥))𝑢(𝑥, 𝜏 + ∆𝑡)) (12)

Inti dari metode split adalah berpikir untuk maju dalam waktu dan penerapan L dan N satu per
satu untuk menyelesaikan setiap langkah waktu.
III. IMPLEMENTASI

3.1 Algoritma dan Implementasi SSFM

Implementasi Metode Split Step Fourier. u diselesaikan dengan terlebih dahulu


mengalikannya dengan exp (i∆tV (x)). Kemudian mengambil Fourier Transforms dari u dan
akhirnya mengambil Inverse dari transfer fourier.

Dalam bahasa komputer, u (n) adalah vektor yang diperbarui lebih dulu dengan
mengalikannya dengan expontensial a. Analog diskrit dari Fourier Transform dan kebalikannya
adalah apa yang disebut Discrete Fourier Transforms (FDT) dan Inverse Discrete Fourier
Transform (IFDT). MATLAB dapat dengan mudah memanipulasi operasi array dan DFT dan
IFDT dihitung oleh fungsi bulitin Fast Fourier Transform (fft) dan Inverse Fast Fourier
Transform (ifft). Algoritma (3.1) menyarankan bagaimana prosedur ini akan berjalan.

Algoritma (3.1): SSFM (𝑢0, 𝑢𝑛 , 𝑀)

𝑢(𝑛) ← 𝑢0

2𝜋 𝑁 𝑁
𝑘← (− ∶ 1 ∶ − 1)
𝐿 2 2

untuk 𝑛 ← 1 𝐡𝐢𝐧𝐠𝐠𝐚 𝑀

1
𝑢(𝑛+2) ← 𝑒𝑥𝑝(𝑖∆𝑡𝑉(𝑥))𝑢𝑛
1
1 (𝑛+ )
maka (𝑛+ )←ℱ(𝑢 2 )
𝑢̂ 2
1

{𝑢̂
(𝑛+1)
← exp(−𝑖∆𝑡𝑘 2 )𝑢̂(𝑛+2)

𝑢(𝑛+1) ← ℱ −1 (𝑢̂(𝑛+1) )
maka {
𝑢𝑛 ← 𝑢(𝑛+1)
kembali (𝒖𝒏 )

Dalam algoritma (3.1) kita harus memahami bahwa u (n) adalah vektor dan dengan demikian
semua operasi adalah operasi vektor komponen bijaksana. Algoritma ini dapat dipahami oleh
pemula dalam pemrograman komputasi ilmiah. Versi yang lebih pendek dari Algoritma (3.2)
dapat diperoleh berdasarkan (12).

Algoritma (3.2): SSFM (𝑢0 , 𝑢𝑛 , 𝑀)

𝑢(𝑛) ← 𝑢0

Untuk 𝑗 ← 1 𝑢𝑛𝑡𝑢𝑘 𝑀

𝑢(𝑛) ← ℱ −1 (𝑒𝑥𝑝(−𝑖𝑘 2 ∆𝑡). ℱ(𝑒𝑥𝑝(𝑖∆𝑡𝑉(𝑥))𝑢(𝑛) ))

𝐤𝐞𝐦𝐛𝐚𝐥𝐢 (𝑢𝑛 )

MATLAB sekarang dapat direvelad ketika mengimplementasikan Algoritma (3.1) atau


(3.2). Sintaks MATLAB mengijinkan hampir "copy paste" dari algoritma. Pembaca dapat
melihat ini dalam implementasi masing-masing kode ini. Secara khusus, Algoritma (3.2) seperti
pseudocode hanya terdiri dari satu baris di dalam for-loop.

3.1 Hasil Numerik untuk LSE 1D

Untuk meyakinkan pembaca bahwa SSFM adalah skema numerik yang akurat, kami
menyajikan beberapa contoh numerik. Kami membandingkan hasil analitik Schr¨odinger yang
diketahui dengan hasil yang diperoleh SSFM. Perlu dicatat bahwa ada argumen keras yang
secara konkret membuktikan bahwa metode ini stabil secara numerik dan urutan kedua akurat.
Kami tidak melakukan analisis ini karena memerlukan kedalaman matematis lebih yang
mungkin tidak cocok untuk sarjana, pembaca yang tertarik dapat melihat kutipan yang
diperlukan dan referensi di dalamnya.

Dalam subbab ini kami membahas kinerja SSFM untuk Persamaan Schr¨ordinger 1 Dimensi.
Kami membandingkan hasil numerik dengan solusi analitik yang diketahui dan solusi numerik
yang dihitung.

IV. EKSTENSI UNTUK JENIS MASALAH LAINNYA


(a) Solusi Tepat vs Analitik (b) Kesalahan Solusi
Gambar 1: Solusi Linear Schr¨odinger dan Kesalahan pada t = 2

4.1 Masalah Non Linear


Kami menggambarkan prosedur dengan menyelesaikan Persamaan Schrodinger Nonlinear:

𝜕𝑢 2
1 𝜕𝑢
𝑖 =− − |𝑢|2 𝑢 (13)
𝜕𝑡 2 𝜕𝑥 2

𝑢(𝑥, 0) = 𝑢0 (𝑥) (14)

Persamaan ini dapat ditulis sebagai persamaan evolusi bentuk umum nonlinier :

𝜕𝑢
𝑖 = (ℒ + 𝒩)𝑢, (15)
𝜕𝑡

𝑢(𝑥, 0) = 𝑢0 (𝑥) (16)

2
1 𝜕𝑢
Dimana ℒ = − 2 2 dan 𝒩 = −|𝑢|2 𝑢 adalah waktu yang bebas linear dan nonlinear masing-
𝜕𝑥
masing operator. Untuk mengatasi masalah ini, kami mengikuti prosedur yang sama seperti
sebelumnya dan membagi masalah menjadi dua bagian. Langkah "nonlinear" diberikan oleh

𝜕𝑢
𝑖 = 𝒩𝑢 (17)
𝜕𝑡

Untuk memajukan bagian nonlinear, ambil 𝓝 = q |𝑢(x, τ + ∆t)|² ≈ q |𝑢(x, τ)|² dan dengan
demikian solusi analitis diberikan oleh :

𝑢(𝑥, 𝜏 + ∆𝑡) ≈ exp(𝑖∆𝑡𝒩) 𝑢(𝑥, 𝜏) = 𝑒𝑥𝑝(𝑖𝑞∆𝑡|𝑢(x, τ)|²𝑢(𝑥, 𝜏). (18)

Langkah Linear diberikan oleh :


𝜕𝑢
𝑖 = ℒ𝑢 (19)
𝜕𝑡

(a) Solusi Numerik (b) Kesalahan maksimum pada setiap langkah waktu
Gambar 2: Solusi dan Kesalahan Schr¨odinger Non-Linier

Bagian linier untuk kasus ini tidak berubah dan dapat ditangani lagi dengan mengambil Fourier
Transform. Jika operator diferensial hanya dengan koefisien konstan maka kita miliki

𝑢(𝑥, 𝜏 + ∆𝑡) = ℱ −1 (exp(i∆tℒ̂ ) . ℱ(exp(𝑖∆𝑡𝒩)𝑢(𝑥, 𝜏))) (20)

4.2 Hasil Numerik untuk NLSE 1D


Hasil numerik menunjukkan janji.

4.3 Masalah Dimensi yang Lebih Tinggi


Sebagai contoh terakhir kami menunjukkan SSFM untuk masalah 2D. Kami
menggunakan versi 2D LSE untuk menggambarkan ekstensi ini. Setelah membaca contoh
terakhir ini, pembaca dapat beralasan bahwa metode ini dapat diperluas ke 2D dengan nonlinier
atau masalah dimensi orde tinggi. Jika juga layak menyatakan bahwa seseorang dapat
menggunakan metode ini untuk sistem PDE, (lihat misalnya).

Versi 2D LSE diberikan oleh:

𝜕𝑢 1 𝜕2 𝜕2
𝑖 = − ( 2 + 2 ) 𝑢 + 𝑉(𝑥, 𝑦)𝑢 (21)
𝜕𝑡 2 𝜕𝑥 𝜕𝑦

SSFM digunakan dengan membiarkan


1 𝜕2 𝜕2
ℒ = − ( 2 + 2) (22)
2 𝜕𝑥 𝜕𝑦

𝒩 = 𝑉(𝑥, 𝑦) (23)

V. PERSAMAAN NON LINEAR LAINNYA

Diskusi di sini hanya terbatas pada persamaan Schrodinger [2, 7] nonlinear. Namun masalah
nonlinear / linear tergantung waktu lainnya dapat diselesaikan dengan metode ini.

5.1 Persamaan Benjamin Ono

Dalam contoh terakhir ini kita menggunakan persamaan Benjamin Ono untuk
menunjukkan bagaimana SSFM diterapkan. Contoh ini mungkin tampak eksotis untuk
mahasiswa sarjana.

Persamaan B-O diberikan oleh :

𝜕𝑢 𝜕𝑢 2
𝜕𝑢
+𝑢 +ℋ{ } = 0, −∞ < 𝑥 < ∞, 𝑡 > 0 (24)
𝜕𝑡 𝜕𝑥 𝜕𝑥 2

di mana H adalah definde Transform Hilbert sebagai :

1 ∞ 𝑓(𝑦)
𝓗{𝑓}(𝑥) = 𝜋 ∫−∞ 𝑦−𝑥 𝑑𝑦

bersama dengan kondisi awal dan batas sebagai :

𝜕𝑢
𝑢(𝑥, 0) = 𝑓(𝑥)𝑑𝑎𝑛 𝑢, → 0 sebagai |𝑥| → ∞
𝜕𝑥

VI. KESIMPULAN

Dalam artikel ini kami menyajikan SSFM untuk menyelesaikan persamaan Schr¨odinger
linear dan nonlinear. Algoritma dan implementasi MATLAB disajikan untuk SSFM untuk kedua
persamaan ini. Algoritma menunjukkan kesederhanaan metode untuk kedua kasus dan berkat
MATLAB implementasinya terbukti langsung. Contoh numerik juga ditunjukkan untuk
menunjukkan efisiensi metode. Kami berharap artikel ini dapat berfungsi sebagai batu loncatan
untuk pengantar SSFM untuk mahasiswa sarjana dalam kursus komputasi ilmiah atau sebagai
tutorial belajar mandiri untuk mahasiswa tingkat sarjana / pemula yang sedang melakukan
penelitian.

DAFTAR PUSTAKA

[1] K-C Ang. Introducing the boundary element method with Matlab. Inter-
national Journal of Mathematical Education in Science and Technology,
39(4):505–519, 2008.

[2] R Becerril, R S Guzmán, A Rendón-Romero, and S Valdez-Alvarado. Solving


the time-dependent Schödinger equation using finite difference methods.
Revista Mexicana de F´ısica, 54(2):120–132, 2008.

[3] J Boyd. Chebyshev and Fourier Spectral Methods. Dover, New York, 2001.

[4] Y W Kwon and H Bang. The Finite Element Method using Matlab. CRC Press,
New York, 1st edition, 1996.

[5] G M Muslu and H A Erbay. Higher-order split-step fourier schemes for the
generalized nonlinear schrödinger equation. Mathematics and Computers in
simulation, 67:581–595, 2005.

[6] T R Taha and M J Ablowitz. Analytical and numerical aspects of cer- tain
nonlinear evolution equations. II. Numerical, nonlinear Schrödinger equation.
Journal of Computational Physics, 55(2):203–230, 1984.

[7] T R Taha and X Xu. Parallel Split-Step Fourier Methods for the coupled
nonlinear Schrö dinger type equations. The Journal of Supercomputing,
5:5–23, 2005.

[8] JAC Weideman and B M Herbst. Split-step methods for the solution of the
nonlinear Schrödinger equation. SIAM Journal on Numerical Analy- sis,
23:485–507, 1986.

[9] X-S Yang. An Introduction to Computational Engineering with MAT- LAB.


Cambridge International Science Publishing, 1st edition, 2006.

Anda mungkin juga menyukai