Konvergenz der Bornschen Reihe 1 Verwendete Formeln Aus der Schrödinger Gleichung folgt durch Integration die dreidimensionale Lippmann-Schwinger -Gleichung: ψ(~r) = exp(i~k · ~r) − 2m 4πh̄2 Z d3 r0 exp(ik|~r − r~0 |) · V (r~0 ) · ψ(r~0 ) |~r − r~0 | (1) Hierbei ist ~k der Wellenvektor der einlaufenden Welle und V (~r) ein beliebiges, aber räumlich lokalisiertes Potential. Die Lösungen dieser Integralgleichung können unter Umständen durch Iteration gewonnen werden. Dabei bestimmt man die Lösung in n. Ordnung durch: 2m ψ (~r) = exp(i~k · ~r) − 4πh̄2 n Z d3 r0 exp(ik|~r − r~0 |) · V (r~0 ) · ψ (n−1) (r~0 ) 0 ~ |~r − r | (2) Als Ausgangsfunktion kann man ψ 0 (~r) = exp(i~k · ~r) (3) n wählen. Die Elemente {ψ (~r)} nennt man Bornsche Reihe. Die Streuamplitude f (θ, ϕ) berechnet sich dann zu: Z 2m f (θ, ϕ) = − d3 r0 exp(−ik~0 · r~0 ) · V (r~0 ) · ψ(r~0 ) 4πh̄2 (4) Ist die genaue Lösung ψ(r~0 ) nicht bekannt, so kann durch Einsetzen der Wellenfunktion in Bornscher Näherung n. Ordnung die Streuamplitude in Näherung n. Ordnung berechnet werden. Die Winkelabhängigkeit von θ und ϕ steckt dabei in der Richtung von k~0 der gestreuten Welle relativ zur einlaufenden Welle in Richtung von ~k. Für den differentiellen Wirkungsquerschnitt gilt: dσ (θ, ϕ) = |f (θ, ϕ)|2 (5) dΩ Im Folgenden sollen der Illustrierbarkeit wegen nur zweidimensionale betrachtet werden. Ausserdem werden nur zeitlich konstante Potentiale betrachtet, so dass von elastischer Streuung ausgegangen werden kann und es gilt |~k| = |k~0 |. Die Reduktion auf 2 Dimensionen erhält man, in dem man nur Potentiale betrachtet, die entlang einer Achse senkrecht zur einfallenden Welle Null sind. Sei im Weiteren o.B.d.A. ~k = |~k| · e~x und für die Potentiale gelte V (z 6= 0) = 0. Dann betrachten wir nur gestreute Wellen der Wellenvektor k~0 in der x-y-Ebene liegt. Damit ist die Streuamplitude nur noch vom Winkel θ = 6 (~k, k~0 ) abhängig. Der totale Wirkungsquerschnitt berechnet sich nach dem optischen Theorem zu: σtot = 4π · ={f (θ = 0)} |~k| 1 (6) 2 Einheitenlose Größen Im Folgenden sollen die verwendeten Größen durch Normierung auf typische Werte einheitenlos gemacht werden. ~r ~r˜ = a V Ṽ = V0 E Ẽ = V0 p~ p~˜ = p0 ~ ~k˜ = k k0 (7) (8) (9) p m · V0 √ m · V0 p0 k0 = = h̄ h̄ mit p0 = mit Damit erhält die Gleichung 2 für die Bornsche Näherung folgende einheitenlose Gestalt1 : √ m·V0 a √ ~0 | exp i k|~ r − r 2 Z h̄ m · V0 a ~ mV0 a d3 r 0 · V (r~0 ) · ψ (n−1) (r~0 ) k · ~r − ψ n (~r) = exp i 2 h̄ 2πh̄ |~r − r~0 | Analog folgt für die Streuamplitude aus Gleichung 4: √ Z mV0 a3 m · V0 a ~0 ~0 3 0 f (θ) = − k · r · V (r~0 ) · ψ(r~0 ) d r exp −i h̄ 2πh̄2 Man findet, dass sich das System durch den globalen Paramter √ mV0 a c= h̄ (10) (11) (12) (13) (14) beschreiben lässt und die Gleichungen erhalten ihre endgültige Gestalt: 2 Z exp i c k|~r − r~0 | c d3 r0 2π |~r − r~0 | 2 Z f (θ) c =− d3 r0 exp −i c k~0 · r~0 · V (r~0 ) · ψ(r~0 ) a 2π ψ n (~r) = exp i c ~k · ~r − 3 · V (r~0 ) · ψ (n−1) (r~0 ) Numerische Umsetzung Die Simulation der Potentiale sowie die Berechnung der ebenen Welle an einem Ort (x,y) bzw. die Berechnung des Abstandes zwischen zwei Punkten wurde in Funktionen ausgelagert und ist im Quelltext dokumentiert. Die wesentliche numerische Umsetzung der Bornschen Approximation ist in der Funktion Born Reihe implementiert. Grundlage der numerischen Berechnung ist eine Ortsraumdiskretisierung, die im vorliegenden Fall immer symmetrisch für die x- und y-Achse gewählt wurde. Die Koordinaten der Punkte sind in Arrays x[i] und y[j] gespeichert. Die Werte der genäherten Wellenfunktion auf dem Ortsraumgitter erfolgt in der dreidimensionalen Matrix Phi[a:b:i], welche dem Wert der Wellenfunktion am Ort (x[b],y[a]) in i. Näherung entspricht. Um eine möglichste effiziente Berechnung zu erreichen und damit auch ein relativ feines Ortsraumgitter zu ermöglichen, werden die oben genannten Integrale nur über den Raum ausgeführt, auf dem das Potential nicht verschwindet. Die Koordinaten, für welche das der Fall ist, 1 Die Tildezeichen sind hierbei wieder weggelassen worden. 2 sind in den Arrays x und y gespeichert, wobei immer gilt: V (x [i], y [i]) 6= 0. Daher nimmt die Formel für die Näherung der Wellenfunktion folgende Form an: c2 · dx · dy Phi[a, b, j]= Phi[a, b, 0] − 2π p X exp i c k (x[b] − x [i])2 + (y[a] − y [i])2 (15) p · ·V(x [i], y [i]) · Phi[y [i], x [i], j − 1] (x[b] − x [i])2 + (y[a] − y [i])2 i | {z } =:f[a,b,i] Man kann nun die zweidimensionalen Matrizen V(x [i],y [i]) und Phi[y [i],x [i],j-1] (da j-1 fest ist) als ein eindimensionales Array auffassen, weil nicht alle Indizes unabhängig sind. Führt man folgende Indexmenge ein: ind = where(V(x, y[:, newaxis])! = 0), so erhält man die eindimensionalen Objekte durch V(x,y[:,newaxis])[ind] =: V[ind] bzw. durch (Phi[:,:,j-1])[ind] =: help[i]. Damit lässt sich die obige Gleichung 15 schreiben als: Phi[a, b, j] = Phi[a, b, 0] − Phi[a, b, j] = Phi[a, b, 0] − c2 · dx · dy 2π X f[a, b, i] · V[i] · help[i] (16) i c2 · dx · dy sum(f ∗ (V[ind] ∗ (Phi[:, :, j − 1])[ind]), 2) 2π (17) Diese Zeile taucht schließlich im Quelltext in der Schleife zur Berechnung der einzelnen Näherungsordnungen auf. Die Funktion f[a,b,i] wird vorher wie folgt berechnet: f = ebene Welle(abst, 0, k, 0)/(abst + d) (18) √ Dabei ist k = 2 · E und d = dx/10.0 zur Vermeidung einer Division durch Null. abst ist eine dreidimensionale Matrix (f muss ja schließlich auch dreidimensional sein) und berechnet sich wie folgt: abst = Abstand(x , y , x[:, newaxis], y[:, :, newaxis]) Anschaulich entspricht daher der Eintrag f[a,b,c] folgendem Ausdruck: √ p exp i c 2E (x[b] − x [c])2 + (y[a] − y [c])2 p f[a, b, c] = (x[b] − x [c])2 + (y[a] − y [c])2 + d (19) (20) Die Indizes a und b charakterisieren somit den Punkt, auf dem die Wellenfunktion ausgerechnet werden soll und der Index c bezeichnet einen Punkt auf dem das Potential nicht verschwindet. Ich hoffe, die hier aufgeführten Bemerkungen erleichtern zusammen mit den Kommentaren im Quelltext die Verständlichkeit des Codes. Vor allem bei den Rechnungen mit den dreidimensionalen Matrizen hat es mich einige Zeit in ipython gekostet, um herauszufinden, was wirklich passiert. Beim Schreiben der Dokumentation ist mir aufgefallen, dass das Programm noch Optimierungsmöglichkeiten besitzt, jedoch sehe ich mich aufgrund der knappen Zeit bis zur Abgabe außer Stande diese noch einzuarbeiten. Ich bitte das zu entschuldigen , 3