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