Datorprojekt 3: Vågpaket
Transcription
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