Numerische Lösung der zeitabhängigen Schrödingergleichung im

Werbung
Elektronendynamik im Laserfeld:
Numerische Lösung der zeitabhängigen
Schrödingergleichung im
Kramers-Henneberger-Bezugssystem
von
Marco Heinen
Diplomarbeit in Physik
vorgelegt der
Fakultät für Mathematik, Informatik und Naturwissenschaften
der RWTH Aachen
im Oktober 2007
angefertigt am
Institut für Theoretische Physik A
Lehr- und Forschungsgebiet Laserphysik
Prof. Dr. H.-J. Kull
Ich versichere, diese Arbeit selbständig verfasst zu haben. Die verwendete Literatur ist
angegeben und Zitate sind kenntlich gemacht. Jede verwendete Software ist entweder
frei verfügbar oder zum Gebrauch lizensiert.
Aachen, den 30.10.2007
2
Inhaltsverzeichnis
Einleitung
4
1 Physikalische Problemstellung
1.1 Atomare Einheiten . . . . . . . . . .
1.2 Schrödingergleichung . . . . . . . . .
1.3 Einschränkungen an das System . .
1.4 Längeneichung . . . . . . . . . . . .
1.5 Geschwindigkeitseichung . . . . . . .
1.6 Kramers-Henneberger-Bezugssystem
1.7 Strahlungsrandbedingungen . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
. 6
. 7
. 7
. 9
. 10
. 11
. 13
2 Numerischer Algorithmus
2.1 Diskretisierung der Wellenfunktion . . . . . . . . . . .
2.2 Angestrebte Zeitschrittweite . . . . . . . . . . . . . . .
2.3 Crank-Nicolson-Verfahren . . . . . . . . . . . . . . . .
2.4 ADI-Verfahren . . . . . . . . . . . . . . . . . . . . . .
2.5 Numerische Instabilität um den Koordinatenursprung
2.6 Beseitigung der numerischen Instabilität . . . . . . . .
2.7 Diskretisierung der Strahlungsrandbedingungen . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
20
23
26
28
31
3 Programmierung und Validierung
3.1 Entwicklungsumgebung . . . . . . . . . . . . . .
3.2 Speicherstruktur . . . . . . . . . . . . . . . . . .
3.3 Lösungsverfahren und deren Rechenaufwand . .
3.4 Festlegung der Zeitschrittweite . . . . . . . . . .
3.5 Abweichung von der Unitarität . . . . . . . . . .
3.6 Konvergenz der Strahlungsrandbedingungen . .
3.7 Rechenaufwand der Strahlungsrandbedingungen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
35
37
37
38
40
43
4 Parallelisierung
4.1 Parallelisierbare Programmteile . . . . . . . . . . .
4.2 DMP Architekturen und der MPI Standard . . . . .
4.3 SMP Architekturen und der OpenMP Standard . . .
4.4 Das parallelisierte Programm auf zwei Großrechnern
4.5 Rekonstruktion der Lösung im gesamten Ortsraum .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
46
46
46
49
51
53
5 Rabi-Oszillationen als Testrechnungen
5.1 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Physikalisches Modell . . . . . . . . . . . . . . . . . . . . .
5.3 Numerische Methode zum Nachweis von Rabi-Oszillationen
5.4 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
56
56
56
58
61
.
.
.
.
.
.
.
Resumee
65
Literaturverzeichnis
67
3
Einleitung
Die Fortschritte bei der Erzeugung ultrakurzer Laserpulse mit Intensitäten bis zu
1022 W/cm2 innerhalb der letzten Jahrzehnte haben dazu geführt, dass nichtlineare
optische Effekte beobachtet wurden, die sich der analytischen Beschreibung innerhalb
einer Störungsrechnung entziehen. Beispiele aus der Atomphysik sind die ATI (Above Threshold Ionization), bei der ein zunächst gebundenes Elektron mehr Photonen
aufnehmen kann als zur Ionisation nötig wären [1]–[6], die Erzeugung höherer Harmonischer [7], sowie die dynamische Stabilisierung des Elektron-Zustands bei genügend
hohen Laserfrequenzen und -intensitäten [8], [9].
Da die Möglichkeiten der experimentellen Datenerfassung bei Vorgängen wie den oben
genannten sehr beschränkt sind, bietet sich eine direkte numerische Simulation der
Dynamik der Elektronenhülle an. Solche Simulationen tragen — im Gegensatz zur
analytischen Berechnung — nicht direkt zum Verständnis der auftretenden Vorgänge
bei. Nichtsdestotrotz sind sie ein unverzichtbares Instrument das es ermöglicht, die
Evolution der Wellenfunktion innerhalb der Gültigkeitsgrenzen des zugrundeliegenden
physikalischen Modells zeitlich und räumlich beliebig genau aufzulösen. Die numerische Simulation ist also als Ergänzung und Erweiterung der existierenden Experimente
aufzufassen.
Im Rahmen dieser Arbeit wurde ein Programm zur Lösung der dreidimensionalen,
zeitabhängigen Schrödingergleichung eines Wasserstoffatoms im Laserfeld entwickelt.
Computerprogramme dieser Art sind seit langer Zeit bekannt. Verwendet wird meist
das bereits 1947 von Crank und Nicolson veröffentlichte Finite-Differenzen Schema [10],
zu dessen Lösung auf ein- bis dreidimensionalen Rechenräumen robuste sowie schnelle
Algorithmen bekannt sind [11]. Der Rechenaufwand bei den angestrebten Berechnungen kann jedoch nahezu beliebig groß werden. Denn in allen Situationen, in denen die
spektrale Zerlegung des Elektron-Zustandes ungebundene Zustände enthält, entfernen
sich Ausläufer der Wellenfunktion mit zunehmender Rechenzeit beliebig weit vom bindenden Atomrumpf. Dies stellt auch für aktuelle Programme [12, 13] ein wesentliches
Problem dar, denn zur vollständigen Lösung der gestellten Aufgabe benötigen diese
Programme ein entsprechend großes Rechengitter, in dem die Wellenfunktion auch am
Ende der zu simulierenden Zeit noch vollständig enthalten ist. Bei Verwendung einfacher ad-hoc Randbedingungen (feste bzw. periodische Ränder) am äußeren Rechenrand
tritt stets Reflexion der Wellenfunktion und somit unphysikalische Rückstreuung ins
Rechengebiet auf. Dies limitiert bei vorgegebener Speicher- und Rechenleistung des
verwendeten Rechners die zu simulierende Zeit und damit die Anzahl der Laserperioden bzw. die Laserfrequenz.
Zwar werden verschiedene Strategien zur Vermeidung der Reflexion am Rand eingesetzt, so z.B. die Verwendung imaginärer, absorbierender Potentiale am Rechenrand
[13, 14] oder das Aufteilen der Wellenfunktion in einen frei propagierenden Anteil und
einen gebundenen Anteil [15]. Diese Methoden sind jedoch nur approximativ und gehen im ersten Fall zudem mit einem Verlust an Information durch die Dissipation der
Wellenfunktion im Absorber einher.
4
Ziel dieser Arbeit ist es daher, einen Löser für die dreidimensionale Schrödingergleichung eines Wasserstoffatoms im Laserfeld vorzustellen, der über nichtdissipative
sowie (asymptotisch) transparente Randbedingungen verfügt. Hierzu wird eine bereits
von Kull et al. vorgestellte Methode [16], die bisher nur auf eindimensionale Probleme angewendet wurde, auf dreidimensionale Probleme erweitert. Es sei hier erwähnt
dass auch andere Herangehensweisen zum Aufstellen nichtdissipativer, transparenter
Ränder diskutiert wurden [17]-[20], die jedoch bei dreidimensionalen Problemen noch
keine Anwendung finden.
Die Strahlungsrandbedingungen lassen sich nur dann implementieren, wenn die Bewegung des Elektrons in genügendem Abstand vom Atomkern als kräftefrei angesehen
werden kann. Diese Forderung wird im Kramers-Henneberger-Bezugssystem erfüllt.
Es handelt sich dabei um das Ruhesystem eines ungebundenen Elektrons, welches im
Laserfeld schwingt. In diesem beschleunigten System verschwindet der elektromagnetische Potentialterm des Laserfelds, und das Kernpotential oszilliert mit der Frequenz
des Lasers um den Koordinatenursprung.
Eine weitere Zielsetzung bestand darin, einen Lösungsalgorithmus zu entwickeln, dessen Laufzeit mit denen bestehender Verfahren konkurrieren kann. Diese Forderung
führte letzlich zur Wahl eines impliziten finite Differenzen Verfahrens, in dem die Wellenfunktion in sphärischen Koordinaten des Ortsraums diskretisiert wird. Solche Koordinaten erweisen sich als nicht unproblematisch, da sie am Ursprung einen singulären
Punkt enthalten. Um einen numerisch (bedingt) stabilen Algorithmus zu erhalten, wurde in der Nähe dieses singulären Punkts eine Relaxation der Wellenfunktion gemäß der
Wärmeleitungsgleichung eingeführt.
5
1 Physikalische Problemstellung
1.1 Atomare Einheiten
Bei allen folgenden Berechnungen werden, sofern nicht explizit anders angegeben, atomare Einheiten verwendet. Diese bieten zum einen den Vorteil, dass die auftretenden
Formeln eine besonders einfache Form annehmen. Wichtiger ist allerdings, dass durch
die Skalierung des Problems auf typische atomare Größen die in der Computersimulation auftretenden Zahlenwerte näher an die Größenordnung Eins rücken. Hierdurch
wird unnötige Ungenauigkeit bei der internen Zahlendarstellung vermieden.
Das atomare Einheitensystem baut auf den Naturkonstanten Elementarladung e, Elektronenmasse me und Planck’sches Wirkungsquantum h, sowie der Influenzkonstanten
ǫ0 auf:
e = 1.602 · 10
−19
As,
me = 9.109 · 10−31 kg,
e
= 1.52 · 10−14
ẽ = √
4πǫ0
~ = 1.0546 · 10−34 Js
p
kg m3
s
Aus diesen Größen lassen sich alle anderen Einheiten kombinieren. Beispiele sind:
Dimension
Atomare Einheit
Wert im SI
Länge
aB =
~2
me ẽ2
0.529 · 10−10 m
Zeit
tat =
~3
me ẽ4
2.42 · 10−17 s
Elektrische Feldstärke
Intensität
Eat =
e
4πǫ0 aB 2
Iat = cǫ20 Eat 2
Dabei ist aB der Bohrsche Radius.
6
V
5.15 · 109 cm
W
3.51 · 1016 cm
2
1.2 Schrödingergleichung
Die zeitabhängige Schrödingergleichung für ein Elektron, welches sich im Potential
V (r) eines Atomkerns unter dem Einfluss eines klassischen (nicht quantisierten) elektromagnetischen Feldes bewegt, lautet in atomaren Einheiten (mit ~ = m = −q = 1):
i∂t ψ(r, t) = H(r, t)ψ(r, t)
(1.1)
mit:
H=
2
1
1
p + A(r, t) − φ(r, t) + V (r).
2
c
A und φ sind die elektromagnetischen Potentiale, aus denen sich die tatsächlich messbaren Größen elektrisches und magnetisches Feld berechnen lassen:
1
E = −∇φ − ∂t A,
c
B = ∇ × A.
Die elektromagnetischen Potentiale sind nur bis auf sog. Eichtransformationen bestimmt, welche die physikalisch relevanten Felder E und B unverändert lassen:
A’ = A + ∇f,
1
φ′ = φ − ∂t f
c
B ′ = B,
E′ = E
(1.2)
Wird bei einer Eichtransformation die Wellenfunktion nach der Vorschrift
i
ψ ′ = e− c f ψ
(1.3)
mittransformiert, so bleibt die Form der Schrödingergleichung erhalten.
1.3 Einschränkungen an das System
Der in dieser Arbeit zu entwickelnde Algorithmus soll die Schrödingergleichung (1.1)
bei vorgegebenen Feldern A(r, t) und φ(r, t) auf einem dreidimensionalen Rechengebiet lösen. Diese sehr allgemeine Problemstellung wird durch zwei Einschränkungen
an die zu simulierenden physikalischen Systeme etwas vereinfacht:
• Dipolnäherung:
Es werden nur räumlich konstante elektromagnetische Felder simuliert, die eine lokale Näherung an Wellenfelder mit großer1 Wellenlänge λ darstellen. Dann
ist es stets möglich durch eine geeignete Eichtransformation in ein System mit
A = 0 oder wahlweise φ = 0 zu gelangen. Ein Beispiel hierfür ist die ebene,
linear polarisierte Welle, für die (zunächst ohne jede Näherung und in der Strahlungseichung φ = 0) gilt:
hω
i
φ = 0,
A = A0 cos
n̂ · r − ωt ,
A0 = A0 ê,
c
1 Die
Wellenlänge muss wesentlich größer als die Längenskala sein, auf der Licht-Atom Wechselwirkung stattfindet.
7
wobei n̂ bzw. ê den Einheitsvektor in Ausbreitungsrichtung und den Polarisationsvektor bezeichnen. In dieser Arbeit können allerdings wegen der zweiten Einschränkung Rotationssymmetrie nur linear polarisierte Wellen betrachtet werden.
In der Dipolnäherung lässt sich nun die räumliche Variation des Vektorpotentials
vernachlässigen:
|r|
2π
ω
ω
n̂ · r ≤ 2π
=
⇒
≪1
c
λ
c
λ
⇒
φ = 0,
A ≈ A0 cos (ωt) .
Verwendet man in (1.2) als Eichfunktion f = −A0 · r cos (ωt) , so kann in eine
Darstellung mit A = 0 transformiert werden:
ω
A0 · r sin (ωt) ,
c
φ=
A = 0.
(1.4)
• Rotationssymmetrie:
Es sollen nur solche Systeme simuliert werden, die rotationssymmetrisch zur zAchse sind. Dies bedeutet dass z.B. bei der Verwendung von Kugelkoordinaten
x =
r sin(ϑ) cos(ϕ)
y
z
r sin(ϑ) sin(ϕ)
r cos(ϑ)
=
=
(1.5)
die Wellenfunktion homogen in ϕ-Richtung sein muss, und dass weiterhin der
Hamiltonoperator mit der Drehimpulskomponente Lz vertauschen muss, damit
die ϕ-Homogenität bei der Evolution der Wellenfunktion erhalten bleibt.
Der Hamiltonoperator ist in Dipolnäherung in der Eichung (1.4) gegeben durch:
H=
1 2 ω
p − A0 · r sin (ωt) + V (r).
2
c
Die Bedingung [H, Lz ] = 0 bedeutet dann:
H=
1 2 ω
p − A0 z sin (ωt) + V (r).
2
c
Die Rotationssymmetrie bedeutet eine wesentliche Vereinfachung des Problems,
denn durch die zeitlich erhaltene ϕ-Homogenität der Wellenfunktion reduziert
sich der Rechenaufwand auf den einer Rechnung in zwei Dimensionen. Dies ist allerdings nicht zu verwechseln mit dem Lösen der zweidimensionalen Schrödingergleichung, wie z.B. in [20]. Alle Operatoren in der vorliegenden Arbeit sind dreidimensional und eine Erweiterung des Programms auf nicht rotationssymmetrische
3D-Probleme ist grundsätzlich möglich.
8
1.4 Längeneichung
Die Darstellung der Dipolwechselwirkung mit dem skalaren Potential (1.4) wird als
Längeneichung bezeichnet. Mit dem rotationssymmetrischen Hamiltonoperator lautet
die Schrödingergleichung zusammenfassend:
i∂t ψ (r, t) = H (r, t) ψ (r, t)
1 2
H =
p − φ (r, t) + V (r)
2
φ
= −E0 z sin (ωt) ,
mit
(1.6)
ω
E0 = − A0
c
A = 0.
(1.7)
(1.8)
Ein Vorteil der Längeneichung gegenüber anderen möglichen Darstellungen ist die
Identität von kanonischem Impuls p und dem im Laborsystem direkt meßbaren kinematischen Impuls pkin des Elektrons:
1 (1.8)
p = pkin + A = pkin
c
Die Ergebnisse aus Rechnungen in der Längeneichung können somit direkt im Laborsystem interpretiert werden.
In Hinsicht auf die numerische Lösung bereitet diese Eichung jedoch zwei Probleme, die
zu inakzeptablen Rechenzeiten und unter Umständen sogar zu einer Limitierung der simulierten Zeit führen. Zunächst ist es wegen des in z-Richtung auf beliebig große Werte
ansteigenden Potentials (1.7) unmöglich, die angestrebten Strahlungsrandbedingungen
in der Längeneichung zu implementieren, denn diese erfordern eine kräftefreie Propagation der Wellenfunktion in genügend großem Abstand zum Potential des Atomkerns
(siehe Kapitel 1.7). Soll die Wellenfunktion ohne dissipative Randbedingungen wie z.B.
ein Absorberpotential [14] propagiert werden, so erfordert die Längeneichung also ein
genügend großes Rechengitter, auf dem die Wellenfunktion innerhalb der zu simulierenden Zeit den Rand nicht erreicht.
Weiterhin erfordert die Längeneichung die Verwendung eines sehr kleinen Zeitschrittes,
da in Folge des in z-Richtung linear ansteigenden Potentials φ schnelle Oszillationen
der Wellenfunktion auftreten, die zeitlich aufgelöst werden müssen:
i∂t ψ = Hψ
!
⇒ | E | ∆t . 1
⇒
ψ(t + ∆t) = e−iH∆t ψ(t)
⇒
∆t .
|
1 2
2p
(1.9)
z groß 1
1
≤
E0 z
+ E0 z sin(ωt) + V (r) |
Die Größenordnung von 1/E0 z läßt sich mit Hilfe von [16] abschätzen. Dort wurde
gezeigt, dass sich aus der Forderung, die Wellenfunktion solle den Rand des Rechengebiets nicht erreichen, ein Verhältnis aus der Anzahl der Gitterpunkte in radialer
Richtung N und der Anzahl der Zeitschritte L von N/L ≈ 2 ergibt. Somit erhält man:
∆t .
1
1
1
=
≈
=O
E0 zmax
E0 ∆rN
2E0 ∆rL
9
102
L
,
(1.10)
denn die Größenordnung sowohl des elektrischen Feldes E0 als auch des Gitterlinienabstandes ∆r ist innerhalb der Rechnungen, die in dieser Arbeit durchgeführt wurden,
gleich 10−1 . Damit erhält man weiter für die zu simulierende Gesamtzeit T :
∆t .
102 ∆t
T
⇒ T . 102 .
Die Rechenzeit ist also auf etwa 100 atomare Einheiten begrenzt, was bei einer typischen Laserfrequenz von ω ≈ 0.1 einer Dauer von weniger als zwei Laserperioden
entspricht. Somit ist die Längeneichung für die Simulation von Ionisationsvorgängen
nur bedingt geeignet, falls auf dissipative Ränder verzichtet werden soll.
Aus diesem Grund sind aktuelle Lösungsverfahren wie [12, 13] üblicherweise in der
Geschwindigkeitseichung formuliert.
1.5 Geschwindigkeitseichung
Der Übergang von der Längeneichung (1.6)–(1.8) zur Geschwindigkeitseichung erfolgt
in zwei Schritten. Zunächst geht man durch eine Eichtransformation mit der Eichfunktion f1 in ein System über, in dem das Potential φ verschwindet:
f1
=
H
=
∇·A=0
=
φ
=
A
=
−c
Z
dtE0 z sin(ωt)
2
1
1
p + A + V (r)
2
c
1 2 A·p
A2
p +
+ 2 + V (r)
2
c
2c
0
Z
−c dtE0 sin(ωt)
Der im Hamiltonoperator auftauchende Term A2 /2c2 ist nicht ortsabhängig und äquivalent zu einem Potential φ̃ = −A2 /2c2 , welches dem System überlagert wird und
lediglich eine zeitliche Variation des Nullpunktes der Energieskala zur Folge hat. Man
geht daher zunächst zu diesem System über:
H̃
=
φ̃
=
à =
1 2 A·p
p +
− φ̃ + V (r)
2
c
−A2 /2c2
Z
−c dtE0 sin(ωt)
10
und führt wiederum eine Eichtransformation in ein System mit verschwindendem Potential φ durch:
f2
=
H
=
φ =
A =
Z
1 t ′ 2 ′
dt A (t )
−
2c 0
1 2 A·p
p +
+ V (r)
2
c
0
Z
−c dtE0 sin(ωt).
(1.11)
(1.12)
(1.13)
Das System (1.11)–(1.13) bezeichnet man als Geschwindigkeitseichung. Gemäß (1.3)
muss beim Übergang von der Längen- zur Geschwindigkeitseichung auch die Wellenfunktion transformiert werden. Die Transformationsvorschrift lautet:
Z
Z t
1
ψG = exp i
dt′ A2 (t′ ) ψL
,mit:
(1.14)
dtE0 z sin(ωt) + 2
2c 0
A(t) = −c
Z
dtE0 sin(ωt).
(1.15)
Dabei bezeichnen ψL und ψG die Wellenfunktionen in der Längen- bzw. Geschwindigkeitseichung. Die Abschätzung (1.10), welche in der Längeneichung zu
einer Limitierung der Gesamtrechenzeit führt, gilt in der Geschwindigkeitseichung
nicht mehr. Denn wegen der Ortsunabhängigkeit des Vektorpotentials A gibt es
im Hamiltonoperator (1.11) keinen Term mehr, der bei großen Abständen vom
Kernpotential V zu schnellen Oszillationen der Wellenfunktion führt.
Sollen Strahlungsrandbedingungen implementiert werden, so ist jedoch auch die
Geschwindigkeitseichung ungeeignet, denn wegen des Terms A · p/c im Hamiltonoperator (1.11) ist die Bewegung des Elektrons auch für beliebig große Abstände vom
Atomkern nicht kräftefrei. Um Strahlungsrandbedingungen letztlich realisieren zu
können, muss noch eine weitere Transformation von der Geschwindigkeitseichung ins
Kramers-Henneberger-Bezugssystem durchgeführt werden.
1.6 Kramers-Henneberger-Bezugssystem
Das Kramers-Henneberger-System [21, 22] ist ein beschleunigtes Bezugssystem, welches der Bewegung eines ungebundenen, im elektromagnetischen Feld schwingenden
Elektrons folgt. Es wird daher gelegentlich auch als Beschleunigungseichung bezeichnet.
Zunächst definiert man eine Ortskoordinate u im beschleunigten Bezugssystem, dessen
Ursprung ξ(t) der Bewegungsgleichung eines freien Elektrons genügt:
u ≡ r − ξ(t),
ξ̈(t) = −E(t).
(1.16)
Der Impulsoperator ist der Generator von Translationen (siehe [23]). Die Wellenfunktion wird also aus der Geschwindigkeitseichung in das beschleunigte Bezugssystem
(u,t) gemäß der Vorschrift
ψKH (u, t) ≡ eiξ·pu ψG (u, t) = ψG (u + ξ, t) = ψG (r, t)
11
überführt. pu bezeichnet dabei den Impulsoperator im Kramers-Henneberger-System:
pu = −i∇u .
Es bleibt noch die Schödingergleichung, und damit den Hamiltonoperator, zu transformieren:
1 2 A·p
i∂t ψG (r, t) =
pr +
+ V (r) ψG (r, t)
2
c
i
1
∇u =∇r
p2u − A · ∇r + V (r) ψKH (u, t)
⇒
i ∂t − ξ̇ · ∇u ψKH (u, t) =
2
c
(1.15)
(1.16)
⇒
i∂t ψKH (u, t) =
1 2
p + V (u + ξ(t)) ψKH (u, t).
2 u
Damit erhält man insgesamt für das Kramers-Henneberger-Bezugssystem (in Dipolnäherung):
i∂t ψKH (u, t)
HKH
φ
A = c ξ̇(t)
= HKH (u, t)ψKH (u, t)
1 2
=
p + V (u + ξ(t))
2
= 0
Z
= −c dtE0 sin(ωt)
(1.17)
(1.18)
(1.19)
In diesem Bezugssystem oszilliert das Potential V des Atomkerns mit der Amplitude
ξmax = E0 /ω 2 und der Kreisfrequenz ω um den Koordinatenursprung. In genügender
Entfernung (siehe Kapitel 3.6) vom Ursprung kann die Bewegung des Elektrons näherungsweise als kräftefrei angenommen werden, da das Potential V proportional zu
−1
|u+ξ |
ist. Damit ist die Implementierung der angestrebten Strahlungsrandbedingungen im Kramers-Henneberger-Bezugssystem möglich.
Die Wellenfunktion des Elektrons kann aus dem Kramers-Henneberger-System jederzeit mit geringem Rechenaufwand in die Geschwindigkeits- oder Längeneichung transformiert werden, denn die zugehörigen Transformationsoperatoren sind analytisch bekannt:
ψKH
· exp [−iξ · pu ]
-
ψG
Z
Z t
1
dt′ A2 (t′ )
· exp −i
E0 z sin(ωt) + 2
2c 0
- ψL
Im gesamten folgenden Text werden alle Rechnungen (falls nicht anders angegeben)
im Kramers-Henneberger-Bezugssystem durchgeführt. Die Indizierung (·)KH entfällt
daher ab jetzt.
12
1.7 Strahlungsrandbedingungen
q
6
n̂
S
-
ψ
V 6= 0
Σ
V =0
Abbildung 1.1: Die Wellenfunktion bewegt sich
über den Rand S des Rechengebietes in den
(näherungsweise) potentialfreien Außenraum Σ.
Mit dem Kramers-Henneberger-Bezugssystem ist es gelungen, eine Darstellung des
physikalischen Systems zu finden, in dem die Bewegung des Elektrons für genügend
große Abstände vom Atomkern als nahezu kräftefrei angesehen werden kann. Ein
ähnliches Problem ergibt sich in der klassischen Elektrodynamik bei der Berechung
des Strahlungsfeldes eines ausgedehnten Körpers im Vakuum. Dieses elektrodynamische Problem lässt sich bei Kenntnis der zeitlich varriierenden elektrischen Ladungsund Stromverteilung auf der Körperoberfläche mit der Methode der Green-Funktion
analytisch lösen [25].
Ganz analog wird im Folgenden die Methode der Green-Funktion angewendet, um
die freie Propagation des Elektron-Wellenpakets im kräftefreien Außenraum Σ (siehe
Abb. 1.1) analytisch zu berechnen. Hierzu genügt die Kenntnis der Normalenableitung
der Wellenfunktion an allen Punkten des Rechenrandes zu allen vergangenen Zeiten.
Die folgende Herleitung findet sich in kürzerer Form in [16].
Im Außenraum Σ gilt:
V (r, t) ≈ 0
(1.17)
⇒
Lψ(r, t) = 0,
mit
1
L = i∂t + △.
2
(1.20)
Die Forderung nach einer normierten Wellenfunktion, welche zu Beginn der Rechnung
in der Nähe des Atomkerns lokalisiert sein soll, ergibt als Anfangs- und Randbedingungen:
ψ(r, t)
ψ(r, 0)
|r|→∞
−→ 0
=
0
(1.21)
∀ rǫΣ.
(1.22)
Zunächst wird die Greensche Identität für den Operator L und eine beliebige, hinreichend oft differenzierbare Funktion K(r, t) hergeleitet. Es gilt:
Z
Z ∞
∗
′
dV
I ≡
dt′ K(r′ , t′ )L′ ψ(r′ , t′ ) − ψ(r′ , t′ )L′ K(r′ , t′ )
ZΣ
Z0 ∞
1 ′
1 ′
′ ′
′ ′
′ ′
′
′ ′
′
′
′
dV
=
dt K(r , t ) i∂t + △ ψ(r , t ) − ψ(r , t ) −i∂t + △ K(r , t ) .
2
2
Σ
0
13
Mit Hilfe des Gaußschen Satzes und zweier partieller Integrationen lässt sich das Integral umformen:
i
Z
∞
dt K∂ ψ + ψ∂ K = 2iKψ
0
⇒
i
′
Z
∞
t′
t′
dt′ K∂t′ ψ + ψ∂t′ K = Kψ
0
Z
′
Σ
∂Σ
(1.23)
&
⇒
(1.24)
+
1
2
Z
Z
Σ
′
dV K△ ψ − ψ△ K =
Z
=
′
Z
Σ
∞
0
∞
−i
Z
∞
dt′ ψ∂t′ K + K∂t′ ψ
0
0
dV ′ ∇′ (K∇′ ψ) − ∇′ (ψ∇′ K)
df′ · {K∇′ ψ − ψ∇′ K}
0
∞
dt′
Z
∂Σ
(1.23)
(1.24)
df′ · {K(r′ , t′ )∇′ ψ(r′ , t′ ) − ψ(r′ , t′ )∇′ K(r′ , t′ )}
dV ′ {iK(r′ , t′ )ψ(r′ , t′ )}
∞
t′ =0
= I.
(1.25)
Die Gleichung (1.25) bezeichnet man als Greensche Identität des Operators L. Für
die Funktion K soll nun die Green-Funktion G(r, t, r′ , t′ ) des Operators L eingesetzt
werden, welche durch die folgenden vier Forderungen definiert ist:
∗
L′ G(r, t, r′ , t′ ) = δ 3 (r − r′ )δ(t − t′ )
G(r, t, r′ , ∞) = 0
∂n G(r, t, r′S , t′ ) = 0
{G∂n′ ψ − ψ∂n′ G}|r′ |→∞ = 0
(1.26)
(1.27)
(1.28)
(1.29)
Dabei bezeichnet r′S einen beliebigen Punkt auf dem Rand S des Rechengebiets, und
∂n die Normalenableitung auf dem Rechenrand: ∂n = n̂ · ∇. Wertet man nun die
Greensche Identität (1.25) mit K = G aus, so ergibt sich eine Integraldarstellung der
Wellenfunktion im Außenraum Σ:
Z
Z ∞
(1.26)
∗
′
dV
dt′ {G(r, t, r′ , t′ ) L′ ψ(r′ , t′ ) −ψ(r′ , t′ )L′ G(r, t, r′ , t′ )} = −ψ(r, t)
{z
}
|
Σ
0
(1.20)
= 0
Z
∞
(1.25)
′
′ ′
′ ′
dV {iG(r, t, r , t )ψ(r , t )} ′
=
t =0
Σ
{z
}
|
=0, wegen (1.22)&(1.27)
Z
Z
1 ∞ ′
+
dt
df′ · {G(r, t, r′ , t′ )∇′ ψ(r′ , t′ ) − ψ(r′ , t′ )∇′ G(r, t, r′ , t′ )}
2 0
Z
Z∂Σ
1 ∞ ′
(1.29)
=
dt
df′ · {G(r, t, r′ , t′ )∇′ ψ(r′ , t′ ) − ψ(r′ , t′ )∇′ G(r, t, r′ , t′ )}
2 0
′
Z
ZS
1 ∞ ′
(1.28)
df = −n′ · dS ′
=
−
dt
dS ′ G(r, t, r′S , t′ )g(r′S , t′ )
, mit
g = ∂n ψ
2 0
S
14
⇒
ψ(r, t) =
⇒
f (rS , t) =
Z
Z
1 ∞ ′
dt
dS ′ G(r, t, r′S , t′ )g(r′S , t′ )
2 0
S
Z
Z
1 ∞ ′
dt
dS ′ G(rS , t, r′S , t′ )g(r′S , t′ )
2 0
S
∀ rǫΣ (1.30)
(1.31)
f (rS , t) bezeichnet den Wert der Wellenfunktion am Rechenrand. Um die Formeln
(1.30) und (1.31) zur Berechnung der Wellenfunktion im Gebiet Σ und der Strahlungsrandbedingungen anwenden zu können muss nun noch die Green-Funktion G
berechnet werden. Dazu wird die Gleichung (1.26) mit den Nebenbedingungen (1.27)–
(1.29) gelöst.
Es ist dabei von Vorteil, zunächst noch einmal die kräftefreie Schrödingergleichung
(1.20) zu betrachten und nach Kugelflächenfunktionen Ylm (ϑ, ϕ) zu entwickeln:
ψ(r, ϑ, ϕ, t)
∞ X
l
X
=
clm (r, t)Ylm (ϑ, ϕ)
, mit:
l=0 m=−l
clm (r, t)
(1.20) ⇔ i∂t ψ
Z
Z
dϕ ψ(r, ϑ, ϕ, t)Ylm ∗ (ϑ, ϕ)
1
1
L2
[23] 1
2
= − △ψ =
− 2 ∂r r ∂r + 2 ψ.
2
2
r
r
=
dϑ sin(ϑ)
(1.32)
(1.33)
Die Kugelflächenfunktionen sind Eigenfunktionen des Operators L2 (siehe [23]):
L2 Ylm = l(l + 1)Ylm .
Weiterhin sind sie paarweise orthogonal:
Z
Z
′∗
dϑ sin(ϑ) dϕ Ylm (ϑ, ϕ)Ylm
(ϑ, ϕ) = δl,l′ δm,m′ .
′
(1.34)
(1.35)
Alle hier betrachteten Systeme sollen rotationssymmetrisch zur z-Achse sein (siehe
Kapitel 1.3). Das bedeutet, dass in der Entwicklung (1.32) alle Koeffizienten clm mit
m 6= 0 verschwinden. Man erhält eine ungekoppelte Propagation der Moden mit verschiedenen Quantenzahlen l:
(1.33)
(1.34)
⇒
(1.35)
⇒
1X
l(l + 1)
1
cl (r, t)Yl0
− 2 ∂r r2 ∂r +
2
r
r2
l
l
1
1
l(l + 1)
i∂t cl (r, t) =
− 2 ∂r r2 ∂r +
cl (r, t).
(1.36)
2
r
r2
i∂t
X
cl (r, t)Yl0 =
Die Form des von S umschlossenen Rechengebietes wurde bisher noch nicht festgelegt.
Es bietet sich jetzt an, als Rechengebiet eine Kugel mit Radius R um den Koordinatenurspung zu wählen, denn dann ergibt sich aus (1.31) und (1.36) eine besonders
einfache Form der Strahlungsrandbedingungen für jede Mode l:
1
fl (t) =
2
Z
∞
dt′ R2 Gl (R, t, R, t′ )gl (t′ ).
0
15
(1.37)
Die Bestimmungsgleichung (1.26) der Green-Funktion G muss nun nur noch für den
Radialanteil Gl gelöst werden:
1 ′
−i∂t′ + △ G(r, t, r′ , t′ ) = δ 3 (r − r′ )δ(t − t′ )
2
1 2 ′ l(l + 1)
2
⇒ −2i∂t′ + ′ ∂r′ r −
δ(r − r′ )δ(t − t′ ). (1.38)
Gl (r, t, r′ , t′ ) =
2
′
r
r
r′ 2
Integriert man die Gleichung (1.38) über t′ so sieht man, dass die Green-Funktion
im Falle t′ > t verschwindet. Die Strahlungsrandbedingungen sind also — wie es die
physikalische Anschauung verlangt — kausal, d.h. sie werden vollständig durch die
Historie der Normalenableitung der Wellenfunktion zu allen vergangenen Zeiten t′ ≤ t
bestimmt.
Um Gleichung (1.38) zu lösen, wird diese zunächst in der Variablen t′ Laplace-transformiert [26], sodass aus der Differentialgleichung in t′ eine algebraische Gleichung
wird:
′
Ĝl (r, t, r , ω) =
Zt
′
dt′ Gl (r, t, r′ , t′ )eiωt
(1.39)
−∞
⇒
n
h
io
2eiωt
2
2
δ(r − r′ ),
r′ ∂r2′ + 2r′ ∂r′ + k 2 r′ − l(l + 1) Ĝl =
r′
(1.40)
√
mit k = i 2ω. Diese Gleichung wird zunächst für das Gebiet r′ 6= r gelöst. Substituiere
hierzu r̃ ≡ kr′ . Dann bleibt zu lösen:
2 2
r̃ ∂r̃ + 2r̃∂r̃ + r̃2 − l(l + 1) Ĝl = 0.
Dies ist die Bessel’sche Differentialgleichung [27]. Lösungen stellen die Hankel-Funktionen (auch bekannt als sphärische Besselfunktion dritter Art) l-ten Grades h1l und
h2l dar, von denen h1l zudem die Randbedingung (1.29) erfüllt. Es gilt also:
Gl (r, t, r′ , ω) = Cl (r, t, ω)h1l (kr′ ).
(1.41)
Die Funktion Cl (r, t, ω) lässt sich bestimmen, indem man zunächst die Gleichung (1.40)
integriert und dann die Differenz der rechts- und linksseitigen Grenzwerte für r′ → r
betrachtet:
Z
1 2 ′2
l(l + 1)
′
′
′
′ (r Gl ) +
r
Ĝ
=
∂
k
r
−
l(l
+
1)ln(r
)
Gl + const
dr′ ∂r′2 + k 2 −
l
r
2
r′ 2
Z
2eiωt
2eiωt
2eiωt
Θ(r − r′ ) − 2
dr′ ′ δ(r − r′ ) =
′
r
r
r
2eiωt
(1.40)
′
′
′
′
′ Ĝl − lim r ∂r ′ Ĝl =
′
′
=
lim
r
∂
r
Ĝ
−
lim
∂
r
Ĝ
⇒
lim
∂
r
l
r
l
r
r ′ ցr
r ′ րr
r ′ րr
r ′ ցr
r
|
{z
}
(1.28)
= 0
(1.41)
⇒
2
r′ ∂r′ Cl (r, t, ω)h1l (kr′ ) r′ =R = eiωt
R
⇒
2
Ĝl =
kR2
h1l (̺) d 1
d̺ hl (̺)
16
eiωt .
̺=kR
(1.42)
Bis hierhin wurden in der Herleitung keine Näherungen gemacht. Wollte man also exakte Strahlungsrandbedingungen erreichen, so müsste jetzt noch die Funktion (1.42)
einer inversen Laplace-Transformation unterzogen werden. Das Ergebnis wären Strahlungsrandbedingungen, die sowohl im Ort als auch in der Zeit nichtlokal wären (siehe
(1.31)). Dies würde bedeuten, dass in jedem Zeitschritt für jeden Punkt an der Oberfläche S zur Bestimmung der Randbedingungen ein dreidimensionales Integral über die
Oberfläche zu allen vergangenen Zeiten ausgewertet werden müsste. Um dieses numerisch sehr aufwendige Integral zu vermeiden, wird daher die Funktion (1.42) zunächst
für große R entwickelt:
h1l (̺)
⇒
≈
Ĝl (R, t, R, ω) ≈
̺−1 ei[̺−(π/2)(l+1)]
R groß −2i iωt
2̺
eiωt ≈
e .
R2 k(i̺ − 1)
R2 k
Diese asymptotische Form der Funktion Ĝl lässt sich nun ohne große Mühe rücktransformieren. Der Weg der direkten inversen Laplace-Transformation mittels Integration in der komplexen k-Ebene wird in [16] beschritten. Man kann die Lösung
jedoch auch einer der zahlreichen in der Literatur vorhandenen Tabellen zur LaplaceTransformation (beispielsweise [26]) entnehmen. Hierbei ist lediglich zu beachten, dass
in der Literatur verschiedene Definitionen der Laplace-Transformation auftauchen, die
sich von (1.39) unterscheiden können. Es muss dann die Variable der Transformation
ω passend substituiert werden. Man erhält:
r
−2iΘ(t − t′ )
2 eiωt
′
p
⇒
G
(R,
t,
R,
t
)
=
.
Ĝl (R, t, R, ω) = −
l
ω R2
R2 2πi(t − t′ )
Die resultierende Strahlungsrandbedinung (1.37) ist in dieser Näherung unabhängig
von der Modenzahl l. Man erhält demnach für jeden Punkt der Oberfläche die gleiche,
in den Ortskoordinaten lokale Strahlungsrandbedingung:
Z t
g(ϑ, ϕ, t′ )
f (ϑ, ϕ, t) = −i
dt′ p
.
2πi(t − t′ )
0
Die numerische Auswertung dieses Integrals kann wegen des für t → t′ singulären Integranden Schwierigkeiten bereiten. Aus der Anfangsbedingung (1.22) folgt aber weiterhin g(ϑ, ϕ, 0) = 0, sodass durch eine partielle Integration die Polstelle im Integranden
entfernt werden kann:
2i
f (ϑ, ϕ, t) = − √
2πi
Z
0
t
√
dt′ t − t′ ∂t′ g(ϑ, ϕ, t′ ).
(1.43)
Es sei hier darauf hingewiesen, dass die Randbedingung (1.43) exakt die Form der
Strahlungsrandbedingungen für ein eindimensionales Rechengebiet annimmt [16]. Dies
entspricht der Intuition, denn die Form (1.43) ist eine Näherung an die exakte Formel
(1.42), die nur für genügend große Radien R des kugelförmigen Rechengebietes gültig
ist. Die sphärische Oberfläche des Rechengebiets nähert sich für große Radien lokal
immer weiter einer Ebene an, sodass im Grenzfall R → ∞ eindimensionale Strahlungsrandbedingungen zu erwarten sind.
17
Es bleibt zu klären, ab welchem Radius die Randbedingung (1.43) sinnvoll einsetzbar
ist. Dies ist dann der Fall, wenn die Rückstreuung der Wellenfunktion in das Rechengebiet vernachlässigbar klein wird, bzw. dann, wenn die Reflexion in der Größenordnung
des unvermeidlichen Verfahrensfehlers des verwendeten Algorithmus zum Lösen der
Schrödingergleichung liegt. In Kapitel 3.6 wird sich herausstellen, dass (1.43) für Rechengebiete mit Radien R & 100aB anwendbar ist.
Die Strahlungsrandbedingungen erlauben es also, das Rechengebiet auf eine Kugel
mit Radius R = O(100aB ) einzuschränken. Dabei geht keine Information über die
Entwicklung der Wellenfunktion im Außenraum Σ verloren, denn die Wellenfunktion kann zu jeder Zeit und an beliebiger Stelle (auch außerhalb des Rechengebiets)
mittels (1.30) berechnet werden. Die Verwendung von (1.43) bedeutet, dass an jedem
Randpunkt zu jedem neuen Zeitschritt t ein Faltungsintegral über alle vergangenen
Zeitschritte t′ < t ausgewertet werden muss. Der Aufwand zur Berechnung jedes einzelnen Zeitschrittes wird also zeitlich linear ansteigen. Es bleibt deshalb zu prüfen, ob
die Verwendung von Strahlungsrandbedingungen auch für die angestrebten Rechnungen mit mehreren 10.000 Zeitschritten noch zu akzeptablen Gesamtrechenzeiten führt.
Diese Frage wird in den Kapiteln 3.7 und 4.5 aufgegriffen. Es wird sich herausstellen,
dass die Strahlungsränder in jedem Fall eine signifikante Reduzierung der Rechenzeit
erlauben.
Abschließend wird nun noch einmal das Anfangs-Randwertproblem angegeben, welches im folgenden Kapitel numerisch zu lösen sein wird:
∀r
mit | r |≤ R gilt:
ψ(r, t = 0) = ψ0 (r)
i∂t ψ(r, t) = H(r, t)ψ(r, t)
1 2
p + V (r + ξ(t))
H =
2
E0
ξ(t) =
sin(ωt)
ω2
∀ rS
ψ(r , t) =
S
f (rS , t) =
g(rS , t) =
18
mit | rS |= R gilt:
f (rS , t)
Z t
√
2i
−√
dt′ t − t′ ∂t′ g(rS , t′ )
2πi 0
∂n ψ(rS , t)
(1.44)
2 Numerischer Algorithmus
2.1 Diskretisierung der Wellenfunktion
z
6
τ =M
τ =M −1
ρ=0 s
ρ =N τ =1
x
τ =2
Abbildung 2.1: Ein Rechengitter mit den Gitterdimensio-
nen M= 20, N= 6. Die tatsächlich in den Rechnungen verwendeten Gitter haben Dimensionen M≈ N≈ 1000.
In diesem Kapitel wird ein numerischer Algorithmus zum Lösen des Anfangs-Randwertproblems (1.44) entwickelt. Dazu wird die Wellenfunktion ψ diskretisiert, d.h. der
Wert von ψ wird nur zu diskreten Zeitpunkten an den Stellen eines Rechengitters mit
endlich vielen Punkten ausgewertet. Aus allen Ableitungen der Wellenfunktion werden
somit finite Differenzen. Integrale gehen dementsprechend über in Summen. Das Integrodifferentialproblem wird damit überführt in eine Reihe linearer Gleichungssysteme,
welche mit Standardverfahren der linearen Algebra zu lösen sind.
Die Form des Rechengitters ist in Kapitel 1.7 bereits weitgehend festgelegt worden.
Dort wurde gezeigt, dass die angestrebten Strahlungsrandbedingungen eine sphärische
Form des äußeren Rechenrandes erfordern. Dies legt zunächst die Wahl von Kugelkoordinaten (1.5) nahe. Die Beschränkung auf rotationssymmetrische Probleme (siehe
Kapitel 1.3) bedeutet allerdings, dass die Wellenfunktion nicht innerhalb eines gesamten Kugelvolumens berechnet werden muss. Vielmehr genügt wegen der ϕ-Homogenität
der Wellenfunktion eine Darstellung auf einem einzelnen Schnitt ϕ = const der Kugel.
19
Wählt man o.B.d.A. ϕ = 0, so wird das Rechengebiet beschrieben durch:
x
y
z
= r sin(ϑ)
=0
= r cos(ϑ).
r = 0...R
ϑ = 0...π
Eine besonders einfache Form des diskretisierten Hamiltonoperators ergibt sich, wenn
man ein Gitter aus r = const und χ ≡ − cos(ϑ) = const Linien, sowie eine konstante
Zeitschrittweite wählt:
r = ρ∆r,
χ = 1 + ∆χ/2 − τ ∆χ,
t = n∆t,
∆r = R/N,
∆χ = 2/M,
∆t = const,
ρ = 0, 1, 2, . . . N
τ = 1, 2, . . . M
n = 1, 2, 3, . . . L.
(2.1)
Das Gitter beginnt und endet in χ-Richtung bei Linien, die von der z-Achse eine halbe
Schrittweite (∆χ/2) entfernt sind. Der Grund hierfür wird bei der Diskretisierung des
Hamiltonoperators in Kapitel 2.3 klar werden.
2.2 Angestrebte Zeitschrittweite
Der Rechenaufwand des numerischen Algorithmus zum Lösen der Schrödingergleichung
auf dem Gitter (2.1) skaliert proportional zum Inversen der Zeitschrittweite. Soll der
zu entwickelnde Löser mit bereits existierenden Verfahren konkurrieren können, so ist
also eine möglichst große Zeitschrittweite ∆t anzustreben. Eine obere Grenze für ∆t
liefert jedoch das Nyquist-Shannon-Theorem. Demnach sollte die Abtastfrequenz 1/∆t
mindestens doppelt so groß sein wie die höchste zu erwartende Frequenz des physikalischen Systems:
(1.9) & (1.17) ⇒ ∆t .
1
2π
·
.
2 Ekin + | V |
Als Potential V (r) wird im Folgenden ein regularisiertes Coulomb-Potential mit cutoff
ǫ verwendet. Die maximale zu erwartende kinetische Energie bei Ionisation des Atoms
und anschließender Mehrfachstreuung am Kernpotential (Above-Threshold Ionization)
liegt laut [4] beim Zehnfachen des ponderomotorischen Potentials Up :
V (r) = √
Z
r 2 + ǫ2
Ekin ≤ 10Up
⇒
=
| V |≤
10
|Z|
. 20
ǫ
E2
. 10.
4ω 2
Dabei wurden die in dieser Arbeit typischen Werte Z = 1, ǫ = 0.05, E = 0.1, ω = 0.05
verwendet. Man erhält als Einschränkungskriterium für die Zeitschrittweite:
∆t .
1
2π
1
·
≈
.
2 10 + 20
10
(2.2)
2.3 Crank-Nicolson-Verfahren
Bevor die Strahlungsrandbedingungen implementiert werden können, muss ein Lösungsalgorithmus für den Innenraum r < R des Rechengebiets gefunden werden. Dabei
werden zunächst einfach zu realisierende (z.B. feste) Ränder angenommen, die später
20
problemlos durch Strahlungsrandbedingungen ersetzt werden können. Das Problem,
welches es auf dem Gitter (2.1) zu diskretisieren gilt, lautet damit:
ψ(r, t = 0) =
ψ0 (r)
ψ(r = R, t) =
i∂t ψ(r, t) =
0
H(r, t)ψ(r, t)
1
− △ + V (r + ξ(t))
2
E0
sin(ωt).
ω2
H
=
ξ(t) =
(2.3)
(2.4)
Die in der Schrödingergleichung auftretenden Differentialoperatoren sollen nun durch
finite Differenzen der Wellenfunktion dargestellt werden. Die zeitliche Ableitung wird
dabei durch eine (Euler-) Vorwärtsdifferenz approximiert, deren Fehlerterm von der
Ordnung ∆t ist [11]:
n
∂t ψτ,ρ
=
n+1
n
ψτ,ρ
− ψτ,ρ
+ O(∆t).
∆t
(2.5)
Der Laplace-Operator wird aufgespalten in eine Summe aus radialem Anteil △ρ und
einem Winkelanteil △τ . Für den Winkelanteil gilt [26]:
[11]
=
i
h
h
i
1
1
(2.6)
∂ϑ sin(ϑ)∂ϑ ψτ,ρ = 2 ∂χ 1 − χ2 ∂χ ψτ,ρ
△τ (ρ)ψτ,ρ = 2
r sin(ϑ)
r
1
2
2
−
1
−
χ
1
−
χ
∂
∂
ψτ,ρ + O(∆χ2 ) ⇒
χ
χ
τ +1/2
τ −1/2
(ρ∆r)2 ∆χ
τ +1/2
τ −1/2
△τ (ρ)ψτ,ρ
=
1
(ρ∆r∆χ)2
h
i
h
i
ψτ +1,ρ 1 − χ2τ +1/2 + ψτ −1,ρ 1 − χ2τ −1/2 + (2.7)
i
h
+ O(∆χ2 ).
ψτ,ρ 1 − χ2τ +1/2 + 1 − χ2τ −1/2
An dieser Stelle wird klar, warum mit (2.1) ein Gitter gewählt wurde, welches
in χ-i
h
2
Richtung im Abstand ∆χ/2 von der z-Achse beginnt und endet: Die Terme 1 − χτ ±1/2
verschwinden an diesen Grenzen, sodass eine Singularität des Laplace-Operators für
ϑ → 0, π (wie sie in (2.6) noch vorliegt) vermieden wird. An der Stelle ρ = 0 ist
auch der Operator (2.7) singulär. Anstelle des Wertes ρ = 0 wird daher ein cutoff von
ρ = 0.1∆r verwendet, um den Laplace-Operator nahe des Ursprungs darzustellen.
Der Radialanteil △r des Laplace-Operators ist gegeben durch:
2
1
2
2
△r ψ(χ, r) = 2 ∂r r ∂r ψ(χ, r) = ∂r + ∂r ψ(χ, r).
r
r
(2.8)
Offenbar muss der Punkt r = 0 gesondert behandelt werden. Die ϕ-Homogenität
der Wellenfunktion impliciert u.A., dass die Ableitung ∂r ψ(r) im Grenzwert r → 0
21
verschwindet. Mit Hilfe des Satzes von L’Hospital lässt sich dann die Singularität 1/r
aus (2.8) entfernen:
2
lim ∂r2 + ∂r ψ(χ, r) = lim 3∂r2 ψ(χ, r).
r→0
r→0
r
⇒
△r ψ(χ, r) =
 
 ∂r2 + 2r ∂r ψ(χ, r)


