Double Well Potential
Double Well Potential
Tugas
Komputasi Fisika
Oleh:
I Gusti Ngurah Yudi Handayana
12/336339/PPA/03758
S2 Ilmu Fisika, Universitas Gadjah Mada
Selesaikan secara numerik masalah Double Well Potential!
Penyelesaian:
Sumur potensial ganda (Double Well Potential) secara umum dapat digambarkan sebagai berikut.
I GN Yudi Handayana
12/336339/PPA/03758
Adapun potensial masing-masing daerah (dasar sumur dimisalkan memiliki potensial nol), adalah
sebagai berikut.
U I
U ( x) U III
U V
, x L1
2
a
a
, L1 x
2
2
a
a
,
x
2
2
a
a
,
x L2
2
2
,
L2 x
2
(1)
Penyelesaian sumur potensial ini dilakukan secara numerik dengan menggunakan metode beda
hingga (finite difference). Dalam penyelesaian kasus ini, terlebih dahulu meninjau persamaan
Scrodinger bebas waktu, yaitu sebagai berikut.
2 d 2 ( x)
U ( x) ( x)
2 dx 2
E ( x )
(2)
d 2 ( x) 2mU ( x)
( x)
dx 2
2
2mE
( x)
2
d 2 ( x) 2m
2 E U ( x) ( x) 0
dx 2
(3)
2m
E U ( x )
2
Karena E dan U(x) masih bersatuan eV, maka harus dikonversi dahulu dengan mengggunakan
skala konversi energi (Ekon = 1,6 x 10-19 J/eV), sehingga:
G ( x)
2m
/ Ekon2
E U ( x )
(4)
(5)
I GN Yudi Handayana
12/336339/PPA/03758
Pada kasus sumur potensial ini (double well potential), terdapat asumsi sebagai langkah awal
penyelesaian bahwa pada ujung kiri dan kanan, fungsi gelombang haruslah meluruh mendekati
nol, atau dapat dituliskan dengan:
( x) 0
x ,
(6)
a
adalah:
2
( x) exp G ( x) x
Selanjutnya, untuk menyelesaikan bentuk (x ) pada persamaan (5), digunakan metode beda
hingga (finite difference). Penyelesaian dengan metode beda hingga dimulai dari deret taylor.
Misalkan diambil setiap titik x memiliki selang (step size) sebesar h, dan setiap xk tertentu akan
berkaitan dengan suatu Uk tertentu dengan ( x k ) k sedemikian sehingga deret taylor untuk
dx 2
d 2 k
2
dx
h 3 d 3 k
3
6 dx
O h 4
(7)
d k h 2
dx 2
d 2 k
2
dx
h3
6
d 3 k
3
dx
O h 4
(8)
k 1 ( x h) k h
k 1 ( x h) k h
Dengan menjumlahkan persamaan (7) dan persamaan (8), maka akan didapat sebagai berikut.
k 1 k 1
d 2 k
2 k h 2
2
dx
d 2 k
h 2
2
dx
k 1 k 1 2 k O h 4
d 2 k
2
dx
O h 4
k 1 k 1 2 k
h2
O h2
(9)
Dengan menganggap suku O(h2) sangat kecil sehingga dapat diabaikan (sebagai galat
pemotongan), maka persamaan (9) menjadi:
d 2 k
2
dx
k 1 k 1 2 k
h2
(10)
I GN Yudi Handayana
12/336339/PPA/03758
Pemotongan terhadap suku O(h4) memberikan galat pemotongan sesuai orde 4 dari step size h.
Maka dari itu, nilai toleransi yang diberikan harus lebih besar dari h 4, sebagai antisipasi galat
pemotongan ini.
tol h 4
(11)
Selain itu, h diambil sekecil mungkin dengan tetap memperhatikan batas bit dari komputer. Oleh
karena itu, banyaknya titik x yang merupakan jumlah titik pada rentang yang diberikan (x min dan
xmax) dapat dicari sebagai berikut.
k
x max x min
h
(12)
Selanjutnya, hasil dari persamaan (10) kemudian disubstitusi ke dalam persamaan (5) sehingga
menjadi sebagai berikut.
k 1 k 1 2 k
h2
G k k
k 1 k 1 2 k h 2 G k k
0
0
k 1
k 1 2 k h 2 Gk k
k 1
h 2 Gk 2 k k 1
(13)
Persamaan (13) merupakan persamaan yang akan digunakan untuk mencari rekursi nilai (x)
sepanjang rentang x yang diberikan (x min sampai dengan xmax). Karena suku Gk berdasarkan
persamaan (4) masih mengandung variabel E yang belum diketahui, maka saat diberikan nilai
dari E, maka fungsi gelombang sepanjang rentang x yang ditetapkan dapat dicari. Akan tetapi,
sembarang nilai E tidak selalu memberikan interpretasi yang tepat terkait dengan sifat
gelombang pada ujung kiri dan ujung kanan sesuai dengan persamaan (6). Ini berarti bahwa perlu
dicari nilai-nilai E tertentu yang nantinya akan memberikan interpretasi yang tepat secara fisis
terkait sifat gelombang (terutama di ujung kiri dan kanan).
k 1 h 2 G k 2 k k 1 0
(14)
G ( x)
2m
/ Ekon2
E U ( x )
I GN Yudi Handayana
12/336339/PPA/03758
2m
k 1 h 2
/ Ekon
E U k 2 k k 1
(15)
Jika dimisalkan:
2mh 2 E
/ Ekon
serta
2m
(16)
/ Ekon2
k 1
U k 2 k k 1 0
/ Ekon
2h 2 m
k 1 U k 2 k k 1 0
(17)
Jika dicari sebanyak k kali, serta menerapkan syarat batas (sifat gelombang) pada persamaan (6),
maka persamaan (17) dapat dituliskan dalam bentuk matriks sebagai berikut.
1
0
0 . . .
.
U 1 2
1 0
1
U 2 2
1
0 . . .
.
2 0
0
0
1
U 3 2 1 . . .
.
3
0
0
1
. . . .
.
. .
.
.
.
.
.
.
.
.
.
. .
.
.
.
. . . .
.
.
.
.
. . . .
.
. .
.
.
.
. . . . U k 2 k 0
A I
(18)
1
0
2
0
1
U 3 2 1
0
1
.
0
A
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
U k 2
.
.
I GN Yudi Handayana
12/336339/PPA/03758
Sehingga penyelesaian matriks diatas adalah merupakan penyelesaian nilai eigen, dengan
penyelesaiannya dicari sebagai berikut:
det( A I ) 0
(19)
Nilai eigen () yang didapat akan menghasilkan nilai E (berdasarkan persamaan 16). Didapatnya
nilai E, maka fungsi gelombang dapat dicari dengan menggunakan metode finite difference
seperti pada persamaan (13). Semua proses ini kemudian ditulis dalam kode program dengan
menggunakan Matlab, sehingga hasil akhir plot grafik fungsi gelombang didapatkan.
Secara lengkap, urutan penulisan program dapat dijabarkan sebagai berikut. Berdasarkan
besaran-besaran yang telah didefinisikan (persamaan 1 sampai 12), maka dapat dibuatkan dalam
bentuk syntax Matlab definisi dari besaran-besaran tersebut. Pertama yang dilakukan adalah
menginput nilai dari U1, U2, dan U3 dengan syntax sebagai berikut.
..
U1
U3
U5
a
L1
L2
h
=
=
=
=
=
=
=
..
Jumlah titik x yaitu k dapat dituliskan dalam program Matlab dengan syntax sebagai berikut.
..
xmin = -(0.1+L1+a/2);
xmax = (a/2+L2+0.1);
x = xmin : h : xmax;
k = round((xmax - xmin)/h);
..
Karena menggunakan perintah round, maka k yg didapat dibulatkan menjadi suatu integer.
Akhirnya, dapat didefinisikan nilai-nilai potensial untuk sembarang x dalam rentang (x min dan
xmax) yang telah ditentukan sebagai berikut.
for i = 1 : k+1
if x(i) >= xmin & x(i) <= -(L1+a/2),
U(i) = U1; end;
if x(i) > -(L1+a/2) & x(i) < -a/2,
U(i) = 0; end;
if abs(x(i)) <= a/2,
I GN Yudi Handayana
12/336339/PPA/03758
end
Adapun pencarian pencarian nilai eigen tiada lain merupakan pencarian akar-akar dari matriks
(A-I), yang dapat dilakukan dengan menggunakan metode pencarian akar polinom dari matrix
(A-I) atau dengan memanfaatkan fasilitas pada Matlab yaitu dengan langsung mencari nilai
eigen dari matriks A. Pada penulisan program Matlab, perlu didefinisikan dahulu matriks A
dengan syntax sebagai berikut.
.
A=zeros(k,k);
A(1,1) = (alpha*U(1))+2;
A(1,2) = -1;
A(k,k) = (alpha*U(4))+2;
A(k,k-1) = -1;
for i = 2:3
A(i,i)=(alpha*U(i))+2;
A(i,i+1)=-1;
A(i,i-1)=-1;
end
..
Dengan alpha merupakan konstanta sesuai persamaan (16) yang dituliskan paling awal pada
program. Kemudian, dicari nilai eigen matriks A dengan syntax sebagai berikut.
.
ei = eig(A);
En = [];
n = 0;
for i=1:k
if ei(i)>0,
n = n+1;
clc
En=[En;ei(i)]
end
end
.
Selanjutnya, nilai-nilai E ini dimasukkan ke dalam persamaan rekursi seperti persamaan (13),
sehingga untuk energi tertentu (state tertentu) akan didapat bentuk fungsi gelombangnya. Pada
I GN Yudi Handayana
12/336339/PPA/03758
program Matlab, rekursi penyelesaian dengan metode finite difference seperti pada persamaan
(13) dapat dituliskan sebagai berikut.
psi(1) = 0;
psi(2) = h^2/100;
for i = 2:k
G = alpha*(En(1) - U(i));
psi(i+1) = (2 - G*h^2) * psi(i) - psi(i-1);
end
Hasil-hasil yang didapat kemudian di plot dalam grafik. Pada penyelesaian ini, grafik yang
ditampilkan adalah grafik bentuk sumur potensial ganda serta grafik fungsi gelombang untuk E
tertentu. Syntax untuk memplot grafik dalam Matlab ditulis sebagai berikut.
figure(1)
plot(x,U, 'Linewidth',3);
axis([xmin xmax min(U)-50 max(U)+50]);
xlabel('x
(nm)');
ylabel('energi
(eV)');
grid on;
figure(2)
plot(x,psi,'r','lineWidth',3)
axis([xmin xmax min(psi) max(psi)]);
xlabel('x
(nm)');
ylabel('psi');
grid on;
Berdasarkan urutan-urutan penulisan syntax program Matlab untuk Sumur Potensial Ganda ini,
secara utuh dapat dituliskan sebagai berikut.
clear all
close all
clc
%konstanta dan konversi
hbar = 1.055e-34;
% konstanta plack/2pi (J.s)
m
= 9.109e-31;
% massa partikel (dianggap electron) (Kg)
Ekon = 1.6e-19;
% Konversi Energi dari ev ke J
alpha = 2*m/(hbar/Ekon)^2;
I GN Yudi Handayana
12/336339/PPA/03758
I GN Yudi Handayana
12/336339/PPA/03758
10
end
%penyelesaian fungsi gelombang (psi)
psi(1) = 0;
psi(2) = h^2/100;
for i = 2:k
G = alpha*(En(1) - U(i));
psi(i+1) = (2 - G*h^2) * psi(i) - psi(i-1);
end
%Gambar sumur potensial yang dicari
figure(1)
plot(x,U, 'Linewidth',3);
axis([xmin xmax min(U)-50 max(U)+50]);
xlabel('x
(nm)');
ylabel('energi
(eV)');
grid on;
%gambar fungsi gelombang
figure(2)
plot(x,psi,'r','lineWidth',3)
axis([xmin xmax min(psi) max(psi)]);
xlabel('x
(nm)');
ylabel('psi');
grid on;
%Akhir Script----------------------------------
Jika script utuh tersebut dijalankan, maka pada command window akan muncul perintah input
nilai U1, U2, dan U3 sebagai berikut.
I GN Yudi Handayana
12/336339/PPA/03758
Jika diinput nilai potensial seperti diatas, maka En didapat sebagai berikut.
11
energi (eV)
300
250
200
150
100
50
0
-50
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
x (nm)
0.1
0.15
0.2
0.25
1.5
x 10
psi
0.5
-0.5
-1
-1.5
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
x (nm)
0.1
0.15
0.2
0.25
*****Selesai*****
S2 Ilmu Fisika, Universitas Gadjah Mada
Tahun 2013
I GN Yudi Handayana
12/336339/PPA/03758