Datorprojekt 3: Vågpaket

Numerisk Datorprojekt
lösning till den
tidsberoende Schrödingerekvationen.
3: Tidsutveckling
av ett vågpaket
Det är enbart i de enklaste fallen ± t ex när potentialen är sträckvis konstant ± som vi kan lösa
Schrödingerekvationen analytiskt. I andra fall får man använda datorn för att bestämma
vågfunktionen. Man räknar då ut vågfunktionens värde enbart i vissa diskreta punkter.
Normalt ligger dessa med konstant avstånd från varandra. Om de punkter där vågfunktionen
beräknas kallas ‫ݔ‬௜ ǡ ݅ ൌ Ͳǡͳǡʹǡ͵ǡ ǥ ݊ så gäller det att ‫ݔ‬௜ ൌ ‫ݔ‬଴ ൅ ݅ ή ο‫ݔ‬. ο‫ ݔ‬är alltså avståndet
mellan de diskreta x-värdena. Hur ȟ‫ ݔ‬ska väljas får avgöras från fall till fall. Ska man t ex
representera en våg med med en diskret lösning måste man välja ȟ‫ ݔ‬betydligt mindre än
våglängden.
ଶ
గ௫
Exempel på analytisk lösning: ߶ሺ‫ݔ‬ሻ ൌ ට௔ •‹ሺ ௔ ሻ.
Numerisk lösning ± även kallad diskret lösning:
Vågfunktionen representeras av en vektor i t ex MATLAB. Elementen i vektorn som
beskriver funktionen ݂ሺ‫ݔ‬ሻ blir då ݂௜ ൌ ݂ሺ‫ݔ‬௜ ሻ .
För att beräkna derivator använder man approximativa uttryck. Som bekant definieras
ௗ௙
derivatan genom uttrycket ௗ௫ ൌ Ž‹ο௫՜଴
௙ሺ௫ାο௫ሻି௙ሺ௫ሻ
ο௫
. För den numeriska lösningen användes
uttrycket
ௗ௙
ௗ௫
ൎ
௙ሺ௫ାο௫ሻି௙ሺ௫ሻ
ο௫
.
Ett sådant uttryck kallas för differenskvot. Man får då ett approximativt uttryck för derivatan i
punkten ‫ ݔ‬൅ ο‫ݔ‬Ȁʹ. Approximationen för derivatan blir naturligtvis bättre ju mindre ο‫ ݔ‬är.
‫ݔ‬
‫ ݔ‬൅ ο‫ݔ‬
Den streckade linjens lutning ger en approximation till derivatan i mittpunkten. En
approximation till andraderivatan i punkten ‫ݔ‬௜ ges av
ௗమ ௙
ௗ௫ మ
ൎ
௙Ʋቀ௫ା
οೣ
οೣ
ቁି௙Ʋሺ௫ି ሻ
మ
మ
ο௫
ൎ
೑೔శభ ష೑೔ ೑೔ ష೑೔షభ
ି
οೣ
οೣ
ο௫
ൌ
௙೔శభ ିଶ௙೔ ା௙೔షభ
ο௫ మ
.
För att bestämma diskreta lösningar till den tidsberoende Schrödingerekvationen gäller det att
finna en algoritm som ger vågfunktionen vid tiden ‫ ݐ‬൅ ο‫ ݐ‬om man känner vågfunktionen vid
tiden t. Låt oss först se på ett exempel med ´vanliga´ differentialekvationer.
Exempel. Differentialekvationen
ௗ௬
ௗ௧
ൌ ‫ ݕܣ‬är given med begynnelsevillkoret
‫ݕ‬ሺͲሻ ൌ ‫ݕ‬଴. Bestäm lösningen som funktion av t samt ge ett uttryck för hur
funktionen ändrar sig under ett kort tidsintervall ο‫ݐ‬.
Lösningen ges av ‫ݕ‬ሺ‫ݐ‬ሻ ൌ ‡ ஺௧ ‫ݕ‬଴ .
Det gäller att ‫ݕ‬ሺ‫ ݐ‬൅ ο‫ݐ‬ሻ ൌ ‡ ஺ሺ௧ାο௧ሻ ‫ݕ‬଴ ൌ ‡ ஺ήο௧ ή ‡ ஺௧ ‫ݕ‬଴ ൌ ‡ ஺ήο௧ ‫ݕ‬ሺ‫ݐ‬ሻ.
Den tidsberoende Schrödingerekvationen kan skrivas
డట
݅԰ డ௧ ൌ ‫߰ܪ‬
԰మ డ మ
där H står för en s k differentialoperator: ‫ ܪ‬ൌ െ ଶ௠ డ௫ మ ൅ ܸሺ‫ݔ‬ሻ.
I analogi med uttrycket ovan för hur den ´vanliga´ differentialekvationen ändras under ett
kort tidsintervall skriver vi:
೔
߰ሺ‫ݔ‬ǡ ‫ ݐ‬൅ ο‫ݐ‬ሻ ൌ ݁ ି԰ுο௧ ߰ሺ‫ݔ‬ǡ ‫ݐ‬ሻ.
Det är tyvärr inte så enkelt bl a därför att exponentialfunktionen i denna formel representeras
av en matris men i princip gäller denna formel även i detta fall. Tyvärr är det en ganska
besvärlig härledning som ges i appendix.
Projektet går ut på att
x
x
Använd uttrycken i appendix för att skriva en kod i MATLAB som beräknar
vågfunktionen vid olika tidpunkter.
Göra beräkningar på ett fysikaliskt exempel som väljs i samråd med din handledare.
Tillämpningar på programmet tidsberoende vågfunktion.
Här följer 3 förslag på fysikaliska tillämpningar. Diskutera med handledaren innan ni väljer.
1 Breddning och reflektion av pulser.
Låt en fri våg utbreda sig och visualisera denna med en film som visar t ex
realdelen av vågfunktionen. Välj vågpaket med olika bredd och studera hur de
utbreder sig.
Det är även lämpligt att låta en av dessa vågor infalla mot ett potentialsteg som
ger både transmission och reflektion.
2 Tunneleffekten
Låt en fri våg infalla mot en tunn barriär och studera om någon del av vågen
tunnlar genom barriären. Eftersom tunneleffekten är en liten effekt så måste du
förstora den del av vågen som passerar barriären ordentligt. Gör en film som
visar detta för några olika barriärer.
3 Resonans
Låt en våg passera en potentialgrop av ´fyrkantig standardform´. Undersök
analytiskt för vilka värden som det kan finna resonanser. Visa sedan hur vågen
beter sig för detta energivärde samt jämför med energier då vi inte har resonans.
4 Fördröjning
Låt en våg infalla mot en potential enligt figuren
.
Potentialen för stora x har värdet ܸ଴. Om energin för en våg som infaller från
vänster är mindre än ܸ଴ så kommer hela vågen att reflekteras. Men om det uppstår
resonans så blir reflektionen fördröjd genom att vågen tillbringar ´lång´ tid i brunnen
där den ´studsar´ fram och tillbaka. Studera detta fenomen!
Appendix: Tidsutveckling av v˚
agpuls i endimensionella potentialer
I det h¨ar projektet ska man definiera en initial v˚
agpuls som f˚
ar symbolisera elektronens
v˚
agfunktion, som man sedan propagerar i tiden m.h.a. den tidsberoende Schr¨odingerekvationen.
Man kan d˚
a f¨
olja hur v˚
agpulsen utbreder sig l¨angs rumsaxeln och ¨aven se vad som h¨ander
d˚
a v˚
agen st¨
oter p˚
a n˚
agon form av potentialhinder.
Den tidsberoende Schr¨
odingerekvationen i en dimension skrivs:
∂Ψ(x, t)
−i¯
h
=
∂t
!
"
h
¯ 2 ∂2
−
+ V (x) Ψ(x, t) = (H0 + V (x))Ψ(x, t) = HΨ(x, t)
2m ∂x2
d¨ar vi har inf¨
ort beteckningarna H0 = −¯
h2 /(2m)∂ 2 /∂x2 samt H = H0 + V (x). Denna f¨orsta
ordningens differentialekvation (m.a.p. tid) har l¨osningen
Ψ(x, t) = e−iHt/¯h Ψ(x, 0)
fr˚
an vilken man kan se att f¨
oljande g¨
aller f¨or v˚
agfunktionen Ψ(x, t) vid tiden t och vid tiden
t + ∆t:
Ψ(x, t + ∆t) = e−iH∆t/¯h Ψ(x, t)
Om man vet v˚
agfunktionens utseende vid tiden t kan man allts˚
a ber¨akna hur den ser ut
vid den senare tidpunkten t + ∆t. Av numeriska sk¨al kommer vi dock att vara tvungna att
skriva om ovanst˚
aende uttryck till
eiH∆t/2¯h Ψ(x, t + ∆t) = e−iH∆t/2¯h Ψ(x, t)
F¨or sm˚
a tidssteg ∆t kan vi Taylor-utveckla exponetialuttrycken enligt e x = 1+x+x2 /2!+. . .
och f˚
ar d˚
a, efter lite omflyttning,
Ψ(x, t + ∆t) =
!
1+
iH∆t
2¯
h
"−1 !
"
iH∆t
1−
Ψ(x, t)
2¯
h
och vi har d¨
armed ett recept f¨
or att ber¨
akna v˚
agfunktionen vid tiden t+∆t fr˚
an v˚
agfunktionen
vid tiden t.
F¨or att kunna g¨
ora detta beh¨
over vi veta hur H = H0 + V (x) verkar p˚
a v˚
agfunktionen.
HΨ(x, t) = (H0 + V (x))Ψ(x, t) =
−¯
h2 ∂ 2
Ψ(x, t) + V (x)Ψ(x, t)
2m ∂x2
F¨or att kunna uttrycka andraderivatan m.a.p. x i MatLab m˚
aste man diskretisera derivatan.
Generellt kan andraderivatan f¨
or en funktion f (x) i punkten xn approximeras med
f "" (xn ) =
f (xn−1 ) − 2f (xn ) + f (xn+1 )
(∆x)2
d¨ar ∆x ¨ar avst˚
andet mellan tv˚
a x-punkter.
1
I MatLab kan man systematisera ber¨aknandet av andraderivatan genom att multiplicera
v˚
agfunktionsvektorn med f¨
oljande tridiagonala matris fr˚
an v¨anster