3∂r2 ψ(χ, r)
∀ρ 6= 0
(2.9)
für ρ = 0.
In dieser Form lässt sich der Operator nun für alle ρ = 0, 1, 2 . . . diskretisieren, wenn
man weiterhin beachtet, dass die ϕ-Homogenität der Wellenfunktion bedeutet, dass
ψτ,ρ=−1 ≈ ψτ,ρ=1 gilt:
△ρ ψτ,ρ


1
1

ψτ,ρ+1
+



(∆r)2
ρ(∆r)2






2

ψτ,ρ


(∆r)2






1
1 −
ψ
τ,ρ−1
=
(∆r)2
ρ(∆r)2



















 3 · 2ψτ,ρ=1 − 22ψτ,ρ=0
∆r
−
+
∀ρ 6= 0
+O(∆r2 )
+O(∆r2 )
(2.10)
für ρ = 0.
Mit (2.5), (2.7) und (2.10) stehen nun für sämtliche Differentialoperatoren der
Schrödingergleichung diskrete Darstellungen zur Verfügung. Bei der Diskretisierung
der Gleichung (2.3) stellt sich aber weiterhin die Frage, zu welcher Zeit die rechte Seite H(r, t)ψ(r, t) auszuwerten ist. Hierzu existiert eine Vielzahl von Ansätzen [11], die
zu Algorithmen führen, welche sich in Bezug auf Komplexität der Implementierung,
numerische Stabilität, Ordnung des Abbruchfehlers, Parallelisierbarkeit etc. stark unterscheiden. In dieser Arbeit kommt der Algorithmus von Crank und Nicolson [10, 11]
zur Anwendung. Als rechte Seite wird darin ein Mittelwert des Ausdrucks zur propagierten und zur nicht propagierten Zeit verwendet:
n+1
n
ψτ,ρ
− ψτ,ρ
1 n n
n+1 n+1
Hτ,ρ ψτ,ρ + Hτ,ρ
ψτ,ρ
=
∆t
2
i∆t n+1 n+1
i∆t n+1 n
⇒
1+
Hτ,ρ ψτ,ρ = 1 −
Hτ,ρ ψτ,ρ
2
2
i
(2.11)
In die Berechnung der Wellenfunktion am Gitterplatz (τ, ρ, n+1) fließen also die Werte
der Wellenfunktion an neun benachbarten Punkten ein (siehe Abb.2.2).
Ein bedeutender Vorteil des Crank-Nicolson-Algorithmus gegenüber anderen Verfahren ist seine numerische Stabilität. Das bedeutet, dass eine in die Lösung (z.B. durch
unvermeidliche Rundungsfehler) eingebrachte Störung stets zeitlich gedämpft wird.
22
Für kartesische Rechengitter lässt sich mittels einer Von Neumann-Stabilitätsanalyse
[11] die unbedingte (d.h. zeitschrittunabhängige) numerische Stabilität des CrankNicolson-Algorithmus beweisen. Für das Gitter (2.1) ist dies zwar nicht der Fall, nach
einer leichten Modifikation des Verfahrens wird aber numerische Stabilitiät bis hin zur
angestrebten Zeitschrittweite (2.2) erreicht (siehe Kapitel 2.6).
x
ψτn+1
−1,ρ
n+1
ψτ,ρ
h
x
y
v
n+1
ψτ,ρ+1
x
ψτn+1
+1,ρ
n+1
ψτ,ρ−1
x
ψτn−1,ρ
v
n
ψτ,ρ+1
x
n
ψτ,ρ
y
x
ψτn+1,ρ
n
ψτ,ρ−1
Abbildung 2.2: Crank-Nicolson-Verfahren der Ordnung (1, 2) in zwei
Raumdimensionen: der Wert der Wellenfunktion an der Stelle (τ, ρ) zur
Zeit (n + 1)∆t bestimmt sich innerhalb des impliziten Algorithmus aus
neun benachbarten Punkten.
n+1
⊂ C(N ×N )×(M×M) invertiert
Um (2.11) zu lösen, muss die Matrix 1 + i∆t
2 Hτ,ρ
werden. Diese Inversion ist numerisch verhältnismäßig aufwendig, da sowohl die Diagonale als auch vier Nebendiagonalen der Matrix besetzt sind (siehe (2.7), (2.10)). Es
existiert jedoch mit dem ADI-Verfahren eine Methode zur näherungsweisen Lösung
von (2.11), die nur mehr die Inversion von tridiagonalen Matrizen erfordert und damit
einen erheblichen Laufzeitvorteil mit sich bringt.
2.4 ADI-Verfahren
Das ADI (Alternating Direction Implicit) Verfahren [11] stellt eine Methode zur
näherungsweisen Lösung des Crank-Nicolson-Algorithmus (2.11) dar. Dazu wird
zunächst der Hamiltonoperator bezüglich der enthaltenen Differentialoperatoren in
einen radialen Anteil Hρ und einen Winkelanteil Hτ aufgespalten:
Hτ,ρ
=
Hρ
=
Hτ
=
Hρ (τ ) + Hτ (ρ)
1
− △ρ + V (τ, ρ)
2
1
− △τ (ρ).
2
23
Das Potential V wird hier dem Operator Hρ zugeteilt, sodass Hτ zeitunabhängig wird.
Dies führt zu der Kommutatorrelation [Hτn , Hτm ] = δn,m , die später noch verwendet
werden wird. Es wird hier noch nicht festgelegt, zu welcher Zeit das Potential aus (2.4)
auszuwerten ist.
Das Crank-Nicolson-Verfahren kann nun in eine Form überführt werden, die nur noch
tridiagonale Matrizen enthält:
i∆t
i∆t
i∆t n+1
i∆t n n
n+1
1+
ψτ,ρ = 1 −
(2.11) ⇔
Hτ +
H
Hτ −
H ψτ,ρ
2
2 ρ
2
2 ρ
⇔
i∆t n+1 ∆t2
i∆t
n+1
n+1
Hτ +
H
−
Hτ Hρ
ψτ,ρ
=
1+
2
2 ρ
4
i∆t
i∆t n ∆t2
n
+
1−
Hτ −
H −
Hτ Hρn ψτ,ρ
2
2 ρ
4
∆t2
∆t2
n
n+1
Hτ Hρn ψτ,ρ
−
Hτ Hρn+1 ψτ,ρ
|4
{z 4
}
=O(∆t3 )
Der letzte Term kann vernachlässigt werden, da das Crank-Nicolson-Verfahren ohnehin
schon einen Abbruchfehler O(∆t3 ) aufweist [11]. Mit den Definitionen
X+
≡
R+
≡
4i
∆t − 2Hτ
4i
n+1
∆t − 2Hρ
X−
R−
4i − 2H
≡ − ∆t
τ
4i − 2H n .
≡ − ∆t
ρ
lässt sich der ADI-Algorithmus wie folgt darstellen und in zwei Teilschritte aufspalten:
X + R+ ψ n+1 = X − R− ψ n
⇔
X + ψ⋆
R ψ n+1
(2.12)
(2.13)
+
=
=
R− ψ n
X −ψ⋆
Dabei wurde in der letzten Äquivalenzumformung die Kommutatorrelation [X + , X − ] =
0 verwendet.
v
n
ψτ,ρ−1
u
n
ψτ,ρ
ψτ⋆+1,ρ
u
t
n
ψτ,ρ+1
n+1
ψτ,ρ−1
v
u
ψτ⋆−1,ρ
n+1
ψτ,ρ
e
u
(2.13)
⋆
ψτ,ρ
e
u
(2.12)
ψτ⋆−1,ρ
u
n+1
ψτ,ρ+1
t
u
⋆
ψτ,ρ
u
ψτ⋆+1,ρ
Abbildung 2.3: ADI-Verfahren in zwei Raumdimensionen: Das Crank-Nicolson-
Verfahren wird durch zwei Teilschritte approximiert, innerhalb derer nur 3-Punkt
Operatoren (tridiagonale Matrizen) anstelle von 5-Punkt Operatoren auftauchen.
24
Wünschenswert wäre eine — wie bei exakter Lösung der Schrödingergleichung —
unitäre Zeitpropagation der Wellenfunktion innerhalb des ADI-Verfahrens. Die Unitarität des vorgestellten Verfahrens ist bereits dadurch verletzt, dass der radiale Anteil des Laplace-Operators in seiner diskretisierten Form (2.10) nicht hermitesch ist
(die Konsequenzen hiervon werden in Kapitel 3.5 untersucht). Die Forderung nach
möglichst geringer Abweichung von der Unitarität legt jedoch fest, zu welchen Zeitpunkten das Potential V in den Operatoren R+ , R− auszuwerten ist. Betrachte hierzu
mehrere Iterationen des ADI-Algorithmus:
−1
−1
−1
−1
−1
−
−
−
−
ψ m = R+ n=m . . . R+ n=1 Xn=1
X + n=1 Rn=1
R+ n=0 Xn=0
X + n=0 Rn=0
ψ0
−1
Die in dem Propagator enthaltenen Terme Xn− X + n sind exakt unitär, wie sich leicht
zeigen lässt:
−1
Xn− X + n
i∆t
△τ
∝ 1−
4
(
−1 )−1
i∆t
i∆t
1−
1+
△τ
△τ
4
4
(
−1 )+
i∆t
i∆t
1+
△τ
△τ
1−
4
4
−1 i∆t
1+
△τ
4
=
△+
τ =△τ
=
i∆t
1+
△τ
4
−1 i∆t
1−
△τ
4
i∆t
1+
△τ
4
−1 i∆t
1−
△τ
4
Auf die gleiche Weise lassen sich die Terme aus Operatoren in radialer Richtung be−
trachten. Seien mit i, j die Zeiten bezeichnet, zu denen das Potential in Rn+1
, Rn+
ausgewertet wird. Dann gilt:
−1
−
Rn+1
R+ n
(
i∆t
∝ 1+
2
−1 △ρ
△ρ
i∆t
i
j
−
−
1−
+V
+V
2
2
2
−1 )−1
△ρ
△
i∆t
i∆t
ρ
−
−
1−
+Vi
+Vj
=
1+
2
2
2
2
−1 △ρ
△ρ
i∆t
i∆t
j
i
−
−
1+
1−
+V
+V
2
2
2
2
(
−1 )+
i∆t
△ρ
△ρ
i∆t
i
j
1+
−
−
1−
=
+V
+V
2
2
2
2
−1 △+
△+
i∆t
i∆t
ρ
ρ
i
j
−
−
1+
1−
+V
+V
2
2
2
2
Es sollte also i = j gewählt werden, um eine unnötige Abweichung von der Unitarität
zu vermeiden. Im Folgenden wird i = j = n + 1/2 gesetzt.
25
Wird das vorgestellte ADI-Verfahren (2.12), (2.13) auf einem Digitalrechner implementiert und zur Lösung des Anfangs-Randwertproblems eingesetzt, so treten aufgrund der
internen, endlich genauen Zahlendarstellung bei jedem Rechenschritt Rundungsfehler
auf. Es ist daher zu untersuchen, ob sich diese eingebrachten kleinen Störungen im
Laufe der Zeitpropagation akkumulieren und zu großen Abweichungen der numerischen von der analytischen Lösung führen, oder ob das Verfahren gegenüber kleinen
Störungen robust ist und diese zeitlich abklingen. Im letzteren Fall spricht man von
einem numerisch stabilen Verfahren.
2.5 Numerische Instabilität um den
Koordinatenursprung
Eine analytische Stabilitätsuntersuchung des Verfahrens (2.12), (2.13) gestaltet sich
wegen des in radialer Richtung variierenden Laplace-Operators (2.7), (2.10) leider
schwierig. Es konnte daher im Rahmen dieser Arbeit nur eine heuristische Stabilitätsanalyse durchgeführt werden. Dazu wurden zunächst Rechnungen zur Ionisation
eines Wasserstoffatoms im Kramers-Henneberger-System unter Verwendung des Gitters (2.1) durchgeführt. Dabei wurden feste Randbedingungen gewählt und es wurde
zwecks weitgehender Vermeidung von Reflexionen der Wellenfunktion am Rand ein
absorbierendes Potential [14] in der Nähe des Rechenrandes verwendet.
Bereits nach recht kurzer Rechenzeit von etwa einigen hundert Zeitschritten zeigte sich
dabei eine numerische Instabilität des Verfahrens, beginnend am Koordinatenursprung
ρ = 0. Mit fortschreitender Zeit wurden diese Störungen immer weiter angefacht und
führten somit zur vollständigen Unbrauchbarkeit der erhaltenen Lösung:
0.01
0.005
Re[Ψ]
0
-0.005
-0.01
-50
0
z (ϑ= 0,π)
50
Abbildung 2.4: Bei der Zeitpropagation einer Wellenfunktion mittels des ADI-
Verfahrens (2.12), (2.13) zeigt sich eine numerische Instabilität. Dargestellt ist ein
Schnitt der Wellenfunktion längs der z-Achse.
26
Um das Problem näher untersuchen zu können, wurde eine weitere Testrechnung mit
Randbedingungen durchgeführt, bei denen die radiale Ableitung der Wellenfunktion
verschwindet:
n
n
ψτ,ρ=N
= ψτ,ρ=N
−1 .
Für die Testrechnung wurde ein potentialfreies Rechengebiet verwendet. Unter diesen
Bedingungen stellt die Funktion ψ = const eine zeitunabhängige Lösung des Problems
0
dar. Verwendet man also als Startlösung beispielsweise die Funktion ψτ,ρ
= 1∀τ, ρ,
so ist die analytische Lösung zu allen Folgezeiten bekannt. Zum Startzeitpunkt wurde nun der ungestörten Wellenfunktion an einem einzelnen Punkt in der Mitte des
Rechengitters eine Störung überlagert:
1 ∀
τ 6= M/2, ρ 6= N/2
0
ψτ,ρ =
2 für τ = M/2, ρ = N/2
Der Betrag der Störung spielt dabei wegen der Linearität der Schrödingergleichung
keine Rolle.
Eine solche Störung breitet sich zunächst wie erwartet von ihrem Ursprungsort aus,
wobei die Amplitude zeitlich abnimmt. Erreicht sie schließlich den Koordinatenursprung, so zeigt sich die numerische Instabilität des Lösers: Innerhalb weniger Iterationen wächst die Störung stark an und klingt nicht wieder ab. Typisch für eine numerische Instabilität ist dabei auch die Abhängigkeit des Verhaltens von der gewählten
Zeitschrittweite.
2
2
t=0
t= 2∆t1 = 10∆t2
1.5
Re[Ψ]
1.5
Re[Ψ]
1
0.5
0
0
1
0.5
5
10
x (ϑ= π/2)
15
0
20
2
0
15
20
10
15
20
t= 40∆t1= 200∆t2
1.5
1.5
Re[Ψ]
1
0.5
0
10
x (ϑ= π/2)
2
t= 10∆t1= 50∆t2
Re[Ψ]
5
0
1
0.5
5
10
x (ϑ= π/2)
15
0
20
0
5
x (ϑ= π/2)
Abbildung 2.5: Heuristische Stabilitätsanalyse für zwei verschiedene Zeitschrittweiten
∆t1 = 0.05 und ∆t2 = 0.01. Dargestellt sind Schnitte der Wellenfunktionen längs der
x-Achse.
27
2.6 Beseitigung der numerischen Instabilität
Als Ursache für die beschriebene numerische Instabilität lässt sich die pathologische
Form der Gitterzellen nahe des Ursprungs vermuten. Dort entarten die Zellen zu sehr
spitzen Dreiecken (siehe Abb. 2.1), sodass Information in χ-Richtung auch über kurze Strecken nur über sehr viele Zellen hinweg übertragen werden kann. Ein Signal,
dass sich von der Gitterzelle (ρ = 1, τ = 1) in χ-Richtung zur Zelle (ρ = 1, τ = M )
fortpflanzt, muss beipielsweise M ≈ 103 Zellen überwinden, obwohl Ausgangs- und
Endpunkt der Signalübertragung nur einen sehr geringen räumlichen Abstand von
2∆r zueinander aufweisen. Als Resultat dieser langsamen Informationsübertragung
können sich hochfrequente Störungen in χ-Richtung ausbilden, die schließlich unkontrolliert anwachsen.
Jede physikalisch sinnvolle Lösung der Schrödingergleichung sollte stetig und differenzierbar sein. Daher bietet es sich an, die ständig durch Rundungsfehler entstehenden,
hochfrequenten Störungen durch eine Relaxation gemäß der Wärmeleitungsgleichung
auszuglätten. Da die Wärmeleitungsgleichung bis auf einen Faktor i dieselbe Struktur
wie die kräftefreie Schrödingergleichung hat, bedeutet dies nur einen sehr geringen
zusätzlichen Programmieraufwand. In der Nähe des Ursprungs ρ = 0 wird also nach
jeder Iteration (2.12), (2.13) des ADI-Algorithmus eine Zeitpropagation der Lösung
gemäß einer Wärmeleitungsgleichung in χ-Richtung durchgeführt. Verwendet wird dazu der eindimensionale Crank-Nicolson-Algorithmus (2.11):
∂t ψτ,ρ
∆t
n′ +1
⇒ 1−
△τ ψτ,ρ
2
=
=
△τ ψτ,ρ
∆t
n′
1+
,
△τ ψτ,ρ
2
n′ = 1 . . . N ′ .
(2.14)
Diese Relaxation wird nur für die ersten vier Gitterlinien in χ-Richtung (ρ = 0, 1, 2, 3)
durchgeführt, wobei die Anzahl der Iterationen N ′ mit steigendem Radius exponentiell
abnimmt. Gute Ergebnisse wurden mit der Wahl

 250 für

