Numeryczne rozwiązanie równania Schrödingera zależnego od czasu

Transkrypt

Numeryczne rozwiązanie równania Schrödingera zależnego od czasu
Numeryczne rozwiązanie równania Schrödingera
zależnego od czasu
Równanie Schrödingera zależne od czasu dla kwantowej cząstki w polu sił o potencjale
V (x) ma postać:
Ĥ ψ(x, t) = i h̄
∂ψ
∂t
(1)
gdzie
Ĥ = −
h̄2 ∂2
+ V (x)
2m ∂x 2
(2)
jest operatorem Hamiltona.
Postać bezwymiarowa
Jesli mamy zamiar numerycznie rozwiązać równanie Schrödingera to wskazane jest
sprowadzenie go do postaci bezwymiarowej:
∂2 ψ(x, t)
∂ψ
+
V
(x)
ψ(x,
t)
=
i
(3)
∂x 2
∂t
Przyjmując za m masę elektronu, a za jednostkę długości a = 1 nm (nanometr) postać
bezwymiarową możemy stosować, jeśli za jednostkę czasu przyjmiemy wielkość:
−
τ=
2ma2
= 17,3 fs (femtosekund)
h̄
(4)
Jednostką energii będzie:
h̄2
=
= 38,1 meV (milielektronowoltów)
2ma2
(5)
Schemat różnicowy
Zapisując zespoloną funkcję falową w postaci: ψ = ψr + i ψi z równania (3) otrzymamy
układ dwóch sprzężonych równań dla części rzeczywistej i urojonej funkcji falowej:
∂ψi
∂t
∂ψr
Ĥ ψi (x, t) = +
∂t
gdzie bezwymiarowy operator Hamiltona wynosi:
Ĥ ψr (x, t) = −
1
(6)
(7)
∂2
+ V (x)
∂x 2
Pochodne cząstkowe możemy przybliżyć przez centralne różnice:
Ĥ = −
∂ψ ψ(x, t + ∆t/2) − ψ(x, t − ∆t/2)
≈
∂t
∆t
(8)
(9)
∂2 ψ ψ(x + ∆x, t) + ψ(x − ∆x, t) − 2ψ(x, t)
≈
(10)
∂x 2
(∆x)2
gdzie ∆t jest krokiem czasowym, a ∆x jest krokiem przestrzennym. Równanie różniczkowe (6) przyjmuje postać równania różnicowego
ψi (x, t + ∆t/2) − ψi (x, t − ∆t/2)
(11)
∆t
W bezwymiarowym operatorze Hamiltona należy zamienić drugą pochodną po x na
odpowiednie wyrażenie różnicowe zgodnie z równaniem (10). Zamieniając równanie
(7) na równanie różnicowe do czasu t dodajmy wielkość ∆t/2:
Ĥ ψr (x, t) = −
Ĥ ψi (x, t + ∆t/2) = +
ψr (x, t + ∆t) − ψr (x, t)
∆t
(12)
Jeśli znamy wartości ψi w chwili czasu t − ∆t/2 i wartości ψr w chwili czasu t to z równania (11) wynika, że możemy obliczyć wartości ψi w chwili czasu t + ∆t/2 za pomocą
następującej zależności:
ψi (x, t + ∆t/2) = ψi (x, t − ∆t/2) − ∆t · Ĥ ψr (x, t)
(13)
Podobnie, jeśli znamy wartości ψr w chwili czasu t i wartości ψi w chwili czasu t + ∆t/2
to z równania (12) wynika, że możemy obliczyć wartości ψr w chwili czasu t + ∆t za
pomocą następującej zależności:
ψr (x, t + ∆t) = ψr (x, t) + ∆t · Ĥψi (x, t + ∆t/2)
(14)
Algorytm numeryczny
Interesujący nas odcinek (x1 , x2 ) na osi x dzielimy na siatkę x[1..N] złożoną z N węzłów
z krokiem ∆x. Chwilowe wartości składowych ψr i ψi funkcji falowej możemy przechowywać w postaci wektorów danych: ψr [1..N] i ψi [1..N], gdzie ψ[l] oznacza wartość ψ
w l-tym węźle. Zastosujmy krok całkowania h = ∆t/(∆x)2 . Niech wektor V [1..N] przechowuje wartości potencjału V (x) w węzłach siatki, pomnożone przez (∆x)2 . Wówczas
2
schemat różnicowy zawarty w równaniach (12) i (13) możemy zapisać w postaci następującego algorytmu:
for l = 1..N
ψi [l] → ψi [l] + h ∗ ψr [l + 1] + ψr [l − 1] − 2ψr [l] − V [l] ∗ ψr [l]
for l = 1..N
ψr [l] → ψr [l] − h ∗ ψi [l + 1] + ψi [l − 1] − 2ψi [l] − V [l] ∗ ψi [l]
Stabilność numeryczna
Schemat różnicowy zawarty w równaniach (12) i (13) będzie stabilny numerycznie, jeśli
podczas jednego kroku obliczeń względna zmiana wartości funkcji falowej będzie dużo
mniejsza niż jeden:
∆ψ
1
(15)
ψ
Maksymalną wartość drugiej pochodnej funkcji falowej możemy oszacować przez:
∂2 ψ
ψ
≈
(16)
2
∂x
(∆x)2
Zgodnie z równaniem Schrödingera maksymalna zmiana funkcji falowej w trakcie jednego kroku czasowego wyniesie:
"
#
ψ
∆ψ ≈
+ Vmax ψ ∆t
(17)
(∆x)2
gdzie Vmax jest maksymalną wartością potencjału. Warunek (15) przyjmuje więc postać:
"
#
∆ψ
1
=
+ Vmax ∆t 1
(18)
ψ
(∆x)2
Jeśli za krok całkowania przyjmiemy h = ∆t/(∆x)2 i oznaczymy Vm = Vmax · (∆x)2 to
warunek stabilności numerycznej możemy zapisać jako:
h
1
Vm + 1
(19)
Warunek początkowy
Jako warunek początkowy dla numerycznego rozwiązania równania Schrödingera zależnego od czasu przyjmijmy tak zwaną paczką gaussowską:
ψ(x, 0) = e−(x−x0 ) /σ · eikx
2
3
2
(20)
Opisuje ona cząstkę kwantową zlokalizowaną w pobliżu punktu x0 z niepewnością położenia σ. Porusza się ona w prawo z prędkością grupową vg = h̄k/m. Fale de Broglie’a
wykazują dyspersję, to znaczy ich prędkość fazowa v f = ω /k zależy od długości fali. Skutkiem dyspersji jest rozpływanie się paczki gaussowskiej. Niepewność położenia
cząstki rośnie w czasie zgodnie z nastepującym wzorem:
p
(21)
σ(t) = σ · 1 + (t/t0 )2
gdzie wielkość t0 = mσ 2 /h̄ nazywamy czasem rozpływania się paczki. Stosując jednostki
wymienione wyżej przy zapisie bezwymiarowej postaci równania Schrödingera możemy
napisać: v g = 2k, t0 = σ 2 /2. W przypadku symulacji rozpraszania paczki gaussowskiej
na barierze potencjału należy tak dobrać v g i t0 , aby paczka dostatecznie szybko dobiegła
do bariery i nie zdążyła przedwcześnie się rozpłynąć. Krok całkowania h należy dobrać
do wysokości bariery zgodnie ze wzorem (19). Przedział całkowania (x1 , x2 ) powinien
być na tyle duży, aby paczka gaussowska nie zdążyła dojść do jego granic. W przeciwnym
przypadku pojawią się niepożądane odbicia1 .
1
Można ich uniknąć stosując tak zwane absorbujące warunki brzegowe.
4