Konvergenz der Bornschen Reihe

Werbung
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
Herunterladen