k 
j
91
”
N ′ = 250 exp −ρ3/2 =
14
”



1
”
ρ=0
ρ=1
ρ=2
ρ=3
erzielt: Bis zu einer Zeitschrittweite von ∆t = 0.05, was dem angestrebten, maximalen
physikalisch sinnvollen Zeitschritt (2.2) nahe kommt, bleibt der Löser in allen durchgeführten Rechnungen numerisch stabil. Das Verfahren ist damit als bedingt stabil zu
bezeichnen.
28
0.002
Mit /Ohne Wärmeleitungs-Korrektur:
0.001
Re[ψ]
0
-0.001
-0.002
-10
0
-5
5
10
z (ϑ=0,π)
Abbildung 2.6: Test der Wärmeleitungs-Korrektur (2.14): Dargestellt ist die Lösung
nach 50.000 Propagatorschritten (⋍ 40 Laser-Oszillationen) in einem System mit Z =
1.0, E0 = ω = 0.1, ∆t = 0.05.
Der Rechenaufwand, den die Relaxation (2.14) verursacht, liegt bei typischen Gitterdimensionen von M ≈ N ≈ 103 deutlich unterhalb des Aufwands zur Lösung des
ADI-Algorithmus (2.12), (2.13). Die Inversion einer tridiagonalen Matrix mit N Zeilen
lässt sich in O(N ) Rechenschritten durchführen [28]. Somit lässt sich die Relaxation
in const · (250 + 91 + 14 + 1) · M Rechenschritten berechnen, während ein Zeitschritt
des ADI-Algorithmus const · N · M Schritte beansprucht.
Nachdem nun die numerische Stabilität des Verfahrens gesichert ist, muss überprüft
werden, ob die Relaxation gemäß der Wärmeleitungsgleichung die erhaltene Lösung
wesentlich beeinflusst. Das Verfahren (2.14) ist selbstverständlich nur dann akzeptabel,
wenn die Störung, die es in die Lösung einbringt, in der Größenordnung des Verfahrensfehlers des ADI-Algorithmus bleibt. Um dies zu testen, wurde eine Vergleichsrechnung
mit einem unabhängig entwickelten1 Löser für die Schrödingergleichung auf einem Gitter in Zylinderkoordinaten durchgeführt. Dabei wurden in beiden Lösern hinreichend
große Rechengitter verwendet, auf denen die Wellenfunktion den Rechenrand in der
simulierten Zeit nicht erreicht. Simuliert wurde die Propagation eines rotationssymmetrischen Wellenpakets längs der z-Achse im Kramers-Henneberger-System mit den
Parametern E0 = ω = 0.3, Z = 1.0, ǫ = 0.05. Es zeigten sich weder in der Nähe
1 programmiert
durch Herrn Torsten Ristow am Lehr- und Forschungsgebiet Laserphysik der RWTH
Aachen nach dem Schema aus [5].
29
des Koordinatenursprungs, noch für größere Radien wesentliche Unterschiede in den
Wellenfunktionen am Endpunkt der Simulation:
ADI-Algorithmus mit
Wärmeleitungs-Korrektur
-4
10
Vergleichslösung,
ermittelt mit einem
Löser in Zylinderkoordinaten
-6
10
|ψ|
2
-8
10
-10
10
-12
10
-200
0
200
z (ϑ= 0,π)
Abbildung 2.7: Validierung des numerisch stabilen ADI-Verfahrens mit der Korrektur
(2.14). Die Lösung zeigt eine gute Übereinstimmung mit einer Referenzlösung, die mit
einem unabhängigen Verfahren in Zylinderkoordinaten ermittelt wurde.
10
ADI-Algorithmus mit
Wärmeleitungs-Korrektur
-4
10
ADI-Algorithmus mit
Wärmeleitungs-Korrektur
Vergleichslösung,
ermittelt mit einem
Löser in Zylinderkoordinaten
Vergleichslösung,
ermittelt mit einem
Löser in Zylinderkoordinaten
2
2
|ψ|
|ψ|
10
-6
10
-8
-6
10
-8
-10
-40
-20
0
z (ϑ= 0,π)
20
10
40
-160
-140
-120
-100
-80
z (ϑ= 0,π)
-60
-40
-20
Abbildung 2.8: (Detailansichten zu Abb. 2.7) Umgebung des Koordinatenursprungs
und Fernfeld.
30
2.7 Diskretisierung der Strahlungsrandbedingungen
Der in den Kapiteln 2.4, 2.6 vorgestellte Löser für den Innenraum r < R des Rechengebiets wird in diesem Kapitel durch Strahlungsrandbedingungen komplettiert. Dazu
wird die Gleichung (1.43) an der Stelle r = R − ∆r/2 diskretisiert. Als Werte der
n
n
Wellenfunktion fτ,ρ=N
−1/2 und ihrer Normalenableitung gτ,ρ=N −1/2 werden dabei die
folgenden Interpolationen verwendet:
n
fτ,ρ=N
−1/2
=
n
gτ,ρ=N
−1/2
=
n
n
ψτ,N
+ ψτ,N
−1
2
n
n
ψτ,N
− ψτ,N
−1
.
∆r
Damit lässt sich die Strahlungsrandbedingung wie folgt darstellen:
(1.43) :
⇒
n+1
n+1
ψτ,N
+ ψτ,N
−1
2
n+1
n+1
⇒ ψτ,N
+ ψτ,N
−1
n+1
n+1
⇒ ψτ,N
+ ψτ,N
−1
mit:
=
(1.22)
=
=
A
=
Bτn
=
+
Z t
√
2i
f (ϑ, ϕ, t) = − √
dt′ t − t′ ∂t′ g(ϑ, ϕ, t′ )
2πi 0
ν
n
ν
X
p
ψτ,N − ψτ,N
−2i
−1
√
∆t (n + 1 − ν)∆t ∂t
∆r
2πi ν=0
( ν+1
)
ν+1
ν−1
ν−1
n
ψτ,N − ψτ,N −1
ψτ,N
− ψτ,N
−2i X p
−1
√
(n + 1 − ν)∆t
−
∆r
∆r
2πi ν=1
o
n
n+1
n+1
n
A ψτ,N
− ψτ,N
−1 + Bτ
√
−2i ∆t
√
∆r 2πi
n−1
o
n
−A X p
ν+1
ν−1
ν+1
ν−1
√
(n + 1 − ν)∆t ψτ,N
+ ψτ,N
−
ψ
−
ψ
−1
τ,N −1
τ,N
∆t ν=1
o
n
n−1
n−1
(2.15)
A ψτ,N
−1 − ψτ,N
n+1
n+1
n
⇒ (1 + A) ψτ,N
+ (1 − A) ψτ,N
−1 = Bτ
31
(2.16)
In dieser Form lässt sich die Strahlungsrandbedingung problemlos in den tridiagonalen Algorithmus (2.12), (2.13), (2.14) einfügen. Die Propagation und Wärmeleitung
in χ-Richtung bleiben wegen der Lokalität der Strahlungsrandbedingung unberührt.
Es sind also lediglich die Operatoren in radialer Richtung abzuändern. Die Bedingung
(2.16) wird erfüllt, wenn die Gleichung (2.13) folgendermaßen modifiziert wird:
R+ ψ n+1
(2.13) :
= X − ψ ⋆ ≡ RHS n
?

















 
0
0
0
..
.
+
RN−1
0
1
∆r 2
0 0 0 ··· 0
(1 − A)
|
+
1
(R−∆r)∆r
(1 + A)
{z
+
≡ RSR
n+1
ψτ,0
 
 
 
 
 
..
 
.
 
 
•
 
  n+1
  ψ
  τ,N −1
 
 
  ψ n+1
τ,N
}