−2
1
 1 −2
1


1
−2
1

1 

1 −2
(∆x)2 

..

.








..

.


..

.

1 −2
1 
1 −2
Resultat blir en vektor som inneh˚
aller andraderivatan i varje x-punkt i tur och ordning.
Matrisen ovan har allts˚
a effekten att den, multiplicerad p˚
a en v˚
agfunktionsvektor, ger den
diskretiserade andraderivatan.
F¨or att studera spridning (reflektion/transmission) mot n˚
agot potentialsteg eller potentialbarri¨ar eller hinder av valfri form, beh¨over man inkludera ett V (x) som ¨ar skilt fr˚
an noll.
V (x) ska multipliceras med Ψ(x, t) (se Schr¨odingerekvationen) och kan ocks˚
a skrivas om till
en matris att multiplicera med v˚
agfunktionen.
F¨
or att f˚
a ett fungerande program beh¨
over man g¨
ora f¨
oljande:
Definiera en initial v˚
agfunktion, Ψ(x, 0), f¨orslagsvis en gaussisk funktion som ger en snygg
och samlad pulsform. Ψ(x, 0) ser d˚
a ut som
Ψ(x, 0) = N e−(x−x0 )
2
/(4W 2 ) ik0 x
e
d¨ar k0 ¨ar relaterat till elektronens energi p˚
a samma s¨att som vi har diskuterat i kursen f¨or
fria elektroner. V˚
agfunktionen ¨
ar inte automatiskt normerad, utan man f˚
ar v¨alja ett l¨ampligt
N om man vill ha en normerad puls. Den sista termen exp(ik0 x) ¨ar n¨odv¨andig f¨or att ge
v˚
agfunktionen en r¨
orelse fram˚
at.
F¨or att f˚
a reda p˚
a Ψ(x, ∆t) beh¨
over vi ber¨akna
Ψ(x, ∆t) =
'
(−1 '
(
i∆t
i∆t
1+
H
1−
H Ψ(x, 0)
2¯
h
2¯
h
d¨ar H nu ¨
ar en matris och 1:an en enhetsmatris av samma storlek som H. N¨asta steg, f¨or
att f˚
a reda p˚
a Ψ(x, 2∆t), blir
'
(−1 '
(
i∆t
i∆t
Ψ(x, 2∆t) = 1 +
H
1−
H Ψ(x, ∆t)
2¯
h
2¯
h
Det ¨ar viktigt att ta ganska sm˚
a steg i tiden (annars blir den Taylorexpansion vi gjorde
en alltf¨or d˚
alig approximation). Av numeriska sk¨al ¨ar det ocks˚
a viktigt att ha ganska liten
stegl¨angd i rummet, dvs att definiera en ganska ”t¨at” x-axel i MatLab.
MatLab-tips: Det kan ta l˚
ang tid att invertera stora matriser i MatLab. Ett alternativt s¨att
att ber¨akna inv(A)B, d¨
ar A och B ¨
ar matriser, ¨ar att skriva A\B i MatLab, vilket ¨ar mycket
snabbare. Tecknet \ kallas “slash” i MatLab och finns f¨orst˚
as beskrivet i MatLab-hj¨alpen.
MatLab-funktionerna ”eye” och ”diag” kan ocks˚
a vara till hj¨alp.
B¨orja t.ex. med att titta p˚
a en helt fri elektron, d.v.s s¨att V (x) till noll, innan ni b¨orjar
experimentera med olika potentialer. L¨ampliga storleksordningar p˚
a energier, ∆x och ∆t a¨r
1 eV, 0.1 nm respektive 1 fs.
2
Studera (dvs plotta) sedan tidsutvecklingen av v˚
agfunktionens sannolikhetst¨athet n¨ar den
faller in mot n˚
agra olika potentialer. Exempel ¨ar positivt/negativt potentialsteg, potentialbarri¨ar/potentialgrop eller n˚
agot liknande strukturerna i uppgift 3.7.
¨
Andra
elektronens energi och studera hur detta p˚
averkar t.ex tunnling genom en potentialbarri¨ar eller reflektion fr˚
an ett potentialsteg. St¨ammer resultaten med vad som har diskuterats i kursen?
F¨or att kunna g¨
ora mer exakta j¨
amf¨
orelser beh¨over ni ber¨akna transmissions-och reflektionssannolikhet. Hur skulle ni i det h¨
ar sammanhanget vilja definiera dessa sannolikheter?
3