=








n
 RHSτ,0




..

.





 RHS n
τ,N −1




Bτn
|

















{z
}
n
≡ RHSSR
Auch die letzte Zeile der Matrixmultiplikation R− ψ n aus (2.12) muss abgeändert werden, damit B n korrekt berechnet wird:

−
R ψ
n
-
















|
0
0
0
···
{z
−
≡ RSR
n
  ψτ,0
 
 
 
 
..
 
.
 
 
•
 
0   n
 
0   ψτ,N −1
 
 
  ψn
τ,N
1
0
0
0
..
.
−
RN−1
0
0
 
}

















Der so abgeänderte ADI-Algorithmus erfüllt nun die diskretisierte Strahlungsrandbedingung. Es sei hier erwähnt, dass ein alternativer Ansatz zur Herleitung von Strahlungsrändern existiert. Das Vorgehen, das in der vorliegenden Arbeit gewählt wurde,
besteht darin, zunächst für das noch nicht diskretisierte Problem (1.17) mit der Methode der Green-Funktion Strahlungsrandbedingungen (1.43) zu finden. Diese wurden
später diskretisiert und in den Gesamtalgorithmus eingebunden. Das Diskretisieren
der Randbedingungen stellt dabei eine Fehlerquelle dar, die prinzipiell umgangen werden kann. Diskretisiert man nämlich zuerst (ohne Beachtung des Rechenrands) das
32
Problem (1.17) und stellt danach für das diskretisierte Problem Strahlungsrandbedingungen auf, so entfällt die Diskretisierung der Randbedingungen. Dieses Verfahren
wurde von Ehrhardt, Arnold, et. al. bereits für ein- und zweidimensionale SchrödingerLöser erfolgreich angewandt [19], [20]. Eine Erweiterung auf dreidimensionale Probleme
steht allerdings noch aus. Der Fehler, welcher durch das Diskretisieren von (1.43) entsteht, wurde deshalb in dieser Arbeit in Kauf genommen. Eine merkliche Beeinflussung
der Lösung ergibt sich dadurch nicht, da bereits das ADI-Verfahren zur Lösung der
Schrödingergleichung im Innenraum des Rechengebiets einen unvermeidlichen Diskretisierungsfehler mit sich bringt.
Zum Ende dieses Kapitels wird der gesamte numerische Algorithmus zum Lösen des
Problems (1.44) in einem Flussdiagramm dargestellt:
33
ψ0
B n = B n (n′ = 0, . . . , n)
"
!
?
#
RHS n = X − ψ ⋆
Bn
n
RHS n −→ RHSSR
"
n′ = 0
?
n→n+1
′
+
RSR
ψn
n
RHSSR
!
=
N ′ = 250 exp −ρ3/2
N
?
H
HH
N′ > 0 ? H
H nein
H
HH
HH
N
1−
ja
?
∆t
2 △τ
′
ψ n +1
= 1+
∆t
2 △τ
n′ → n′ + 1
?
HH
HH
nein ′
′
H
? H
HH n = N HH
ja
?
n+1
ψ
=ψ
n′ =N ′
?
ψ n+1
34
′
ψn
H
























































































































WärmeleitungsKorrektur
?
#
−
X + ψ ⋆ = RSR
ψn
ADI &
Strahlungs-RB
n=0
3 Programmierung und Validierung
3.1 Entwicklungsumgebung
Der Algorithmus aus Kapitel 2 wurde zunächst auf einem Arbeitsplatz-PC mit 32
c
c 3.20GHz Prozessor und 1GiB Hauptspeicher implementiert. Es
Bit IntelPentium
4
wurde dazu die Programmiersprache ANSI C unter dem Betriebssystem SuSE Linux
Professional 9.3 verwendet. Um die auftretenden Gleichungssysteme mit tridiagonalen
Matrizen zu lösen, wurde ein Algorithmus aus [28] übernommen und zwecks graphischer Darstellung der Lösung wurde die Bibliothek [29] eingebunden.
3.2 Speicherstruktur
Die zu lösenden Probleme auf dem Gitter (2.1) mit Dimensionen M ≈ N ≈ 103 und
der Strahlungsrandbedingung (2.16), welche ein Abspeichern der Zeithistorie der Wellenfunktion am Rechenrand erfordert, können (vor allem für lange Rechenzeiten) einen
erheblichen Speicherbedarf zeigen. Alle Rechnungen wurden mit doppelter Genauigkeit durchgeführt, d.h. jede Fließkommazahl wurde durch 8 Byte dargestellt. Folgende
Speicherbereiche werden durch das Programm angefordert:
• Wellenfunktion:
Zu jedem Zeitpunkt ist die Wellenfunktion ψ an allen Punkten des Gitters (2.1)
bekannt. Das Gitter besteht aus N · M Punkten, an denen jeweils Real- und
Imaginärteil von ψ gespeichert werden müssen:
psi[2 · N · M].
Jede Speicherzelle des RAM1 ist durch eine Adresse gekennzeichnet. Da der
Adressraum eindimensional ist, muss die Wellenfunktion nach dem Schema Zeile
”
vor Spalte“im RAM abgelegt werden:
z
Erste Zeile
}|
6
{z
Zweite Zeile
}|
6
{z
Dritte Zeile
}|
6
···
{
←− RAM
Zweite Spalte
Abbildung 3.1: Speicherbelegung durch die Wellenfunktion in einem System
mit einer Zeilenlänge von 12 Adressen (N = 6)
1 Hauptspeicher
(Random Access Memory)
35
• Zeithistorie der Wellenfunktion am Rechenrand:
In die Auswertung von (2.15) fließen die Werte der Wellenfunktion an den Gitterpunkten ρ = N − 1, N zu allen bereits berechneten Zeiten ein. Sollen insgesamt
L Zeitschritte berechnet werden, so wird der folgende Speicherplatz für die Zeithistorie benötigt:
psi hist[2 · 2 · M · L].
• Matrizen:
+
−
Die vier Matrizen RSR
, RSR
, X + , X − sind tridiagonal und complexwertig. Dabei
+
−
haben die Matrizen RSR , RSR
jeweils N, die Matrizen X + , X − jeweils M Zeilen:
R plus[3 · 2 · N],
X plus[3 · 2 · M],
R minus[3 · 2 · N]
X minus[3 · 2 · M].
Der Speicherplatz für die Matrizen X + , X − wird ebenfalls verwendet, um die
Operatoren der Wärmeleitungs-Korrektur (2.14) abzuspeichern.
• Einzelne Zeilen und Spalten der Wellenfunktion:
Die linearen Gleichungssysteme des ADI-Verfahrens und der WärmeleitungsKorrektur betreffen immer nur einzelne Zeilen oder Spalten der Wellenfunktion.
Diese können üblicherweise im besonders schnell adressierbaren, aber kleinen1
Cache-Speicher des Prozessors untergebracht werden. Der Cache besteht bei dem
verwendeten Prozessor aus Untereinheiten2 von je 128 Byte Länge, innerhalb derer nur lineare Abbilder (d.h. zusammenhängende Bereiche von 128 Byte) des
RAM abgelegt werden können. Eine Spalte der Wellenfunktion ist allerdings im
RAM über einen großen Speicherbereich verteilt, da die Wellenfunktion nach
dem Schema Zeile vor Spalte“(siehe Abb. 3.1) abgespeichert wird. Um den Da”
tentransfer zwischen Cache und RAM zu minimieren, empfiehlt es sich daher,
die zu bearbeitenden Spalten der Wellenfunktion schon im RAM in einen zusammenhängenden Speicherbereich zu kopieren. Um das Programm möglichst
übersichtlich zu gestalten wird mit den Zeilen der Wellenfunktion ebenso verfahren:
rhs r[2 · N],
rhs x[2 · M],
solution r[2 · N]
solution x[2 · M].
Insgesamt ergibt sich als Speicheranforderung an den RAM:
[4M L + 2N M + 16(N + M )] · 8Byte.
Setzt man typische Zahlenwerte L = 3 · 104 , M = 103 , N = 2 · 103 (die in den größten
durchgeführten Rechnungen verwendet wurden) ein, so erhält man einen Speicherbedarf von ca. 1GiB. Der Hauptspeicher des zur Verfügung stehenden PC wird damit
voll ausgenutzt.
12
Megabyte
lines
2 cache
36
3.3 Lösungsverfahren und deren Rechenaufwand
Im Verlauf eines Zeitschritts sind die folgenden tridiagonalen linearen Gleichungssysteme zu lösen:
X + ψ⋆
′
+
RSR
ψn
′
∆t
1 − 2 △τ ψ n +1
=
=
=
−
RSR
ψn
n
SR
RHS
′
∆t
1 + 2 △τ ψ n
(M Zeilen)
(N Zeilen)
(M Zeilen).
Dazu wird die Funktion tridag aus [28] angewendet, die nach dem Prinzip der Rücksubstitution arbeitet und O(N ) bzw. O(M ) Rechenschritte benötigt. Für jede Zeile
müssen M Gleichungssysteme in Spaltenrichtung und für jede Spalte N Gleichungssysteme in Zeilenrichtung gelöst werden. Die Gesamtzahl der Rechenschritte ist also
O(N · M ).
Alle weiteren Operationen des Algorithmus — im wesentlichen sind dies Matrixmultiplikationen und Sortierungen — sind von so elementarer Natur, dass sie eigenständig
ohne Zuhilfenahme weiterer Bibliotheken implementiert wurden. Es treten dabei Gruppen von Operationen auf, welche O(N · M ) Rechenschritte benötigen (Matrixmultiplikationen), sowie solche, die O(N ) bzw. O(M ) Rechenschritte beanspruchen (z.B. das
Kopieren einzelner Zeilen und Spalten).
Von besonderer Bedeutung für den Rechenaufwand pro Zeitschritt ist die Auswertung
der Summe (2.15), die von der zeitlich nichtlokalen Strahlungsrandbedingung herrührt.
Da es sich bei der Summe um eine diskrete Variante des Faltungsintegrals (1.43) handelt, muss sie zu jedem Zeitschritt n neu berechnet werden. Summiert wird über alle
vergangenen Zeiten n′ = 0, 1, 2, ..., n, sodass O(n) Rechenschritte benötigt werden.
Da die Strahlungsrandbedingung an allen M Punkten des äußeren Rechenrandes zur
Anwendung kommt, verursacht sie somit einen Rechenaufwand von O(n · M ) Schritten. Die Gesamtzahl von Rechenschritten Ncomp im Zeitschritt n ist also anzugeben als:
Ncomp = c1 nM + c2 N M + c3 N + c4 M + c5 (n),
ci = const ǫR ∀i = 1 . . . 4. (3.1)
Dabei zählt die zeitschrittabhängige Funktion c5 alle Operationen, die unabhängig von
der Größe des Rechengitters zu jedem Zeitschritt anfallen, wie auch solche Operationen, die nicht zu jedem Zeitschritt anfallen. Zu den letzteren gehören z.B. die Visualisierung der Lösung mittels [29] oder Festplattenzugriffe. Die Konstanten ci werden im
Kapitel 3.7 teilweise bestimmt.
3.4 Festlegung der Zeitschrittweite
Der Zeitschritt ∆t des Gitters (2.1) wurde bisher noch nicht festgelegt. Er sollte einerseits möglichst groß sein, um die Laufzeit des Programms zu minimieren, andererseits
aber klein genug um die numerische Stabilität des Verfahrens zu wahren. Da das ADIVerfahren nur im Grenzübergang ∆t → 0 das physikalische Problem exakt wiedergibt,
ist außerdem zu prüfen, ob sich die Lösung bei Verkleinerung des Zeitschrittes ändert,
oder ob das Verfahren bezüglich des Zeitschritts bei dem gewählten ∆t bereits konvergiert ist. Nach oben ist ∆t durch das Nyquist-Shannon-Kriterium (2.2) auf ∆t . 0.1
beschränkt.
37
Es wurden zwei Validierungs-Rechnungen durchgeführt, deren Eingabeparameter bis
auf den Zeitschritt identisch waren. Simuliert wurde die Ionisation eines Wasserstoffatoms (mit regularisiertem Coulomb-Potential) aus dem Grundzustand in einem Laserfeld mit E0 = ω = 0.3 über 15 Laserperioden. Dabei wurde ein Rechengitter mit
den Abmessungen N = 1000, M = 400, ∆r = 0.1 verwendet. Als Zeitschritte wurden
∆t = 0.001 und ∆t = 0.05 gewählt (für ∆t & 0.05 konvergiert das Verfahren mit der
beschriebenen Wärmeleitungs-Korrektur (2.14) nicht mehr):
0.0001
|ψ|
∆t= 0.001
∆t= 0.05
2
1e-10
-50
0
50
z (ϑ=0,π)
Abbildung 3.2: Validierung der Zeitschrittweite ∆t = 0.05: Dargestellt ist ein Schnitt
der Lösung längs der z-Achse zur Zeit t = 315 a.u.. Die Lösung ändert sich bei Verkleinerung des Zeitschrittes nicht mehr wesentlich.
3.5 Abweichung von der Unitarität
In Kapitel 2.4 wurde bereits darauf hingewiesen, dass die diskretisierte Form (2.10) des
Laplace-Operators in radialer Richtung nicht hermitesch ist. Dies resultiert in einer
nicht-unitären Zeitpropagation der Wellenfunktion, deren Auswirkungen hier untersucht werden sollen. Ein Testparameter, der die Abweichung von der UnitaritätR anzei2
gen kann und der sich zu jedem Zeitschritt leicht berechnen lässt, ist die Norm | ψ |
der Wellenfunktion ψ: Im anzustrebenden Idealfall einer unitären Propagation bleibt
die Norm erhalten.
38
Es wurde eine Testrechnung auf einem Gitter mit M = N = 1000, ∆r = 0.1, ∆t = 0.05
durchgeführt, bei der sich ein zunächst um den Ursprung lokalisiertes Wellenpaket mit
Gaußscher Einhüllender geringer Breite in einem tiefen Potentialtopf V = V (r) bewegte:
0
für
r ≤ 50
V (r) =
100 für 50 < r < 100
Diese Form des Potentials wurde gewählt, damit die Wellenfunktion den Strahlungsrand des Rechengebiets nicht erreicht. Somit geht an den Rechenrändern kein (nennenswerter) Teil der Norm verloren. Die folgenden Abbildungen zeigen die Wellenfunktion
nach 15.000 Propagatorschritten (zur Zeit t = 750a.u.), sowie die zeitliche Entwicklung
der Norm:
1
1e-06
2
|ψ|
1e-12
1e-18
-100
-50
0
z (ϑ= 0,π)
50
100
Abbildung 3.3: Die Wellenfunktion nach 15.000 Propagatorschritten im quasi unendlich hohen Potentialtopf.
1
0.995
Norm
0.99
0.985
0
200
400
600
t [a.u.]
Abbildung 3.4: Die zeitliche Entwicklung der Norm
39
R
2
|ψ| .
Wie man an Abb. 3.4 erkennt, nimmt die Norm in 15.000 Propagatorschritten um etwa
ein Prozent ab. Es liegt also nur eine geringe Abweichung von der unitären Zeitpropagation vor, die im Folgenden akzeptiert wird.
3.6 Konvergenz der Strahlungsrandbedingungen
In der Herleitung der Strahlungsrandbedingungen (1.43) wurde die exakte Form (1.42)
für große Radien des äußeren Rechenrandes entwickelt. Es ist daher zu erwarten, dass
der Algorithmus aus Kapitel 2.7 nur für genügend große Rechengebiete sinnvolle Ergebnisse liefert.
Der Effekt der nicht ideal transmittierenden Ränder lässt sich für kleine Radien R des
Rechengebietes bei der Propagation eines kräftefreien Wellenpaketes mit Gaußscher
Einhüllenden besonders gut beobachten. Als Startlösung einer Testrechnung wurde
daher die folgende Wellenfunktion gewählt:
"
#
x2 + z 2
0
ikz
,
C : Normierungskonstante.
ψτ,ρ = Ce exp −
d
Ein solches Wellenpaket behält unter der Zeitpropagation seine Gaußsche Einhüllende
(wobei das Paket allerdings breitfließt“, d.h. die Breite 1/d vergrößert sich). Lässt
”
man das Paket also über den Strahlungsrand laufen, so zeigt jede Abweichung von
der Gaußschen Einhüllenden einen Fehler der Strahlungsränder an. Da ein Fehler in
den Strahlungsrandbedingungen stets Rückstreuung ins Rechengebiet zur Folge hat,
äußern sich die entstehenden Störungen durch Muster in Form stehender Wellen, die
aus der Überlagerung von aus- und einlaufender Welle entstehen:
R= 100 a.u.
R= 50 a.u.
0.0001
|ψ|
2
1e-08
0
20
40
60
z (ϑ= 0)
80
100
Abbildung 3.5: Ein Gaußsches Wellenpaket verlässt das Rechengebiet über den Strah-
lungsrand. Bei kleinen Radien des Rechengebietes zeigt sich eine Ungenauigkeit der
Strahlungsrandbedingungen: Die Wellenfunktion wird teilweise zurückgestreut.
40
Aus der Abbildung 3.5 ist klar ersichtlich, dass die Wahl R = 50 noch nicht zu brauchbaren Strahlungsrandbedingungen führt. Um zu ermitteln, ab welcher Ausdehnung des
Rechengebiets die Randbedingungen zuverlässig sind, wurde eine Reihe von weiteren Validierungsrechnungen durchgeführt. Dabei wurde zunächst die Ionisation eines
Wasserstoffatoms in einem Laserfeld mit E0 = ω = 0.3 über sieben Laserperioden simuliert. Diese Eingabeparameter erlauben es noch, eine Referenzrechnung mit festen
Randbedingungen auf einem Gitter durchzuführen, auf dem die Wellenfunktion den
Rechenrand in der simulierten Zeit nicht erreicht. Es kann also kontrolliert werden,
ob die Lösung, die mit Hilfe der Strahlungsrandbedingungen gefunden wird, mit der
Lösung auf einem Rechengebiet ohne Rand“ übereinstimmt:
”
0.0001
|ψ|
Referenzlösung: R= 500 a.u.
Strahlungs-RB bei R= 100 a.u.
Strahlungs-RB bei R= 50 a.u.
2
1e-08
-100
-50
0
z (ϑ= 0,π)
50
100
Abbildung 3.6: Test der Strahlungsrandbedingungen: Für genügend große Radien R
des Rechengebietes geht die Lösung über in die Referenzlösung, die auf einem sehr
großen Gitter ermittelt wurde.
Für alle numerischen Schrödinger-Löser, die mit nicht-transparenten bzw. dissipativen Randbedingungen arbeiten, stellt ganz besonders die Berechnung von Ionisationsvorgängen in Laserfeldern mit niedriger Kreisfrequenz ω ein Problem dar. Denn eine
niedrige Kreisfrequenz bedeutet zum einen, dass zur Darstellung einer Laserperiode
viele Propagatorschritte durchgeführt werden müssen. Die große simulierte Zeit bedeutet wiederum, dass sich die Wellenfunktion über ein großes Raumgebiet ausbreiten
kann. Falls also keine Information durch physikalisch unrealistische Randbedingungen
verloren gehen soll, so sind bei niedrigem ω große Gitterdimensionen sowohl in der Zeit
als auch in allen Raumrichtungen zu wählen. Dies führt vor allem bei mehrdimensionalen Problemen schnell zu einem inakzeptablen Umfang des Gesamtproblems.
Der in dieser Arbeit entwickelte Löser umgeht diese Problematik durch die Strah-
41
lungsrandbedingungen: Das Rechengebiet kann ungeachtet der zu simulierenden Zeit
auf eine Kugel mit einem Radius R = O(100aB ) eingeschränkt werden. Dabei geht keine Information verloren, denn mittels der Green-Funktion des kräftefreien Außenraums
kann die Wellenfunktion zu jeder Zeit und an jedem beliebigen Ort rǫR3 ausgewertet
werden (siehe (1.30)). Die besondere Stärke des vorgestellten Programms liegt also in
der Simulation der Elektronendynamik in Laserfeldern geringer Frequenz. So wurden
bei der Erprobung des Programms Rechnungen mit Kreisfrequenzen bis zu ω = 0.05
(das entspricht einem Laserfeld mit einer Wellenlänge von 912 nm) durchgeführt. Auf
Parallelrechnern gelang es, bei dieser Frequenz in einer Rechenzeit von 24 Stunden 12
Laserperioden darzustellen.
Die Simulation von Ionisationsvorgängen in Laserfeldern besonders niedriger Frequenz
stellt allerdings auch bei dem hier vorgestellten Löser eine Bedingung an die Mindestgröße des Rechengitters. Die Strahlungsrandbedingungen wurden unter der Annahme eines kräftefreien Außenraums (1.20) entwickelt. Im Kramers-Henneberger-System
(1.17) oszilliert aber das Potential V des Atomkerns mit der Laserfrequenz und einer
Amplitude von ξmax = E0 /ω 2 um den Koordinatenursprung. Diese Amplitude kann in
den simulierten Fällen in der Größenordnung von 100 Bohrschen Radien liegen. Um
einen näherungsweise potentialfreien Außenraum zu erhalten, ist der Radius des Rechengebiets stets deutlich größer als ξmax zu wählen.
Für die Parameter E0 = 0.1, ω = 0.05 ⇒ ξmax = 40aB konvergiert die Lösung etwa ab
R = 200aB , d.h. für noch größere R ändert sich die Lösung nicht mehr wesentlich:
1e-06
{
R=
150 aB
200 aB
250 aB
2
|ψ|
1e-09
0
50
100
z (ϑ =0)
150
200
250
Abbildung 3.7: Lösung einer Rechnung mit den Parametern E0 = 0.1, ω = 0.05, ∆t =
0.05 nach 20.000 Iterationen (8 Laser-Oszillationen). Das Verfahren konvergiert für
R & 200aB .
42
3.7 Rechenaufwand der Strahlungsrandbedingungen
Wie bereits in Kapitel 3.3 dargelegt wurde, steigt durch die Verwendung von Strahlungsrandbedingungen der Aufwand zur Berechnung eines Propagatorschrittes n →
n + 1 linear mit dem Zeitschritt n an. Es ist daher zu prüfen, wie sehr die Auswertung
der Strahlungsrandbedingungen die Gesamtrechenzeit beeinflusst. Dazu wurden die
Koeffizienten c1 , c2 aus (3.1) näherungsweise bestimmt.
Das Programm schreibt eine Ausgabedatei, welche für jeden m-ten Zeitschritt1 die
Laufzeit T zur Berechnung des aktuellen Propagatorschrittes n → n + 1 ausgibt. Aus
dieser Liste von Laufzeiten wurden zunächst alle auffälligen Spitzen, die vor allem von
der periodischen Abspeicherung der Wellenfunktion auf die Festplatte herrühren und
in (3.1) durch den Koeffizienten c5 (n) gezählt werden entfernt. Übrig blieb eine wie
erwartet linear ansteigende Funktion n → T (n). Für große Rechengitter ist die Laufzeit näherungsweise anzugeben als:
(3.1)
N M≫N,M
=⇒
T ≈ c1 nM + c2 N M [+c5 (n)]
(3.2)
Laufzeit T für einen Zeitschritt [sec]
3.8
M= 1000
N= 400
3.6
3.4
Lineare Regression:
T= c2NM + c1nM
3.2
-6
c2= 7.55*10-7
c1= 1.21*10
3
0
1000
2000
3000
4000
5000
6000
Zeitschritt n
Abbildung 3.8: Durch die Strahlungsrandbedingungen steigt die Laufzeit zur Lösung
eines Propagatorschrittes zeitlich zwar linear, aber mit einer geringen Steigung an.
Summiert man (3.2) über alle n = 0 . . . L, so erhält man die gesamte Laufzeit TSR des
Programms:
TSR
=
L
X
(c1 nM + c2 N M ) + const
n=0
=
1m
1
c1 M L2 + L + c2 N M L + const.
2
ist ein Eingabeparameter, hier wurde m = 25 gewählt
43
(3.3)
Die Konstante enthält dabei die Laufzeit, die das Programm für andere Operationen
als die eigentliche Zeitpropagation des Systems benötigt. Hierzu zählen z.B. die Initialisierung der Wellenfunktion oder auch das Abspeichern des Ergebnisses. Um den
Laufzeitvorteil abzuschätzen, den die Strahlungsrandbedingungen mit sich bringen,
kann man einer Argumentation aus [16] folgen:
Falls anstelle von Strahlungsrändern solche Randbedingungen eingesetzt werden sollen, die zu unphysikalischen Reflexionen der Wellenfunktion führen, so muss das Gitter
genügend groß gewählt werden, damit die Wellenfunktion den Rechenrand in der simulierten Zeit T = L∆t nicht erreicht. Innerhalb jedes der beiden Teilschritte (2.12),
(2.13), die zusammen eine Iteration des ADI-Algorithmus über einen Zeitschritt darstellen, kann in radialer Richtung (ebenso wie in Winkelrichtung) Information nur
zwischen nächsten Nachbarn ψρ , ψρ+1 übertragen werden (siehe Abb. 2.3). Innerhalb
eines Propagatorschrittes n → n + 1 ist also Informationsfluss zwischen Teilen der
Wellenfunktion möglich, die in radialer Richtung durch den Abstand 2∆r getrennt
sind. Dies bedeutet, dass die Anzahl N der Gitterpunkte in radialer Richtung mindestens doppelt so groß wie die Anzahl der Zeitschritte L gewählt werden muss. Man
erhält damit als untere Grenze für die Rechenzeit TRR des Lösers mit reflektierenden
Randbedingungen:
TRR
L
X
=
c2 N M + const
n=0
c2 N M L ≥ 2c2 M L2 + const.
=
(3.4)
Im Grenzfall vieler Zeitschritte L → ∞ ergibt sich als Quotient der Gesamtlaufzeiten
des Lösers mit reflektierenden Rändern und des Lösers mit Strahlungsrändern:
TRR
4c2
=
≈ 250.
TSR
c1
(3.5)
Dieses Ergebnis suggeriert zunächst, dass mit der Implementierung von Strahlungsrändern zwei Größenordnungen in der Rechenzeit zur Lösung des Problems gewonnen
seien. Dem ist jedoch nicht so, denn am Ende einer durchgeführten Rechnung ist bei
Verwendung des Lösers mit Strahlungsrändern zunächst nur die Wellenfunktion innerhalb des Gebiets r ≤ R bekannt. Bei Verwendung eines Lösers mit beliebigen Randbedingungen, welcher jedoch ein Gitter mit Dimensionen M, N = 2L verwendet, ist
hingegen die Wellenfunktion für alle rǫR3 am Ende des Rechenlaufs sofort bekannt1 .
Soll beispielsweise durch Fourier-Transformation der Wellenfunktion ein Impuls- oder
Energiespektrum des Elektrons erstellt werden, so wird diese gesamte Information auch
benötigt, denn das Ignorieren der Wellenfunktion für große Radien im Fourier-Integral
hätte ein ungewolltes Abschneiden“hoher Impulse bzw. Energien zur Folge.
”
Die Information über die Werte der Wellenfunktion im Außenraum des Gitters geht
bei dem Löser mit Strahlungsrändern zwar nicht verloren, sie ist aber beim Abschluss
des Rechenlaufes in der Zeithistorie der Normalenableitung der Wellenfunktion am Rechenrand codiert. Es wäre daher wünschenswert, eine Vorgehensweise zum Extrahieren
dieser Information zu finden, die in einer Zeit Textr mit
!
Textr ≪ TRR ≈ 2c2 M L2 + const
(3.6)
abgearbeitet werden kann. Erst dann bringen die Strahlungsränder einen wirklichen
Laufzeitvorteil bei der Lösung des Gesamtproblems. Die Suche nach diesem Extrakt1 für
r > 2L∆r verschwindet die Wellenfunktion
44
ionsalgorithmus muss jedoch auf Kapitel 4.5 verschoben werden, da dort die Parallelisierung2 eine wichtige Rolle spielen wird.
Zum Ende dieses Kapitels ist zunächst festzuhalten, dass der in Kapitel 2 vorgestellte
numerische Algorithmus bei einer Zeitschrittweite ∆t = 0.05 und einer Ausdehnung
des Rechengitters von R & 200aB sinnvolle Ergebnisse liefert, und dass die Strahlungsrandbedingungen eine Beschleunigung der Zeitpropagation um zwei Größenordnungen
ermöglichen, wobei prinzipiell keine Information verloren geht. Zur vollständigen Lösung des Problems gehört allerdings ein der Zeitpropagation nachgeschalteter Extraktionsalgorithmus, der erst in Kapitel 4.5 beschrieben wird.
2 insbesondere
die MPI-Parallelisierung
45
4 Parallelisierung
4.1 Parallelisierbare Programmteile
Der in Kapitel 2 beschriebene numerische Algorithmus enthält im Wesentlichen fünf
Operationen die gut parallelisierbar sind: Innerhalb des ersten Teilschritts des ADIVerfahrens wird an alle M Spalten der Wellenfunktion unabhängig voneinander die
−
tridiagonale Matrix RSR
multipliziert. Danach wird für jede der N Zeilen ebenfalls unabhängig voneinander ein tridiagonales Gleichungssystem mit der Koeffizientenmatrix
X + gelöst. Im zweiten Teilschritt des ADI-Algorithmus erfolgt dann dieselbe Prozedur
+
noch einmal in umgekehrter Reihenfolge und mit den Matrizen X − , RSR
. Bei der Berechnung der Strahlungsrandbedingungen muss unabhängig an allen M Punkten des
Rechenrandes eine Summe (2.15) ausgewertet werden.
Es kommen also insgesamt in jedem Propagatorschritt zweinmal O(N ) und dreimal
O(M ) unabhängige Operationen vor, die sich — sofern es die eingesetzte Rechneranlage erlaubt — gleichzeitig bearbeiten lassen. Das Rechenzentrum der RWTH Aachen
stellt zwei geeignete Multiprozessoranlagen [30], [31] zur Verfügung, die im Rahmen
dieser Diplomarbeit beide genutzt wurden.
Auch die Rekonstruktion der Wellenfunktion im gesamten Ortsraum R3 aus der Zeithistorie der Normalenableitung am Rechenrand ist prädestiniert für die Implementierung
auf Parallelrechnern. Hierzu wird auf Kapitel 4.5 verwiesen.
Bevor in Kapitel 4.4 die parallelisierte Version des Programms aus den Kapiteln 2, 3
vorgestellt wird, sollen in 4.2 und 4.3 zunächst zwei verschiedene Rechnerarchitekturen
vorgestellt werden, die jeweils in beiden Anlagen [30], [31] realisiert sind und die zwei
verschiedene Programmiertechniken (MPI und OpenMP) erlauben.
4.2 DMP Architekturen und der MPI Standard
Ein typischer Arbeitsplatz-PC, wie er z.B. in 3.1 beschrieben wurde, enthält nur
einen Prozessor und einen RAM, auf dem der Prozessor Lese- und Schreiboperationen
ausführen kann (siehe Abb. 4.1). Innerhalb jedes Prozessorzyklus kann nur eine solche
Operation stattfinden, sodass alle im Programm enthaltenen Anweisungen sequentiell
abgearbeitet werden müssen.
46
P
6
?
RAM
Abbildung 4.1: Aufbau eines typischen Arbeitsplatz-
PC’s: Ein einzelner Prozessor P bearbeitet die im
Hauptspeicher RAM abgelegten Daten.
Multiprozessoranlagen wie [30], [31] bestehen ebenfalls aus den Hauptkomponenten
RAM und Prozessoren. Es existieren dabei verschiedene Architekturen. Dieses Kapitel behandelt die Variante, bei der der RAM unterteilt wird, sodass jeder Prozessor
seinen eigenen, isolierten Hauptspeicher erhält. Man spricht in diesem Fall von DMP
(Distributed Memory Parallelization):
P 6
?
RAM
- P 6
?
RAM
- P 6
?
RAM
- P 6
?
RAM
- P
6
?
RAM
Abbildung 4.2: In der DMP Architektur besitzt jeder Prozessor P seinen eigenen
Hauptspeicher (RAM). Die Kommunikation zwischen den parallel abgearbeiteten
Programmteilen (Threads) erfolgt über Datenleitungen zwischen den Prozessoren.
Ein Programm, das auf einer solchen Anlage mit n Prozessoren laufen soll, wird unterteilt in n sog. Threads. Das sind identische Unterprogramme, die jeweils auf einem
Komplex aus Prozessor & RAM laufen. Dabei darf der Inhalt des RAM jedoch für jeden
Thread verschieden sein. Immer dann, wenn ein Thread Daten aus einem oder mehreren RAM benötigt, die von anderen Threads verwaltet werden, müssen die Threads
kommunizieren und diese Daten verschicken. Diese Kommunikation findet über Datenleitungen zwischen den Prozessoren statt, deren Datentransferrate in Großrechnern
wie [30] vergleichbar ist mit der Transferrate zwischen einem einzelnen Prozessor und
seinem zugeordneten RAM. Die enorme Geschwindigkeit dieses Datentransfers ist das
wichtigste Merkmal, das einen Großrechner gegenüber einem Netzwerk von StandardPC’s auszeichnet.
Die Kommunikation zwischen den Threads kann mit Hilfe von MPI [33] gesteuert
werden. Eine Einführung in das Programmieren mit MPI findet sich z.B. in [32]. An
dieser Stelle sollen daher nur kurz die wichtigsten sechs Funktionen genannt werden,
die prinzipiell schon ausreichen, um alle denkbaren Kommunikationen auf einer DMP
Anlage zu steuern:
• MPI Init: Muss zu Beginn jedes MPI-parallelisierten Programmes aufgerufen
werden, um die MPI-Bibliothek zu initialisieren.
• MPI Comm size: Teilt dem aufrufenden Thread die Gesamtzahl N der am Programm beteiligten Threads mit.
47
• MPI Comm rank: Teilt dem aufrufenden Thread seine ihn identifizierende Nummer 1 ≤ n ≤ N mit.
• MPI Send: Sendet Daten an einen anderen Thread. Ein Eingabeparameter ist
die Nummer des Empfänger-Threads. Diese Operation ist blockierend, d.h. die
folgenden Programmzeilen werden erst dann abgearbeitet, wenn der EmpfängerThread den Empfang der Daten gemeldet hat.
• MPI Recv: Empfängt Daten von einen anderen Thread. Ein Eingabeparameter
ist die Nummer des Threads, von dem Daten erwartet werden. Diese Operation
ist blockierend, d.h. die folgenden Programmzeilen werden erst dann abgearbeitet
wenn der adressierte Thread die angeforderten Daten verschickt hat.
• MPI Finalize: Muss am Ende jedes MPI-parallelisierten Programmes aufgerufen werden.
Darüber hinaus gibt es noch eine Vielzahl weiterer Befehle, die z.B. die kollektive
Kommunikation vereinfachen. Alle diese zusätzlichen Funktionen können aber prinzipiell mit den oben genannten sechs Grundbefehlen emuliert werden.
Das Programmieren mit MPI kann zu einem zeitaufwändigen Problem werden, da der
Programmierer explizit alle auftretenden Kommunikationen implementieren und dabei
stets ein definiertes Verhalten des Gesamtprogrammes garantieren muss. So können bei
ungeschickter Programmierung beispielsweise sog. Deadlock-Situationen auftreten, bei
denen zwei oder mehr Threads in einer Endlosschleife gegenseitig auf das Senden oder
Empfangen von Daten warten und somit die weitere Abarbeitung des Programmcodes
blockieren.
Eine einfache Überlegung zeigt allerdings, dass für die Parallelisierung des Zeitpropagators aus Kapitel 2 eine DMP Architektur ohnehin völlig ungeeignet ist:
Die Wellenfunktion ist, wie in Kapitel 3.2 beschrieben, bei der sequentiellen Version des Programms im RAM nach dem Schema Zeile vor Spalte“abgelegt. Dies lässt
”
sich auch bei einer parallelen Version des Programms nicht vermeiden, da auch auf
Parallelrechnern der Adressraum des Hauptspeichers eindimensional ist. Soll die Wellenfunktion, die insgesamt N Zeilen und M Spalten enthält also auf NP roc disjunkte
RAM-Bereiche verteilt werden, so wird sie in Blöcke mit jeweils M/NP roc Spalten und
N Zeilen unterteilt. Ein Problem taucht nun bei der Lösung des folgenden Gleichungssystems auf:
−
X + ψ ⋆ = RSR
ψn
(4.1)
⋆
+ −1 −
⇔
ψ
= X
RSR ψ n .
−1
Die Matrix X + ist nicht tridiagonal, sondern voll besetzt. Das bedeutet, dass in die
−
Berechnung von ψ ⋆ Werte der Wellenfunktion RSR
ψ n aus allen Spalten τ = 1 . . . M
eingehen. Da aber jeder Prozessor unmittelbar nur auf die M/NP roc Spalten, die sich
in dem ihm zugeteilten Block des RAM befinden zugreifen kann, muss zur Beschaffung
der restlichen Spalten jeder Prozessor mit allen anderen Prozessoren kommunizieren.
Innerhalb jedes Propagatorschrittes muss also die gesamte Wellenfunktion zwischen
den einzelnen RAM-Blöcken kopiert werden, was einen Aufwand von O(N · M ) Operationen bedeutet. Es ergibt sich somit kein Laufzeitvorteil gegenüber der sequentiellen
Programmversion.
Der MPI Standard und die DMP Architektur wurden in diesem Kapitel trotzdem
48
angesprochen, da sie bei der Rekonstruktion der Wellenfunktion im gesamten Außenraum des Rechengebiets (Kapitel 4.5) einsetzbar sein werden, und bei der dortigen
Problemstellung dem Standard OpenMP auf einer SMP Architektur überlegen sind.
4.3 SMP Architekturen und der OpenMP Standard
Neben den im vorigen Kapitel beschriebenen DMP Architekturen, die an ein Netzwerk von Einzelprozessormaschinen erinnern existiert eine weitere Möglichkeit, einen
Parallelrechner aufzubauen, die ohne direkte Vernetzung der Prozessoren auskommt.
In einer solchen SMP (Shared Memory Parallelization) Architektur gibt es nur einen
einzelnen Hauptspeicher, auf den mehrere Prozessoren simultan zugreifen können:
P
6
?
P
6
?
P
6
?
RAM
P
6
?
P
6
?
Abbildung 4.3: In der SMP Architektur greifen alle Prozessoren P auf denselben
Hauptspeicher (RAM) zu. Die Kommunikation zwischen den parallel abgearbeiteten Programmteilen (Threads) erfolgt implizit über den RAM.
Da die Wellenfunktion in einem solchen Fall nicht auf mehrere disjunkte RAM-Bereiche
verteilt werden muss, verliert das Argument, die Schar von Gleichungssystemen der
Form (4.1) sei nicht sinnvoll zu parallelisieren seine Gültigkeit: Jeder Prozessor einer
SMP-Maschine kann zu jeder Zeit auf alle Spalten der Wellenfunktion gleich schnell
zugreifen1 . Eine SMP-Maschine ist also grundsätzlich zur parallelen Lösung des Zeitpropagators geeignet.
Die Programmierung einer Anlage mit SMP Architektur kann mit Hilfe des OpenMP
Standards [34] sehr schnell und unkompliziert erfolgen: Zunächst wird ohne jede Beachtung der späteren Parallelisierung eine lauffähige sequentielle Version des Programms geschrieben. Diese Arbeit wurde schon in Kapitel 3 erledigt. Nachdem die
OpenMP Bibliothek eingebunden wurde, ist nun der sequentielle Programmcode auf
parallelisierbare Passagen zu durchsuchen. In dem vorliegenden Programm sind dies
die fünf Schleifen, die in Kapitel 4.1 beschrieben wurden. Alle parallelisierbaren Passagen sind daraufhin durch geeignete Präprozessoranweisungen, sog. Pragmas, zu kennzeichnen. Wird das Programm dann auf der Anlage, auf der es eingesetzt werden soll
compiliert2 , so übernimmt der Compiler automatisch die Aufteilung der markierten
Programmteile auf die zur Verfügung stehenden Prozessoren. Das so erstellte Programm kann auch weiterhin auf einer Einzelprozessormaschine compiliert werden (wobei der Compiler dann die eingesetzten Pragmas ignoriert) und bleibt somit in seiner
sequentiellen Version einsetzbar.
Eine Einführung in das Programmieren mit OpenMP kann z.B. in [32] gefunden werden. Es werden deshalb hier nur kurz die drei Pragmas der OpenMP Bibliothek er1 Hierbei
werden jedoch Latenzzeiten vernachlässigt, die durch den Datentransfer zwischen ProzessorCache und RAM entstehen können.
2 In Maschinensprache übersetzt
49
klärt, die tatsächlich für die Parallelisierung des Zeitpropagators auf einer Maschine
mit NP roc Prozessoren benutzt wurden:
• #pragma omp parallel: Dieses Pragma markiert innerhalb einer sequentiell abzuarbeitenden Programmumgebung einen Block von Anweisungen, der parallelisiert werden soll. Erreicht das Programm eine solche Stelle, so teilt es sich in
NP roc Threads auf, die diesen Block von Anweisungen unter sich aufteilen und
parallel abarbeiten. Ist das Ende des Anweisungsblocks erreicht, so wird automatisch synchronisiert, d.h. es wird solange gewartet bis auch der langsamste
Thread die Abarbeitung seines Teils des Blocks erledigt hat. Nach der Synchronisation werden die weiteren Anweisungen des Programms bis zum nächsten
#pragma omp parallel sequentiell von einem Thread bearbeitet. In der Syntax
der Sprache C ist das Pragma folgendermaßen in den Quellcode einzusetzen:
..
.
Sequentieller Code
#pragma omp parallel
{
Parallelisierbarer Code
}
Sequentieller Code
..
.
• #pragma omp for private(Variablenliste): markiert eine for-Schleife, die parallelisiert werden soll. Das ist nur dann sinnvoll möglich, wenn die Anweisungen
im Rumpf der for-Schleife unabhängig vom Ergebnis anderer Schleifendurchläufe
sind, da die Threads mehrere Schleifendurchläufe gleichzeitig und in nicht reproduzierbarer Reihenfolge bearbeiten. Von allen Variablen, die als private()
aufgelistet werden, erhält jeder Thread eine eigene Kopie, die nur für den jeweiligen Thread sichtbar ist. Alle Variablen, die nicht als private() erklärt werden,
können von jedem Thread gelesen und geändert werden. Es muss also sichergestellt sein, dass keine Schreibkonflikte auf solchen öffentlichen“Variablen auftret”
en. Es folgt ein Beispiel in C-Syntax, in dem ein Feld aus 100 Integer-Variablen
aufsteigend mit den Zahlen 1 bis 100 gefüllt wird:
..
.
int counter;
int array[100];
..
.
Sequentieller Code
#pragma omp parallel
{
#pragma omp for private(counter)
for(counter=0; counter<100; counter++)
array[counter] = counter;
}
Sequentieller Code
..
.
• #pragma omp single: markiert innerhalb eines Blocks von Anweisungen, die
parallel bearbeitet werden, einen inneren Block, der sequentiell abgearbeitet werden muss:
50
..
.
Sequentieller Code
#pragma omp parallel
{
Parallelisierbarer Code
#pragma omp single
{
Sequentieller Code
{
Parallelisierbarer Code
}
Sequentieller Code
..
.
4.4 Das parallelisierte Programm auf zwei Großrechnern
Mit Hilfe des OpenMP Standards wurde das in den Kapiteln 2 und 3 beschriebene Programm parallelisiert. Wie in Kapitel 4.3 beschrieben unterscheidet sich die
OpenMP-parallelisierte Version kaum von der sequentiellen Version. Der einzige Unterschied in der Ausführung des Programms ist die Aufteilung von unabhängig auszuführenden Schleifendurchläufen auf mehrere Prozessoren. Die Lösung, die das parallele Programm liefert, ist daher exakt gleich der Lösung aus der sequentiellen Version.
Lediglich zwischen verschiedenen Rechenanlagen kann es wegen der unterschiedlichen
internen Zahlendarstellung durch Rundungsfehler minimale Unterschiede in den erhaltenen Lösungen geben. Das Programm muss also nicht noch einmal validiert werden,
denn bis auf die Laufzeit hat sich an dem Verhalten des Programms gegenüber Kapitel
3 nichts geändert.
Im Rechenzentrum der RWTH Aachen stehen zwei Anlagen zur Verfügung, die zur
Ausführung von OpenMP Programmen geeignet sind. Es handelt sich dabei um einen
Sun Cluster [30] und einen Opteron Cluster [31].
Das OpenMP-parallelisierte Programm ist nur auf SMP Systemen (in denen es nur
einen gemeinsamen Hauptspeicher für mehrere Prozessoren gibt, siehe Abb. 4.3) einsetzbar. Die beiden genannten Großrechner bestehen aus Untereinheiten, sog. Knoten,
die jeweils diese SMP-Architektur aufweisen. Diese Knoten sind untereinander vernetzt, sodass auch MPI-Anwendungen lauffähig sind, die prinzipiell das gesamte System beanspruchen können.
Die verschiedenen Knoten des Sun Cluster umfassen jeweils 48, 144, 24 oder 8 Prozessorkerne. Es kommen Ultra Sparc IV Prozessoren mit Taktraten von 1.2 GHz bzw.
1.05 GHz sowie ein Ultra Sparc T1 Prozessor zum Einsatz. Letzterer arbeitet bei einer
Taktfrequenz von 1.0 GHz, ist aber mit den Prozessoren des Typs Ultra Sparc IV nicht
direkt vergleichbar.
Der Opteron Cluster besteht im wesentlichen aus 64 Knoten, die jeweils mit 4 Opteron
848, 2.2 GHz Prozessoren bestückt sind. Weiterhin gibt es 4 Knoten mit je 4 Opteron
875, 2.2 GHz (dual core) Prozessoren, sowie 2 Knoten mit je 8 Opteron 885, 2.6 GHz
(dual core) Prozessoren.
Bei Benutzung des Sun Clusters können also wesentlich mehr (bis zu 144) Prozessor-
51
kerne für eine OpenMP-Anwendung genutzt werden als bei dem Opteron Cluster. Dort
können prinzipiell 16 Prozessorkerne genutzt werden. Da jedoch jede durchzuführende
Rechnung vor ihrer Ausführung in eine Warteschlange gestellt werden muss, in der die
Wartezeit mit den angeforderten Systemressourcen skaliert, ist es sehr schwierig, auf
dem Opteron Cluster mehr als 4 Prozessorkerne für eine Rechnung zu erhalten. Um zu
testen, welche der beiden Rechenanlagen sich besser zur Ausführung des Programms
eignet, wurde ein und dieselbe repräsentative Testrechnung auf allen verfügbaren Maschinen bei verschiedenen Anzahlen von Prozessoren durchgeführt:
2000
Rechenzeit [min]
1500
1000
Arbeitsplatz-PC:
Intel Pentium 4, 3.20 Ghz
Sun-Cluster
der RWTH
Opteron-Cluster der RWTH
500
0
0
5
10
15
20
25
30
Anzahl der Prozessoren NProc
Abbildung 4.4: Laufzeiten eines Rechenlaufs mit den Parametern E0 =
ω0 = 0.1, N = 2000, M = 750, ∆r = 0.1, ∆t = 0.05, L = 10.000 auf
verschiedenen Plattformen.
An der Abbildung lassen sich Eigenschaften der eingesetzten Rechenanlagen und auch
des parallelisierten Algorithmus ablesen. So ist bei der Verwendung von nur einem
Prozessor die Laufzeit von einer Maschine zur nächsten sehr unterschiedlich. Dies liegt
zum einen an den unterschiedlichen Taktraten der eingesetzten Prozessoren, zum anderen aber auch an den verschiedenen Prozessorarchitekturen bei verschiedenen Herstellerfirmen. So ist ein einzelner Prozessor auf dem Opteron Cluster dem Prozessor
des Arbeitsplatz-PC’s trotz dessen höherer Taktrate offenbar bereits überlegen. Man
sieht außerdem, dass sich die Laufzeit bei Verwendung sehr vieler Prozessoren einem
endlichen Grenzwert nähert. Dieses Verhalten rührt von den nicht parallelisierten Programmteilen her, die stets nur sequentiell auf einem einzelnen Prozessor bearbeitet
werden während alle anderen Prozessoren warten müssen.
Es lässt sich festhalten, dass unter den zur Verfügung stehenden Maschinen der Opteron Cluster bei Verwendung von 4 Prozessoren die beste und ressourcenschonendste
Wahl darstellt.
52
4.5 Rekonstruktion der Lösung im gesamten Ortsraum
Wie bereits in Kapitel 3.7 dargelegt, bringen die Strahlungsrandbedingungen nur dann
einen wirklichen Laufzeitvorteil bei der Lösung des Gesamtproblems mit sich, wenn es
zusätzlich zu der beschleunigten Zeitpropagation im Rechengebiet r ≤ R gelingt, einen
schnellen Algorithmus zur Extraktion der Wellenfunktion im Außenraum r > R aus
der Zeithistorie des Rechenrandes anzugeben. Die Laufzeit Textr dieses Extraktionsalgorithmus muss deutlich kürzer sein als die Laufzeit TRR eines Lösungsverfahrens,
bei dem ein Gitter verwendet wird, auf dem die Wellenfunktion den Rechenrand nicht
erreicht. In Kapitel 3.7 wurde hierfür das Kriterium (3.6) hergeleitet:
!
Textr < O M L2 .
In Kapitel 3.7 wurde außerdem gezeigt, dass die Wellenfunktion in L Propagatorschritten in radialer Richtung eine maximale Ausdehnung von 2L∆r erreicht. Um aus der
Zeithistorie der Normalenableitung der Wellenfunktion am Rechenrand gτn , n = 1 . . . L
die Werte der Wellenfunktion zur Zeit L∆t an allen Orten eines Gitters mit M
Stützstellen in Winkelrichtung und N = 2L Stützstellen in radialer Richtung zu extrahieren, kann das Greensche Integral im Außenraum gelöst werden. Dabei ist zu
beachten, dass im Außenraum r ≥ R die Moden mit unterschiedlicher Drehimpulsquantenzahl l unabhängig voneinander propagieren:
(1.30)
&
(1.36)
⇒ ψl (r, L∆t) =
1
2
L∆t
Z
dt′ R2 Gl (r, L∆t, R, t′ ) gl (t′ ).
(4.2)
0
Die Zeithistorie der Moden gl ist zunächst nicht bekannt. Sie muss in einer Entwicklung
nach Kugelflächenfunktionen aus der Zeithistorie der Normalenableitung im Ortsraum
gτ , τ = 1 . . . M gewonnen werden:
gl (t) =
Z
dϑg(ϑ, t)Ylm=0 (ϑ, ϕ = 0) .
|
{z
}
O(M ) Operationen
(4.3)
Auf dem Gitter mit M Stützstellen in Winkelrichtung können maximal M Moden
dargestellt werden, da eine Mode mit Drehimpulsquantenzahl l in Winkelrichtung l
Nullstellen aufweist. Das Integral (4.3) ist also für l = 1 . . . M auszuwerten. Es ergibt
sich hierdurch ein Rechenaufwand von O(M 2 ) Rechenschritten.
Die Integrale (4.2) lassen sich nun lösen:
O(L) Operationen
z
}|
{
O(M · L) Werte
L∆t
Z
z }| {
1
dt′ R2 Gl (r, L∆t, R, t′ ) gl (t′ ) .
ψl (r, L∆t)
=
2
0
{z
}
|
O(M · L2 ) Operationen
53
(4.4)
Aus den M Moden der Wellenfunktion im Außenraum lassen sich dann die Werte der
Wellenfunktion im Ortsraum rekonstruieren:
O(M ) Operationen
}|
{
O(M · L) Werte z
M
z }| {
X
ψ(r, L∆t)
=
ψl (r, L∆t)Ylm=0 (ϑ, ϕ = 0) .
(4.5)
l=0
|
{z
O(M 2 · L) Operationen
}
Insgesamt ergibt sich also als Rechenaufwand des Extraktionsalgorithmus eine Anzahl
von
O(M 2 ) + O(M L2 ) + O(M 2 L)
L≫M
=
O(M L2 )
Rechenschritten. Es scheint, dass das Kriterium (3.6) nicht erfüllbar sei und dass die
Strahlungsränder keinen nennenswerten Vorteil bei der Lösung des Gesamtproblems
mit sich brächten. Wird der Extraktionsalgorithmus auf einer sequentiell arbeitenden Einzelprozessormaschine implementiert, so trifft dies zu. Der wahre Vorteil der
Strahlungsrandbedingungen zeigt sich erst in der guten Parallelisierbarkeit des Extraktionsalgorithmus:
Die Operationen (4.4), die den Hauptteil der Laufzeit des Extraktionsalgorithmus verursachen, lassen sich aufteilen in M unabhängige Blöcke, in denen jeweils eine einzelne
Mode l im Außenraum berechnet wird. Jeder dieser Anweisungsblöcke enthält eine
große Anzahl von O(L2 ) Operationen. Es bietet sich also an, die Auswertung von (4.4)
auf einer Maschine mit DMP Architektur (siehe Kapitel 4.2) und NP roc Prozessoren
durchzuführen. Wird die Zeithistorie der Moden gl am Rechenrand zunächst in jeden der NP roc disjunkten RAM-Bereiche der Maschine kopiert, so kann (4.4) ohne
jede weitere MPI-Kommunikation berechnet werden. Diese minimale Kommunikation
stellt den Idealfall einer MPI-parallelisierten Anwendung dar. Da die NP roc Prozessoren völlig unabhängig voneinander jeweils eine große Menge von Operationen ausführen
können, ist mit einer Steigerung der Geschwindigkeit um einen Faktor FP ara ≈ NP roc
zu rechnen. Die Laufzeit des Extraktionsalgorithmus sinkt damit auf:
2
2
Textr = O(M 2 ) + O(FP−1
ara M L ) + O(M L)
L≫M
=
O(M L2 /NP roc ).
Bei Maschinen mit DMP Architektur wie [30] können ohne Weiteres NP roc = O(102 )
Prozessoren angefordert werden. Das Kriterium (3.6) lässt sich somit deutlich erfüllen.
Ein Algorithmus, der das Problem auf einem großen Rechengebiet N & 2L löst, ist
aufgrund des verwendeten impliziten ADI-Algorithmus prinzipiell nicht MPI-parallelisierbar (die Argumentation findet sich in Kapitel 4.2). Er kann stattdessen nur auf
SMP Maschinen, zum Beispiel unter Verwendung des OpenMP Standards, parallelisiert werden. Da solche Maschinen in der Maximalzahl ihrer Prozessoren gegenüber
DMP Anlagen sehr begrenzt sind, ergibt sich, verglichen mit dem in dieser Diplomarbeit vorgestellten Verfahren, ein signifikanter Nachteil in der Laufzeit.
Der beschriebene Extraktionsalgorithmus wurde im Rahmen dieser Arbeit nicht auf
einem Rechner implementiert. Die Umsetzung auf einer DMP-Anlage erfordert eine
Programmierung unter Verwendung des MPI-Standards, was einen recht hohen Zeitaufwand vermuten lässt. Sie stellt allerdings eine lohnende Herausforderung für eine
54
kommende Arbeit dar, denn nur anhand eines tatsächlich lauffähigen Programms lässt
sich die Größenordnungs-Abschätzung aus diesem Kapitel überprüfen. Desweiteren
würde sich mit einem solchen Programm die Möglichkeit ergeben, Energie- und Impulsspektren für Laserionisation bei geringen Frequenzen zu berechnen.
55
5 Rabi-Oszillationen als
Testrechnungen
5.1 Zielsetzung
Nachdem in den Kapiteln 2 bis 4 der numerische Algorithmus zum Lösen der Schrödingergleichung im Kramers-Henneberger-Bezugssystem vorgestellt und dessen einzelne Bestandteile validiert wurden sollen die Ergebnisse desselben Lösers in diesem
Kapitel an einem analytisch berechenbaren Testfall kontrolliert werden. Es werden
dazu Rabi-Oszillationen simuliert, bei denen die Frequenz der Laserstrahlung resonant mit einem der möglichen Übergänge des Elektrons zwischen gebundenen Eigenzuständen des Wasserstoffatoms ist. Die ausgewählten Testfälle stellen keine typischen
angestrebten Anwendungen des Lösers dar. Sie sollen vielmehr eine Validierung des
Gesamtverfahrens an einem analytisch gut verstandenen Phänomen darstellen.
5.2 Physikalisches Modell
Für das Elektron eines ungestörten Wasserstoffatoms in Abwesenheit eines Laserfeldes existieren unendlich viele gebundene Eigenzustände, deren Form analytisch bekannt ist, und die durch die Quantenzahlen n, l, m charakterisiert sind. Alle ElektronZustände die in dieser Arbeit berechnet werden müssen Rotationssymmetrisch zur
z-Achse sein (siehe Kapitel 1.3), d.h. es gilt m = 0. Da außerdem der Spin des Elektrons vernächlässigt wird, sind die Energie-Eigenwerte l-entartet. Es ergibt sich also
für die Energie En eines gebundenen Zustandes ψnl der Bohrsche Ausdruck:
En ψnl = Hψnl = −
Ry
ψnl
n2
n = 1, 2, 3, . . .
Beim Wechsel eines Elektrons zwischen zwei Zuständen n = i → n = j 6= i zeigen sich
demnach diskrete Energiesprünge Eij und damit Kreisfrequenzen ωij (Spektrallinien),
anhand derer der jeweilige Übergang nachgewiesen werden kann:
1
1
ωij = ~Eij = Eij = Ry 2 − 2 .
(5.1)
i
j
Ein solcher Übergang kann z.B. durch einstrahlen eines Laserfeldes mit der passenden Frequenz induziert werden. Falls die Frequenz ω des Lasers sehr nahe an einer der
möglichen Übergangsfrequenzen ωij liegt, so kann erwartet werden, dass vor allem dieser eine resonante Übergang angeregt wird. Vernachlässigt man alle Eigenzustände des
Wasserstoffatoms bis auf die beiden an dem Übergang beteiligten Zustände n = i und
n = j, so lässt sich das Atom näherungsweise als ein zwei-Niveau System darstellen.
In dieser Näherung kann die Zeitentwicklung des Elektrons analytisch gelöst werden.
Der Lösungsweg kann einschlägiger Literatur (z.B. [35]) entnommen werden und das
Ergebnis lässt sich wie folgt angeben:
56
Die Wellenfunktion wird in der Basis der zwei am Übergang beteiligten Eigenzustände
des ungestörten Hamiltonoperators zerlegt, der Rest des Spektrums wird vernachlässigt:
ψ(t) =
Ci (t)ψi (t) + Cj (t)ψj (t)
ψi (t) =
φi e
iEi t
,
ψj (t) = φj e
(5.2)
iEj t
(5.3)
Nimmt man nun an, dass sich zur Zeit t = 0 das Elektron im Zustand φi befindet, so
erhält man als Lösung für die Entwicklungskoeffizienten:
∆
Ωt −i∆t/2
Ωt
e
+ i sin
Ci (t) =
cos
2
Ω
2
χij
Ωt −i∆t/2
Cj (t) =
i
e
.
sin
Ω
2
Dabei wurden die folgenden Abkürzungen benutzt:
∆
χij
Ω
= ωij − ω
(5.4)
= rij · ê E0
p
=
χ2 + ∆2 .
(5.5)
(5.6)
Der Einheitsvektor ê gibt dabei die Polarisationsrichtung des Laserstrahls an und der
Ausdruck rij bezeichnet das Übergangs-Matrixelement für die Zustände i, j:
Z
rij = φ∗i (r)rφj (r)d3 r.
(5.7)
Wählt man ein Laserfeld das exakt die Resonanzfrequenz des Übergangs trifft (also
ω = ωij ), so vereinfacht sich das Ergebnis:
Ci (t)
Cj (t)
χij t
2
χij t
= i sin
.
2
(5.8)
= cos
(5.9)
Die Wahrscheinlichkeiten, das Elektron zu einem bestimmten Zeitpunkt bei einer Messung im Zustand i bzw. j vorzufinden sind gegeben durch die Betragsquadrate der zugehörigen Entwicklungskoeffizienten. Diese sind periodisch mit der doppelten Frequenz
der Entwicklungskoeffizienten selbst:
2
| Ci (t) |
| Cj (t) |
2
= cos2
2
= sin
χij t
2
χij t
2
2
= | Ci (t + T ) |
2
= | Cj (t + T ) |
,T =
2π
(5.10)
χij
Ein resonantes Laserfeld führt also zu einer Oszillation des Elektrons zwischen beiden
Zuständen mit der E-Feld abhängigen Frequenz χij . Man bezeichnet diesen Vorgang als
(resonante)1 Rabi-Oszillation und die Kreisfrequenz χij als resonante Rabi-Frequenz.
In den folgenden Kapiteln 5.3, 5.4 werden mittels des vorgestellten Lösungsalgorithmus
einige resonante Rabi-Oszillationen simuliert.
1 Bei
nicht-resonanter Anregung verringern sich Frequenz und Amplitude der Übergangswahrscheinlichkeiten.
57
5.3 Numerische Methode zum Nachweis von
Rabi-Oszillationen
Zum Nachweis der beschriebenen Rabi-Oszillationen des Elektrons zwischen zwei Zuständen mit verschiedenen Hauptquantenzahlen n kann man sich zu Nutze machen,
dass die Eigenzustände des Wasserstoffatoms für steigendes n immer weiter um den
Atomkern herum ausgedehnt sind. Eine Größe, die von den Entwicklungskoeffizienten
Ci , Cj abhängen sollte ist demnach die Wahrscheinlichkeit pK , das Elektron innerhalb
eines kleinen1 Kugelvolumens K um den Atomkern herum vorzufinden:
Z
pK ≡ d3 r| ψ(r) |2
, K = rǫR3 , | r − ξ(t) |≤ R .
K
Die Berechnung des Ausdrucks pK ist bei einer Wellenfunktion, die nur an den Stützstellen des Gitters (2.1) bekannt ist immer dann problematisch, wenn die Auslenkung
ξ(t) des Kernes aus dem Urspung ungleich Null ist. Denn nur für ξ(t) = 0 besteht
das Gitter aus konzentrischen Kreisen um den Atomkern. In allen anderen Fällen
gibt es keine Schar von Gitterlinien, die genau das Kugelvolumen K begrenzt. Eine
Größe, die die Teilnorm pK approximiert, und in die die Effekte des finiten Gitters
nur in gedämpftem Ausmaß eingehen, ist die mit Hilfe einer Maskierungsfunktion M
berechnete Teilnorm PK,λ . Diese gibt die Wahrscheinlichkeit an, das Elektron in einer
Kugel mit diffusem Rand der Skintiefe λ vorzufinden:
Z
2
PK,λ ≡
d3 rM (| r − ξ(t) |) | ψ(r) |
(5.11)
M (r)
=
(
1
h
exp −
r−R 2
λ
i
∀r ≤ R
(5.12)
sonst
2
Maskenfunktion
Potential
1
ξ= 5 aB
0
-1
-2
-3
-20
-10
0
z (ϑ= 0,π)
10
20
Abbildung 5.1: Die Maskenfunktion M mit einem Radius von R = 5aB
und einer Skintiefe von λ = 2aB . Das Kernpotential ist hier um 5aB aus
dem Ursprung ausgelenkt.
1 Der
Kugelradius R sollte nicht mehr als einige Bohrsche Radien betragen
58
Es wird sich herausstellen, dass auch die Rate RK,λ , mit der sich die Wahrscheinlichkeit
PK,λ ändert, einen wichtigen Indikator zum Nachweis der Rabi-Oszillationen darstellt:
RK,λ ≡
d
dt PK,λ
PK,λ
≈
PK,λ (t + ∆t) − PK,λ (t − ∆t)
.
2∆tPK,λ (t)
(5.13)
2
Betrachtet man die Aufenthaltswahrscheinlichkeitsdichte | ψ | in einem zwei-Niveau
System mit den zeitabhängigen Basisfunktionen ψi (t), ψj (t), so erhält man zwei Terme, die die gleiche Zeitabhängigkeit wie die Entwicklungskoeffizienten aufweisen, sowie einen Interferenzterm, der mit der Resonanzfrequenz ωij = Eij des Übergangs
schwingt:
2
|ψ|
=
ψψ ∗ = [Ci (t)ψi (t) + Cj (t)ψj (t)] · Ci∗ (t)ψi∗ (t) + Cj∗ (t)ψj∗ (t)
(5.3)
=
2
2
| Ci (t)φi | + | Cj (t)φj | + 2Ci (t)Cj (t)φi φ∗j cos (Eij t) .
(5.14)
Die Kreisfrequenz des Interferenzterms ist allein durch die Energie-Eigenwerte des ungestörten Hamiltonoperators gegeben. Sie wird also — sofern die Gültigkeitsgrenzen
des zwei-Niveau Modells nicht verlassen werden — auch bei nicht-resonanter Anregung
stets den gleichen Wert annehmen. Hierdurch ergibt sich zunächst die Möglichkeit, die
Resonanzfrequenz des Übergangs n = i → n = j zu bestimmen:
Für ein ungestörtes Wasserstoffatom mit dem Kernpotential V = −1/r lässt sich die
Grundzustandsenergie analytisch berechnen (siehe z.B. [23]). In atomaren Einheiten
erhält man Ryideal = 0.5. In dem vorliegenden numerischen Löser kann dieses ideale
(d.h. singuläre) Potential allerdings nicht dargestellt werden, da auch der Ursprung
r = 0 Teil des Rechengitters (2.1) ist. Stattdessen wird ein regularisiertes CoulombPotential mit cutoff ǫ verwendet:
V (r) = √
−1
.
r 2 + ǫ2
Wählt man einen hinreichend kleinen cutoff so bleiben die analytisch berechneten Eigenfunktionen ψi (t), ψj (t) des Hamiltonoperators mit idealem Coulomb-Potential in
guter Näherung auch Eigenfunktionen des Operators mit regularisiertem Potential.
Die zugehörigen Energien weichen jedoch etwas von den Eigenenergien des idealen
Coulomb-Potentials ab. Dementsprechend kommt es zu einer geringen Abweichung
von den idealen Resonanzfrequenzen (5.1). Die tatsächliche Resonanzfrequenz des Systems für einen gegebenen Übergang kann man nun bestimmen, indem man zunächst
mit Hilfe der Formel (5.1) und unter Verwendung des Wertes Ry = 0.5 die entsprechende Frequenz des idealen Systems bestimmt. Sofern diese Frequenz sich nicht allzusehr
von der tatsächlichen Resonanzfrequenz unterscheidet — d.h. solange das zwei-Niveau
Modell eine gute Näherung an das tatsächliche physikalische Problem darstellt — wird
laut (5.14) in der Zeitevolution der Wahrscheinlichkeitsdichte ein Interferenzterm auftauchen, der mit der tatsächlichen Resonanzfrequenz ωij = Eij oszilliert.
Ebendieses Verfahren wurde für den Fall ǫ = 0.05 auf den Übergang n = 1 → n = 2 angewendet. Die Resonanzfrequenz ωideal bei Annahme eines idealen Coulomb-Potentials
liegt dann bei
1
= 0.375.
ωideal = 0.5 · 1 −
4
Es wurden mehrere Rechnungen mit Laserfrequenzen ωLAS zwischen 0.340 und 0.410
durchgeführt. Im Fourierspektrum der Raten R5,2 (t) zeigte sich dabei stets bei der
gleichen Frequenz eine Spitze, die die tatsächliche Resonanzfrequenz markiert:
59
5e-05
ωLAS= 0.340
ωLAS= 0.350
ωLAS= 0.360
ωLAS= 0.370
ωLAS= 0.375
ωLAS= 0.380
ωLAS= 0.390
ωLAS= 0.400
ωLAS= 0.410
4e-05
3e-05
R5,2
2e-05
1e-05
0
0
0.2
0.4
ω
0.8
0.6
1
Abbildung 5.2: Unabhängig von der Anregungsfrequenz ωLAS treten
stets Oszillationen der Rate mit der Resonanzfrequenz ω12 ≈ 0.375 des
Übergangs n = 1 → n = 2 auf.
Die Spitzen, die jeweils bei der doppelten Anregungsfrequenz auftauchen, rühren von
der Diskretisierung der Wellenfunktion auf dem finiten Gitter (2.1) her. Sie zeigen also
eine Unvollkommenheit der verwendeten Maskenfunktion an. An den Mittelwert aller
dieser Spektren wurde im Bereich der Resonanzfrequenz des Übergangs eine Gaußsche
Funktion angepasst um die Resonanzfrequenz möglichst genau zu bestimmen:
4e-05
Mittelwert aller Spektren
Gauß’sche Kurve
3e-05
R5,2
2e-05
1e-05
0
0.28
0.33
0.38
ω
0.43
Abbildung 5.3: Eine Gaußsche Funktion mit Maximum bei
ω = 0.366771 markiert die tatsächliche Resonanzfrequenz ω12 .
60
Nachdem nun die Resonanfrequenz ω12 = 0.366771 des Systems bekannt ist, können
mittels (5.1) auch alle anderen möglichen Resonanzfrequenzen bestimmt werden. Einer
Simulation von resonanten Rabi-Oszillationen steht somit nichts mehr im Wege.
5.4 Ergebnisse
Nachdem im Kapitel 5.3 die Resonanzfrequenz des Übergangs n = 1 → n = 2 bestimmt
wurde, wodurch nun über (5.1) auch die Grundzustandsenergie und alle Resonanzfrequenzen zwischen beliebigen anderen gebundenen Eigenzuständen bekannt sind, wird
in diesem Kapitel die Simulation einiger resonanter Rabi-Oszillationen beschrieben.
Die Rabi-Frequenz χij , mit der das System zwischen zwei Zuständen n = i und n = j
oszilliert ist nach (5.5) abhängig von der Projektion des Übergangs-Matrixelements rij
auf die Polarisationsrichtung ê des Lasers und von der Amplitude E0 des elektrischen
Feldes. Das Übergangs-Matrixelement lässt sich analytisch berechnen wenn man annimmt, dass die Eigenzustände des verwendeten regularisierten Coulomb-Potentials in
guter Näherung gleich den bekannten Eigenzuständen (5.3) eines idealen Coulombpotentials sind. Wegen der Einschränkung der Rotationssymmetrie um die z-Achse gilt
bei allen Rechnungen in dieser Arbeit ê = êz und m = 0, sodass gilt:
rij · ê
=
[23]
=
hni , li , m = 0| z |nj , lj , m = 0i
Z
Z∞
∗
dr r3 dΩRn∗ i li Yl0i cos(ϑ)Rnj lj Yl0j .
0
Gemäß den Auswahlregeln für elektrische Dipolstrahlung [24] muss sich bei jedem der
möglichen Übergänge die Drehimpulsquantenzahl um den Betrag eins ändern. Von Interesse sind also beispielsweise die folgenden Matrixelemente:
Übergang
rij · êz
1s → 2p
0.7448
1s → 3p
0.2985
1s → 4p
0.1761
Für den Übergang 1s → 2p wurden zwei Rabi-Oszillationen mit verschiedenen RabiFrequenzen simuliert. Wählt man als Amplitude des elektrischen Feldes den Wert
E0 = 0.04924, so sollte sich gemäß (5.5) eine Rabi-Frequenz χ12 = 0.0366 und damit
ein Frequenzverhältnis von χ12 /ω12 = 10 einstellen. Bei der zweiten Rechnung mit
der Amplitude E0 = 0.02462 war eine Rabi-Frequenz von χ12 = 0.0183 und damit ein
Frequenzverhältnis von χ12 /ω12 = 20 zu erwarten. In beiden Fällen wurde die RabiOszillation mit der erwarteten Frequenz nachgewiesen, wie die folgenden Darstellungen
zeigen:
61
1
erwartete
Periodendauer
χ12= ω12/20
χ12= ω12/10
P5,2
0.5
0
1000
500
2000
1500
t [a.u.]
Abbildung 5.4: In der Teilnorm (5.11) zeigen sich deutliche Oszillationen mit der
jeweiligen Rabi-Frequenz χ12 . Außerdem findet in geringem Maße Ionisation statt,
sodass der Oszillation eine zeitlich annähernd lineare Abnahme überlagert ist.
0.1
0.5
t= 0.0
t= 344.0
Re[ψ]
Im[ψ]
|ψ|
0.4
t= 688.0
Re[ψ]
Im[ψ]
|ψ|
0.05
Re[ψ]
Im[ψ]
|ψ|
0.4
0.2
0.3
0
0.2
0
0.1
-0.05
-0.2
0
-40
-20
0
z (ϑ=0,π)
20
40
-0.1
-40
-20
0
z (ϑ=0,π)
20
40
-0.4
-40
-20
0
20
40
z (ϑ=0,π)
Abbildung 5.5: Die Wellenfunktion ψ zu Beginn der Rechnung, nach einer halben
und nach einer ganzen Periode der Rabi-Oszillation. In den oberen Abbildungen ist
der Realteil von ψ farbcodiert dargestellt. In den roten Bereichen hat der Realteil
positives, in den blauen Bereichen negatives Vorzeichen. Die Oszillation zwischen den
Zuständen 1s und 2p ist deutlich erkennbar.
62
Auch in den Übergängen 1s → 3p und 1s → 4p lassen sich resonante Rabi-Oszillationen
simulieren. Hierzu wurde der Zustand 1s mit den Resonanzfrequenzen ω13 = 0.43469
bzw. ω14 = 0.45846 bei den E-Feld Amplituden E0 = 0.07281 bzw. E0 = 0.06509 angeregt. Die erwarteten Oszillationen zu den Zuständen 3p bzw. 4p sind deutlich zu
erkennen. Allerdings wird mit der Anregung in Zustände höherer Energie das zweiNiveau Modell des Atoms immer unzureichender. Es werden mehr und mehr auch
andere gebundene Zustände sowie das Kontinuum der freien (ionisierten) Zustände
angeregt:
0.1
0.4
t= 296.0
t= 444.5
Re[ψ]
Im[ψ]
|ψ|
0.2
Re[ψ]
Im[ψ]
|ψ|
0.08
0.06
0.04
0
0.02
-0.2
-0.4
-40
0
-20
0
20
-0.02
-40
40
z (ϑ=0,π)
-20
0
20
z (ϑ=0,π)
Abbildung 5.6: Resonante Rabi-Oszillation zwischen den Zuständen 1s und 3p.
63
40
0.1
0.4
t= 656.5
t= 959.5
Re[ψ]
Im[ψ]
|ψ|
0.3
0.2
0
0.1
-0.05
0
-40
-20
0
20
Re[ψ]
Im[ψ]
|ψ|
0.05
-0.1
-40
40
z (ϑ=0,π)
-20
0
20
z (ϑ=0,π)
Abbildung 5.7: Resonante Rabi-Oszillation zwischen den Zuständen 1s und 4p.
64
40
Resumee
Im Rahmen dieser Diplomarbeit ist es gelungen, eine numerische Methode zur Lösung
der dreidimensionalen, zeitabhängigen Schrödingergleichung eines Wasserstoffatoms,
welches von einem elektrischen Dipolfeld angeregt wird, zu entwickeln.
Die Besonderheit des Verfahrens gegenüber bestehenden Methoden stellen die Strahlungsrandbedingungen dar, die es erlauben das Rechengebiet während der Zeitpropagation des Systems auf wenige hundert Bohrsche Radien zu beschränken, und die somit
einen erheblichen Laufzeitvorteil von zwei Größenordnungen bei der Zeitpropagation
mit sich bringen. Dabei geht prinzipiell keine Information über die Werte der Wellenfunktion im Außenraum des Rechengebiets verloren, denn die Lösung kann mittels der
Methode der Greenschen Integration an beliebiger Stelle und zu beliebiger Zeit aus
der Zeithistorie der Wellenfunktion am Rechenrand extrahiert werden.
Allerdings bringen die Strahlungsrandbedingungen auch Probleme bei der Programmierung des Verfahrens mit sich. Die auftretende Integration zur Berechnung der
für große Rechengebiete asymptotisch reflexionsfreien Ränder wird nur dann lokal
in den Ortsvariablen (und somit von ihrem Rechenaufwand her vertretbar) wenn
das Rechengebiet durch einen sphärischen Rand begrenzt wird. Außerdem sind die
Strahlungsränder wegen der Forderung nach einem potentialfreien Außenraum nur im
Kramers-Henneberger-Bezugssystem formulierbar, und aus Gründen der numerischen
Stabilität auch bei großen Zeitschritten war angestrebt, die Zeitpropagation als implizites finite Differenzen Verfahren zu implementieren. Soll das Verfahren mit bereits
bestehenden Ansätzen konkurrieren können, so sollte es maximal die Inversion tridiagonal besetzter Matrizen enthalten. Durch diese drei Anforderungen wird die Form
der räumlichen Diskretisierung der Wellenfunktion weitestgehend vorgegeben. Allein
eine Diskretisierung in sphärischen Koordinaten des Ortsraums erfüllt alle Forderungen gleichermaßen.
Solche Koordinaten enthalten an ihrem Ursprung stets einen singulären Punkt, an
dem der verwendete Lösungsalgorithmus eine numerische Instabilität aufweist. Der
Algorithmus musste daher nahe des Koordinatenursprungs durch eine Relaxation der
Lösung gemäß der Wärmeleitungsgleichung ergänzt werden, um eine bedingte numerische Stabilität zu gewährleisten.
Durch die Parallelisierung des Programms mit Hilfe des OpenMP Standards auf einer Rechenanlage mit SMP Architektur konnte die Laufzeit zur Lösung des Zeitpropagators gegenüber der Verwendung eines modernen Arbeitsplatz-PC’s um eine
Größenordnung verringert werden.
In Kapitel 4.5 wurde ein Verfahren zur Extraktion der Lösung im gesamten Ortsraum aus der Zeithistorie am Rechenrand skizziert. Dieses Verfahren eignet sich —
im Gegensatz zu allen implizit formulierten Lösern für eine Zeitpropagation gemäß
der Schrödingergleichung — hervorragend zur Parallelisierung auf einem Großrechner
mit vielen Prozessoren und DMP Architektur. Eine Implementierung des Extraktionsalgorithmus könnte also den Beginn einer weiterführenden Arbeit darstellen aus
65
der ein Löser hervorgehen könnte, mit dem Anregungen eines Wasserstoffatoms auch
bei niedrigen Laserfrequenzen in einer Laufzeit berechenbar würden, die die Laufzeit
existierender Löser vorraussichtlich deutlich unterschreitet.
66
Literaturverzeichnis
[1] P. Agostini, F. Fabre, G. Mainfray, G. Petite and N.K. Rahman: Free-Free Transitions Following Six-Photon Ionization of Xenon Atoms. Phys. Rev. Lett., 42:1127,
1979.
[2] P. Kruit, J. Kimman, H.G. Muller, M.J. van der Wiel: Electron spectra from
multiphoton ionization of xenon at 1064, 532, and 355 nm. Phys. Rev. A, 28:248,
1983.
[3] K.C. Kulander: Multiphoton ionization of hydrogen: A time-dependent theory.
Phys. Rev. A, 35:445, 1987.
[4] G.G. Paulus, W. Becker, W. Nicklich, W.Walther: Rescattering effects in abovethreshold ionization: a classical model. J. Phys. B: At. Mol. Opt. Phys., 27:L703,
1994.
[5] H.-J. Kull, J. Görlinger, L. Plagne: Multiphoton Processes in Electron-Ion Scattering in Strong Laser Fields. Laser Physics, 10:151, 2000.
[6] L. Dimou, H.-J. Kull: Above-Threshold ionization by strong anharmonic light pulses. Phys. Rev. A, 61:043404, 2000.
[7] A. L‘Huillier, P. Balcou, S. Candel, K.J. Schafer, K.C. Kulander: Calculations
of high-order harmonic-generation processes in xenon at 1064 nm. Phys. Rev. A,
46:2778, 1992.
[8] K.C. Kulander, K.J. Schafer, J.L. Krause: Dynamic Stabilization of Hydrogen in
an Intense, High-Frequency, Pulsed Laser Field. Phys. Rev. Lett., 66:2601, 1991.
[9] M.P. de Boer, J.H. Hoogenraad, R.B. Vrijen, L.D. Noordam, H.G. Muller: Indications of high-intensity adiabatic stabilization in neon. Phys. Rev. Lett., 71:3263,
1993.
[10] J. Crank, P. Nicolson: A Practical Method for Numerical Evaluation of Solutions
of Partial Differential Equations of the Heat-ConductionType. Proc. Cambridge
Philos. Soc., 43:50, 1947.
[11] L. Lapidus, G.F. Pinder: Numerical Solution of Partial Differential Equations in
Science and Engineering (John Wiley & Sons, Inc., 1982).
[12] H.G. Muller: An Efficient Propagation Scheme for the Time-Dependent
Schrödinger Equation in the Velocity Gauge, Laser Physics, 9:138, 1999.
[13] D. Bauer, P. Koval: Qprop: A Schrödinger-solver for intense laser-atom interaction, Comput. Phys. Commun., 174:396, 2006. Bzw.: http://www.qprop.de.
[14] D. Neuhauser, M.Baer: The time-dependent Schrödinger equation: Application of
absorbing boundary conditions. J. Chem. Phys., 90:4351, 1989.
[15] R.W. Heather: An asymptotic wavefunction splitting procedure for propagating
spatially extended wavefunctions: applications to intense field photodissociation of
H2+ . Comput. Phys. Commun., 63:446, 1990.
67
[16] K. Boucke, H. Schmitz, H.-J. Kull: Radiation conditions for the time-dependent
Schrödinger equation: Application to strong-field photoionization. Phys. Rev. A.,
56:763, 1997.
[17] C.W. McCurdy, C.K. Stroud: Eliminating wavepacket reflection from grid boundaries using complex coordinate contours. Comput. Phys. Commun., 63:323, 1991.
[18] B.Piraux, R.Shakeshaft: Norm of the wave function on a complex basis. Phys.
Rev. A., 49:3903, 1994.
[19] M. Ehrhardt, A. Arnold: Discrete Transparent Boundary Conditions for the
Schrödinger Equation. Rivista di Mathematica della Universita di Parma, 6:57,
2001.
[20] A. Arnold, M. Ehrhardt, M. Schulte, I. Sofronov: Discrete transparent boundary conditions for the two dimensional Schrödinger equation. Matheon-Preprint,
No.332, 2006.
[21] H.A. Kramers: Collected Scientific Papers (North Holland, Amsterdam, 1956).
[22] W.C. Henneberger: Perturbation Method for Atoms in Intense Light Beams. Phys.
Rev. Lett., 21:838, 1968.
[23] L.D. Landau, E.M. Lifschitz: Lehrbuch der Theoretischen Physik. Bd.3 : Quantenmechanik (Akademie-Verlag, Berlin 1965), p. 45, 90 & 94.
[24] L.D. Landau, E.M. Lifschitz: Lehrbuch der Theoretischen Physik. Bd.4 : Quantenelektrodynamik (Akademie-Verlag, Berlin 1965), p. 158.
[25] W. Nolting: Grundkurs Theoretische Physik. Bd.3 : Elektrodynamik (5. Auflage,
Springer, Berlin Heidelberg, 2002), p. 310ff.
[26] I.N. Bronstein, K.A. Semendjajew, G. Musiol, H. Mühlig : Taschenbuch der Mathematik (4.Auflage, Harri Deutsch, Frankfurt a.M., 1999), p.708ff.
[27] M. Abramowitz, I.A. Stegun: Handbook of mathematical functions (Dover, New
York, 1965), p.437.
[28] W.H. Press, B.P. Flannery, S.A. Teukolsky, W.T. Vetterling: Numerical Recipes
in C: The Art of Scientific Computing (Cambridge University Press, 1992).
[29] SDL (Simple Directmedia Layer), http://www.libsdl.org/.
[30] Sun Fire SMP Cluster am Rechenzentrum der RWTH
http://www.rz.rwth-aachen.de/computing/hpc/hw/index.php#Sun.
Aachen,
[31] Opteron Cluster am Rechenzentrum der RWTH Aachen, http://www.rz.rwthaachen.de/computing/hpc/hw/index.php#Intel.
[32] A. Grama, A. Gupta, G. Karypis, V. Kumar : Introduction to Parallel Computing
(2.Auflage, Pearson, Harlow, 2003).
[33] The
Message
Passing
unix.mcs.anl.gov/mpi/.
[34] OpenMP:
Simple,
http://www.openmp.org.
Interface
Portable,
(MPI)
Scalable
standard,
http://www-
SMP
Programming,
[35] P.W. Milonni, J.H. Eberly: Lasers (John Wiley & Sons, Inc., 1988)
68
Dank
An dieser Stelle möchte ich einigen Menschen danken, die ganz besonders zum
Entstehen dieser Diplomarbeit beigetragen haben:
Herrn Prof. Dr. H.-J. Kull für die interessante Problemstellung und die zahlreichen, stets fruchtbaren Diskussionen.
Herrn Prof. Dr. H. Schoeller für die Übernahme des Zweitgutachtens.
Allen Mitarbeitern des Lehr- und Forschungsgebiets Laserphysik für so manches problemlösendes Gespräch und für das hervorragende Arbeitsklima.
Herrn Dr. Carsten Braun und Herrn Lars Reimer vom Lehr- und Forschungsgebiet Mechanik für Ihre äußerst kompetente Hilfe bei Fragen zu numerischen Verfahren
im Allgemeinen und zur Programmparallelisierung im Besonderen.
Jan Volkmann, Lars Temme, Patrick Kranz und Jeannine Leutner für die Durchsicht
des Manuskripts.
Meinem Bruder Dr. Oliver Heinen, der maßgeblich meine Begeisterung für die
Physik und die Programmierung geweckt hat, für seine Unterstützung meines Studiums und seine Hilfe bei Computerproblemen.
Meiner Mutter, die mir durch Ihre großzügige Unterstützung das Studium erst
ermöglicht hat.
69
Herunterladen