05.12.2012 Aufrufe

t - Fakultät für Physik und Astronomie - Universität Würzburg

t - Fakultät für Physik und Astronomie - Universität Würzburg

t - Fakultät für Physik und Astronomie - Universität Würzburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Computational Physics<br />

Aktualisierte Version<br />

22. Februar 2012<br />

Prof. Dr. Haye Hinrichsen<br />

Lehrstuhl <strong>für</strong> Theoretische <strong>Physik</strong> III<br />

<strong>Fakultät</strong> <strong>für</strong> <strong>Physik</strong> <strong>und</strong> <strong>Astronomie</strong><br />

<strong>Universität</strong> <strong>Würzburg</strong><br />

Wintersemester 11/12


Vorwort<br />

Dies ist die aktuelle Version des Skripts zur Vorlesung ’Computational Physics’ <strong>für</strong> den<br />

Bachelor-Studiengang. Eine Vorgängerversion <strong>für</strong> den alten Diplomstudiengang finden<br />

Sie auf meiner Internetseite unter ’Skripte’.<br />

Da ich diese Vorlesung bereits mehrere Jahre halte, ist das Skript umfangreicher als die<br />

Vorlesung. Für die Prüfung brauchen Sie natürlich nur diejenigen Themen vorbereiten,<br />

die in der Vorlesung behandelt wurden.<br />

Skripte sind nie fehlerfrei. Bitte helfen Sie mit <strong>und</strong> benachrichtigen Sie mich bei Fehlern<br />

per Email:<br />

hinrichsen at physik uni-wuerzburg de, Betreff: CP-Skript.<br />

Vielen Dank <strong>für</strong> die vielen Hinweise, die geholfen haben, dieses Skript zu verbessern.<br />

H. Hinrichsen<br />

<strong>Würzburg</strong>, WS 11/12<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


Inhaltsverzeichnis<br />

1 Integration 1<br />

1.1 Einfache Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.1.1 Rechteckverfahren <strong>und</strong> Trapezregel . . . . . . . . . . . . . . . . . . 1<br />

1.1.2 Simpsonregel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.1.3 Newton-Cotes-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.1.4 Numerische Stabilität . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2 Differentialgleichungen 7<br />

2.1 Gewöhnliche Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . 7<br />

2.1.1 Reduktion auf ein System erster Ordnung . . . . . . . . . . . . . . 7<br />

2.1.2 Diskretisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

2.1.3 Euler-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.1.4 Verfahren von Heun . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.1.5 Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.1.6 Fehlerabschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.1.7 Dynamische Schrittweitenkontrolle * . . . . . . . . . . . . . . . . . 12<br />

2.1.8 Anwendung auf physikalische Probleme . . . . . . . . . . . . . . . 13<br />

2.1.9 Die Rolle von Symmetrien <strong>und</strong> Erhaltungsgrößen . . . . . . . . . . 14<br />

2.1.10 Mehrschrittverfahren * . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

2.2 Partielle Differentialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.2.1 Konzept der Quantenmechanik kurz gefasst . . . . . . . . . . . . . 17<br />

2.2.2 Die Schrödingergleichung . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.2.3 Stationäre Schrödingergleichung . . . . . . . . . . . . . . . . . . . . 18<br />

2.2.4 Numerov-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

2.2.5 Zeitabhängige Schrödingergleichung – Modenzerlegung . . . . . . . 22<br />

2.2.6 Zeitabhängige Schrödingergleichung – Numerische Integration . . . 24<br />

2.3 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3 Chaos 35<br />

3.1 Chaotische mechanische Systeme . . . . . . . . . . . . . . . . . . . . . . . 37<br />

3.1.1 Mimimale Phasenraumdimension . . . . . . . . . . . . . . . . . . . 37<br />

3.1.2 Lyapunov-Exponenten . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

3.1.3 Getriebenes gedämpftes Pendel . . . . . . . . . . . . . . . . . . . . 40<br />

3.1.4 Attraktoren <strong>und</strong> Poincaré-Schnitte . . . . . . . . . . . . . . . . . . 41<br />

3.2 Fraktale Eigenschaften seltsamer Attraktoren * . . . . . . . . . . . . . . . 43<br />

3.3 Chaotische iterative Abbildungen . . . . . . . . . . . . . . . . . . . . . . . 43<br />

3.3.1 Quadratische Abbildung . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.3.2 Feigenbaumkonstante . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

3.3.3 Mandelbrotmenge . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

3.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


vi Inhaltsverzeichnis<br />

4 Zufallszahlen 55<br />

4.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

4.1.1 Ganzzahlige Zufallszahlen . . . . . . . . . . . . . . . . . . . . . . . 55<br />

4.1.2 Fließkomma-Zufallszahlen . . . . . . . . . . . . . . . . . . . . . . . 57<br />

4.1.3 Korrelationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

4.2 Pseudozufallszahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

4.2.1 Algorithmische Implementierung . . . . . . . . . . . . . . . . . . . 59<br />

4.2.2 Ein (zu) einfacher Zufallszahlengenerator . . . . . . . . . . . . . . 60<br />

4.2.3 Verbesserte Zufallszahlengeneratoren . . . . . . . . . . . . . . . . . 61<br />

4.2.4 Zufallszahlengenerator von G. Marsaglia <strong>und</strong> A. Zaman . . . . . . 61<br />

4.2.5 Zufallszahlengenerator von R. M. Ziff . . . . . . . . . . . . . . . . . 62<br />

4.2.6 ’Echte’ Zufallszahlen . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.3 Zufallszahlen mit nichtkonstanter Verteilung . . . . . . . . . . . . . . . . . 63<br />

4.3.1 Transformation der Wahrscheinlichkeitsdichte durch Abbildung . . 63<br />

4.3.2 Normalverteilte Zufallszahlen . . . . . . . . . . . . . . . . . . . . . 65<br />

4.3.3 Box-Muller Transformation . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.3.4 Verbesserte Box-Muller Transformation . . . . . . . . . . . . . . . 67<br />

4.3.5 Umgang mit Wahrscheinlichkeitsverteilungen in Mathematica R○ . . 68<br />

4.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

5 Zufallsbewegung 71<br />

5.1 Universalität der Gaußverteilung . . . . . . . . . . . . . . . . . . . . . . . 71<br />

5.1.1 Addition von Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . 71<br />

5.1.2 Faltungssatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

5.1.3 Transformierte Wahrscheinlichkeitsdichte eines Standardgenerators 73<br />

5.1.4 Zentraler Grenzwertsatz . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

5.2 Die eindimensionale Zufallsbewegung . . . . . . . . . . . . . . . . . . . . . 76<br />

5.2.1 Bewegungsgleichung <strong>und</strong> Mastergleichung . . . . . . . . . . . . . . 77<br />

5.2.2 Kontinuumlimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

5.2.3 Skalierungseigenschaften der Diffusionsgleichung . . . . . . . . . . 79<br />

5.3 Diffusion in höheren Dimensionen . . . . . . . . . . . . . . . . . . . . . . . 80<br />

5.3.1 Entkopplung orthogonaler Freiheitsgrade . . . . . . . . . . . . . . . 80<br />

5.3.2 Rückkehrwahrscheinlichkeit . . . . . . . . . . . . . . . . . . . . . . 81<br />

5.3.3 Diffusionsbegrenztes Wachstum (DLA) . . . . . . . . . . . . . . . . 82<br />

5.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85<br />

6 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse 89<br />

6.1 Molekularfeldnäherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

6.1.1 Massenwirkungsgesetz . . . . . . . . . . . . . . . . . . . . . . . . . 89<br />

6.1.2 Chemische Oszillationen . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

6.1.3 Raumzeitliche Strukturbildung . . . . . . . . . . . . . . . . . . . . 91<br />

6.2 Gittermodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.2.1 Gittergeometrien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.2.2 Charakterisierung des Zustandsraums . . . . . . . . . . . . . . . . 94<br />

6.2.3 Dynamiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />

6.3 Zelluläre Automaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

6.4 Systeme mit thermisch induzierten Übergängen . . . . . . . . . . . . . . . 98<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


Inhaltsverzeichnis vii<br />

6.5 Fluktuationseffekte im Koagulationsprozess . . . . . . . . . . . . . . . . . 99<br />

6.5.1 Experimenteller Hintergr<strong>und</strong> . . . . . . . . . . . . . . . . . . . . . 100<br />

6.5.2 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

6.5.3 Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

6.5.4 Exakte Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

6.5.5 Dimensionsabhängigkeit . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

6.6 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

7 Phasenübergänge in Reaktions-Diffusionsprozessen 109<br />

7.1 Gerichtete Perkolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />

7.1.1 Isotrope vs. gerichtete Perkolation . . . . . . . . . . . . . . . . . . 110<br />

7.1.2 Interpretation als Reaktions-Diffusionsprozess . . . . . . . . . . . . 111<br />

7.1.3 Algorithmische Implementierung . . . . . . . . . . . . . . . . . . . 112<br />

7.1.4 Epidemische Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

7.1.5 Potenzgesetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

7.2 Phänomenologische Skalentheorie . . . . . . . . . . . . . . . . . . . . . . . 118<br />

7.2.1 Skaleninvarianz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

7.2.2 Universalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120<br />

7.3 Andere stochastische Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

7.3.1 Wachstumsprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

7.3.2 Voter Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

7.4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


1 Integration<br />

Während das Differenzieren von Funktionen durch Anwendung<br />

von bestimmten Regeln auf systematische Weise durchgeführt<br />

werden kann, ist die exakte Integration einer Funktion weitaus<br />

schwieriger. Die bekannten Lösungen hat man deshalb in umfangreichen<br />

Tafelwerken wie z.B. dem “Gradshteyn-Ryzhik“ zusammengetragen.<br />

Heute übernehmen symbolische mathematisch<br />

orientierte Programmiersprachen wie z.B. Mathematica R○<br />

mehr <strong>und</strong> mehr die Funktion dieses kollektiven Wissen. Wenn<br />

aber eine Integration in geschlossener Form nicht möglich ist,<br />

ist man auf numerische Näherungsverfahren angewiesen. Um<br />

solche Näherungsverfahren wird es in diesem Kapitel gehen.<br />

Der “Gradshteyn-Ryzhik“<br />

Die numerische Integration von Funktionen ist ein eigenständiges Teilgebiet der numerischen<br />

Mathematik. Im Rahmen dieser Vorlesung wollen wir dieses Gebiet nur streifen<br />

<strong>und</strong> die gängigsten numerischen Integrationsverfahren exemplarisch behandeln. Dabei<br />

werden wir insbesondere die Genauigkeit, die benötigte Rechenzeit <strong>und</strong> den programmiertechnischen<br />

Aufwand miteinander vergleichen. Als benchmark verwenden wir da<strong>für</strong><br />

das Integral<br />

� 2<br />

1.1 Einfache Verfahren<br />

1.1.1 Rechteckverfahren <strong>und</strong> Trapezregel<br />

1<br />

ex dx = 3.0591165396459534079.... (1.1)<br />

x<br />

Das einfachste Integrationsverfahren ist das sogenannte Rechteckverfahren. Dazu wird das<br />

Integrationsintervall [a, b] in N äquidistante Intervalle der Breite h = (b − a)/N geteilt,<br />

die wir mit n = 0 . . . N − 1 indizieren wollen. In den Mittelpunkten xn = a + (n + 1/2)h<br />

dieser Intervalle, den sogenannten Stützstellen, berechnet man die Funktionswerte fn =<br />

f(xn). Das Integral I = � b<br />

a f(x)dx ist dann näherungsweise durch die Summe dieser<br />

Funktionswerte multipliziert mit h gegeben:<br />

�<br />

N−1<br />

IR = h<br />

n=0<br />

�<br />

�<br />

b − a<br />

f a + (n + 1/2)h , h = . (1.2)<br />

N<br />

Man kann sich leicht überzeugen, dass lineare Funktionen (also Geraden) unabhängig von<br />

h fehlerfrei integriert werden, während bei gekrümmten Kurven Abweichungen entstehen.<br />

Bei einer Parabel kann man I <strong>und</strong> IR sogar geschlossen ausrechnen. Man erhält<br />

I = b3 − a 3<br />

3<br />

, IR = b3 − a3 −<br />

3<br />

(b − a)3<br />

12N 2 (b − a)3<br />

, ∆ = |I − IR| =<br />

12N 2 ∼ h2 . (1.3)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2 Integration<br />

Abbildung 1.1: Integrationsverfahren: Rechteck-, Trapez- <strong>und</strong> Simpsonregel (Quelle: Wikipedia).<br />

Das ’beweist’ man z.B. mit Mathematica R○ :<br />

f[x_]:=x^2;<br />

h=(b-a)/NN; (* N ist belegt *)<br />

soll=Integrate[f[x],{x,a,b}];<br />

ist=h*Sum[f[a+(n+1/2)h],{n,0,NN-1}];<br />

soll-ist//FullSimplify<br />

Eine Verbesserung könnte man sich erhoffen, indem man die Stützstellen durch stückweise<br />

Geraden miteinander verbindet. Bei dieser sogenannten Trapezregel trägt das approximierte<br />

Integral zwischen zwei Stützstellen x, x + h mit der Fläche h<br />

2 (f(x) + f(x + h)) bei.<br />

Wenn man alle Beiträge aufaddiert, erhält man<br />

�<br />

f(a) f(b)<br />

IT = h +<br />

2 2 +<br />

N−1 � �<br />

f(a + nh)<br />

Für eine Parabel erhält man hier den Fehler<br />

∆ = |I − IT | =<br />

n=1<br />

(1.4)<br />

(b − a)3<br />

6N 2 ∼ h2 . (1.5)<br />

Obwohl die Trapezregel ‘besser aussieht’ (vgl. Abb. 1.1) produziert sie einen doppelt so<br />

großen Fehler.<br />

In der numerischen Mathematik ist ein solcher Faktor 2 im Fehler durchaus relevant,<br />

da er einen um √ 2 höheren Rechenaufwand bedeutet. Viel wichtiger ist jedoch, wie der<br />

numerische Fehler skaliert, mit welcher Potenz in h er also abnimmt im Limes h → 0.<br />

Die Rechteck- <strong>und</strong> Trapezmethode haben beide die gleiche Fehlerordnung da die Fehler<br />

in beiden Fällen wie h 2 skalieren.<br />

Die Rechteck- <strong>und</strong> die Trapezregel lassen sich in C wie folgt programmieren:<br />

double Integrate_R (double (*f) (double), double a, double b, int N) {<br />

double h = (b-a) / N;<br />

double sum = 0;<br />

for (int n=0; n


1.1 Einfache Verfahren 3<br />

1.1.2 Simpsonregel<br />

Die Simpsonregel beruht auf der Idee, die Funktion f(x)<br />

durch Parabelsegmente anstatt durch Geraden zu approximieren.<br />

Auf jedem Intervall [x, x + 2h] betrachtet man dazu<br />

die drei Funktionswerte an den Stützstellen x, x + h, x + 2h<br />

<strong>und</strong> bestimmt eine Parabel P (x), die durch diese drei Punkte<br />

verläuft. Die so bestimmte Parabel wird dann auf diesem<br />

Intervall integriert. Dieses analytische Problem löst man mit<br />

Mathematica R○ folgendermaßen:<br />

Drei-Punkte-Fit einer Parabel<br />

P[x_]:=c*x^2+d*x+e; (* Parabel mit Koeffizienten c,d,e *)<br />

lsg=Solve[{P[x]==f[x], P[x+h]==f[x+h], P[x+2h]==f[x+2h]}, {c,d,e}]<br />

P1[x_]:=P[x]/.lsg[[1]]; (* Loesung einsetzen *)<br />

Integrate[P1[s],{s,x,x+2*h}]//Simplify<br />

Das Resultat lautet (h*(f[x] + 4*f[x + h] + f[x + 2*h]))/3. Dieser Ausdruck ist<br />

noch über alle Stützstellen zu summieren. Als Ergebnis erhält man die Simpson-Regel<br />

IS = h<br />

�<br />

�<br />

f(a) + 4f(x1) + 2f(x2) + 4f(x3) + 2f(x4) + · · · + 4f(xn−1) + f(b) (1.6)<br />

3<br />

So könnte man die Simpson-Regel in C realisieren:<br />

double Integrate_S (double (*f) (double), double a, double b, int N) {<br />

double h = (b-a) / N / 2;<br />

double sum = (*f)(a) + (*f)(b);<br />

for (int j=1; j


4 Integration<br />

Die n Stützstellen in einem Intervall [x0, x0 + nh] seien xi = x0 + ih. Wir suchen nun<br />

ein Polynom n-ter Ordnung Pn(x), das durch die n Punkte (xi, f(xi)) verläuft. Dazu<br />

betrachten wir zunächst die Hilfsfunktionen<br />

Lk,n(x) =<br />

n�<br />

x − xj<br />

xk − xj<br />

j=0,j�=k<br />

. (1.7)<br />

Man kann sich leicht überzeugen, dass diese Funktionen ebenfalls Polynome n-ten Grades<br />

sind. Außerdem gilt<br />

�<br />

Lk,n(xi) =<br />

1<br />

0<br />

falls i = k<br />

falls i �= k<br />

(1.8)<br />

oder kurz Lk,n(xi) = δik, denn <strong>für</strong> i = k sind alle Faktoren gleich 1, während <strong>für</strong> i �= k<br />

mindestens einer der Faktoren verschwindet. Mit diesen Basispolynomen ist es nun leicht<br />

zu zeigen, dass<br />

n�<br />

Pn(x) = f(xk)Lk,n(x) (1.9)<br />

k=0<br />

das (eindeutig gegebene) Polynom mit der gewünschten Eigenschaft Pn(xi) = f(xi) ist.<br />

Dieses Polynom ist nun auf dem Teilintervall [x0, xn] zu integrieren:<br />

� xn<br />

f(x)dx ≈ (xn − x0)<br />

x0<br />

n�<br />

wk f(xk) , (1.10)<br />

wobei die Konstanten wk die sogenannten Gewichte sind, die das jeweilige Verfahren<br />

charakterisieren. Die Gewichte sind gegeben durch<br />

wk =<br />

1<br />

xn − x0<br />

k=0<br />

� xn<br />

Lk,n(x)dx (1.11)<br />

1<br />

Dabei ist der Vorfaktor so gewählt, dass die Gewichte bei äquidistanten Stützstellen<br />

xn−x0<br />

nicht von der Breite es Intervalls abhängen. Mit diesem Mathematica R○ -Code kann man<br />

diese Zahlen ausrechnen:<br />

n=5; (* Ordnung des Verfahrens *)<br />

X[k_]:=x0+k*h;<br />

pi[x_]:=Product[(x-X[j]),{j,0,n}]<br />

L[k_,x_]:=pi[x]/pi’[X[k]]/(x-X[k]);<br />

Table[1/h/n*Integrate[L[k,x],{x,x[0],x[n]}],{k,0,n}]<br />

Hier einige Beispiele:<br />

Verfahren n w0, . . . , wn Fehlerordnung<br />

Trapez 1 1 1<br />

2 , 2<br />

2 1 , 3 , 6<br />

Simpson 2 1<br />

6<br />

Boole 4 7<br />

90<br />

, 32<br />

90<br />

, 12<br />

90<br />

x0<br />

32 7 , 90 , 90<br />

41 9 9 34 9 9 41<br />

Weddle 6 840 , 35 , 280 , 105 , 280 , 35 , 840<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

h 2<br />

h 4<br />

h 6<br />

h 8


1.1 Einfache Verfahren 5<br />

n Trapez Simpson Bool Weddle<br />

1 0.147288 0.00154692 2.77024e-05 8.81973e-07<br />

2 0.0379823 0.000122653 7.25379e-07 7.769e-09<br />

4 0.00958756 8.34587e-06 1.38071e-08 4.23125e-11<br />

8 0.00240315 5.34561e-07 2.29e-10 1.83758e-13<br />

16 0.000601188 3.36247e-08 3.63571e-12 8.14886e-16<br />

32 0.000150322 2.10495e-09 5.73231e-14 7.97973e-17<br />

64 3.75822e-05 1.31613e-10 1.18156e-15 7.65447e-17<br />

128 9.39564e-06 8.22669e-12 3.03143e-16 7.58942e-17<br />

256 2.34892e-06 5.14214e-13 2.89916e-16 7.71952e-17<br />

512 5.87229e-07 3.21715e-14 2.87314e-16 8.04478e-17<br />

1024 1.46807e-07 2.04589e-15 2.85796e-16 7.00395e-17<br />

Tabelle 1.1: Fehler verschiedener Integrationsverfahren bei der Berechnung von (1.1).<br />

Zu guter letzt sind die Integrale der Teilintervalle noch aufzusummieren. Man erhält<br />

damit die Approximation<br />

� b<br />

a<br />

N−1 �<br />

f(x)dx ≈ nh<br />

j=0 k=0<br />

n�<br />

wk f � a + (nj + k)h � . (1.12)<br />

Auch die komplizierteren Regeln sind also sehr einfach zu programmieren. Hier ist beispielsweise<br />

ein Programmfragment <strong>für</strong> die Weddle-Regel n = 6, das sehr leicht an andere<br />

Regeln angepasst werden kann:<br />

double Integrate_W (double (*f) (double), double a, double b, int N) {<br />

const int n=6; double sum=0, h = (b-a)/(N*n);<br />

double w[n+1]={41.0/840,9.0/35,9.0/280,34.0/105,9.0/280,9.0/35,41.0/840};<br />

for (int j=0; j


6 Integration<br />

Fehler<br />

10<br />

1 10 100<br />

N<br />

1000 10000 100000<br />

-16<br />

10 -15<br />

10 -14<br />

10 -13<br />

10 -12<br />

10 -11<br />

10 -10<br />

10 -9<br />

10 -8<br />

10 -7<br />

10 -6<br />

10 -5<br />

10 -4<br />

10 -3<br />

10 -2<br />

10 -1<br />

10 0<br />

10 1<br />

10 2<br />

10 3<br />

Trapez<br />

Simpson<br />

Boole<br />

Weddle<br />

Abbildung 1.2: Absolute Fehler <strong>für</strong> verschiedene Beispielfunktionen (siehe Text).<br />

ist, korrekt integriert, jedoch wird das Intervall, in dem die Unstetigkeit liegt, je nach<br />

Ordnung des Verfahrens durch ein mehr oder weniger wild oszillierendes Polynom approximiert,<br />

das in diesem Intervall ein völlig falsches Ergebnis produziert. Man erwartet<br />

deshalb, das der Gesamtfehler in diesem Fall mit 1/h oder sogar schlechter skaliert –<br />

unabhängig von der Ordnung des Verfahrens.<br />

Wie man in Abb. 1.2 sehen kann, ist dies auch tatsächlich der Fall. In dieser Abbildung<br />

sind die absoluten Fehler doppellogarithmisch über der Anzahl der Schritte N ∼ 1/h<br />

dargestellt. Die Fehler <strong>für</strong> die gutartige Funktion f(x) aus Tabelle 1.1 sind grün dargestellt.<br />

Man erkennt sehr schön die unterschiedlichen Potenzgesetze der Fehlerordnungen,<br />

die hier als Geraden mit unterschiedlicher Steigung in Erscheinung treten, sowie die limitierende<br />

Maschinengenauigkeit am unteren Rand. Die entsprechenden Daten <strong>für</strong> die<br />

Sprungfunktion g(x) sind dagegen blau dargestellt. Wie man sehen kann, liefern hier alle<br />

Verfahren in etwa gleich schlechte Ergebnisse mit einer Fehlerordnung h −1 .<br />

Noch problematischer ist die Integration von Funktionen mit Singulatitäten wie z.B.<br />

h(x) =<br />

1<br />

. (1.15)<br />

x − π/2<br />

Das Integral � 2<br />

1 h(x)dx kann berechnet werden, indem man ausnutzt, dass der Integrand<br />

antisymmetrisch in bezug auf die Polstelle ist, d.h. im Intervall [π−2, 2] liefert das Integral<br />

keinen Beitrag, während der verbleibende Teil � π−2<br />

1 h(x)dx mit Mathematica R○ bestimmt<br />

werden kann <strong>und</strong> den numerischen Wert H = −1.012305533877 ergibt. Integriert man<br />

aber diese Funktion numerisch auf dem gesamten Intervall [1, 2], so beobachtet man, dass<br />

keines der Verfahren konvergiert, vielmehr erhält man in etwa konstante Abweichungen<br />

von der Größenordnung 1, die in der Abbildung rot dargestellt sind.<br />

Die numerische Integration von Funktionen ist ein eigenes Teilgebiet der numerischen<br />

Mathematik, das wir hier nur sehr oberflächlich gestreift haben. Mitnehmen sollten Sie<br />

jedoch, dass sich die Genauigkeit in der Regel mit nur geringem Aufwand erheblich<br />

verbessern lässt. Sind dagegen die Integranden unstetig oder gar singulär, ist äußerste<br />

Vorsicht geboten, selbst wenn ein Verfahren endliche stabile Werte liefert.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2 Differentialgleichungen<br />

Eine wichtige <strong>und</strong> vielleicht auch die älteste Anwendung<br />

des Computers in der <strong>Physik</strong> ist das<br />

numerische Lösen von Differentialgleichungen.<br />

Der erste vollelektronische Großrechner mit der<br />

Bezeichnung ENIAC, der noch über ein Steckfeld<br />

programmiert wurde, diente zur Lösung<br />

partieller Differentialgleichungen <strong>für</strong> Kernfusion<br />

<strong>und</strong> ermöglichte so die Entwicklung der<br />

Wasserstoffbombe. Die Amerikaner gewannen<br />

den Wettlauf zum Mond nicht wegen besserer<br />

Raketentechnologie, sondern weil sie die ersten<br />

waren, die einen leichten transistorisierten<br />

Bordrechner zur numerischen Iteration der<br />

Flugbahn bauen konnten.<br />

2.1 Gewöhnliche Differentialgleichungen<br />

2.1.1 Reduktion auf ein System erster Ordnung<br />

Electronic Numerical Integrator And Computer<br />

(ENIAC) aus dem Jahr 1942 mit 17500 Röhren<br />

Wir wollen uns zunächst mit gewöhnlichen Differentialgleichungen befassen. Eine gewöhnliche<br />

Differentialgleichung n-ter Ordnung <strong>für</strong> eine Funktion y(x) lässt sich schreiben<br />

als<br />

y (n) = f(x, y, y ′ , y ′′ , . . . , y (n−1) ) , (2.1)<br />

wobei y (n) <strong>für</strong> die n-te Ableitung steht <strong>und</strong> f eine im Allgemeinen nichtlineare Funktion<br />

ist. Diese Differentialgleichung n-ter Ordnung lässt sich auf ein System von Differentialgleichungen<br />

erster Ordnung zurückführen, indem man eine n-komponentige Funktion<br />

�Y (x) = (Y1(x), Y2(x), . . . , Yn(x)) durch Yn(x) := y (n−1) (x) definiert, also einen Vektor,<br />

in dem die ursprüngliche Funktion <strong>und</strong> ihre Ableitungen als Komponenten aufgelistet<br />

sind. Man wird so auf ein System von n Differentialgleichungen geführt, nämlich<br />

das sich auch kurz in der Form<br />

Y ′<br />

1(x) = Y2(x)<br />

Y ′<br />

2(x) = Y3(x) (2.2)<br />

· · · · · ·<br />

Y ′ �<br />

�<br />

n(x) = f x, Y1(x), Y2(x), . . . , Yn(x) ,<br />

�Y ′ (x) = � �<br />

F x, � �<br />

Y (x)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

(2.3)


8 Differentialgleichungen<br />

schreiben lässt. Die ersten n − 1 Gleichungen sind trivial in dem Sinne, dass sie nichts<br />

weiter tun als Ableitungen sukzessive hintereinander zu schalten, um auf diese Weise<br />

höhere Ableitungen zu erzeugen, die in der letzten Gleichung als Argumente der Funktion<br />

f benötigt werden. Durch das Zurückführen auf ein System von Gleichungen erster<br />

Ordnung wird das Problem jedoch standardisiert, – spezielle Algorithmen <strong>für</strong> Differentialgleichungen<br />

höherer Ordnung werden also nicht unbedingt benötigt.<br />

Beispiel: Für eine gedämpfte Schwingung lässt sich die DGL zweiter Ordnung ¨y(t) +<br />

a ˙y(t) + by(t) = 0 durch<br />

Y1(t) := y(t) , Y2(t) := ˙y(t) (2.4)<br />

auf das System<br />

˙Y1(t) = Y2(t)<br />

˙Y2(t) = −bY1(t) − aY2(t) (2.5)<br />

von zwei DGLen erster Ordnung zurückführen. In diesem speziellen Fall ist das System<br />

sogar linear, so dass wir ˙ � Y (t) = AY (t) schreiben können, wobei A eine 2 × 2-Matrix ist.<br />

Durch Bestimmung der Eigenwerte <strong>und</strong> Eigenvektoren dieser Matrix lassen sich dann beide<br />

Gleichungen entkoppeln.<br />

Auf analoge Weise geht man vor, wenn ein System von m Gleichungen n-ter Ordnung<br />

vorgegeben ist, man erhält dann ein System von m × n Gleichungen erster Ordnung.<br />

Im folgenden wollen wir der Einfachheit halber eine einkomponentige gewöhnliche DGL<br />

erster Ordnung y ′ (x) = f(x, y(x)) betrachten. Die zu beschreibenden Verfahren können<br />

direkt auf Systeme mehrerer DGLen erster Ordnung verallgemeinert werden.<br />

2.1.2 Diskretisierung<br />

Rechner sind endliche Maschinen <strong>und</strong> können deshalb nur diskretisierte Probleme bearbeiten.<br />

Zunächst muss also die unabhängige Variable x (bzw. t in zeitabhängigen DGLen)<br />

diskretisiert werden. Liegen keine näheren Informationen zur betrachteten DGL vor, wird<br />

man zunächst mit einer äquidistanten Diskretisierung<br />

x = x0 + jh j ∈ N (2.6)<br />

arbeiten. Dabei ist h die sogenannte Schrittweite bei der Iteration. Der Iterationsindex j<br />

übernimmt nun die Rolle der unabhängigen Variable, weshalb wir die Notation<br />

verwenden werden.<br />

xj := x0 + jh , yj := y(xj) , y ′ j := y ′ (xj) (2.7)<br />

Bei der numerischen Integration von Differentialgleichungen unterscheidet man zwischen<br />

Einschrittverfahren <strong>und</strong> Mehrschrittverfahren, wobei man sich auf die Anzahl der bereits<br />

berechneten Stützstellen bezieht, deren Kenntnis notwendig ist, um die jeweils nächste<br />

Stützstelle zu berechnen. Ein Einschrittverfahren berechnet yj+1 allein auf der Gr<strong>und</strong>lage<br />

der vorherigen Stützstelle yj. Beispiele da<strong>für</strong> sind die im folgenden besprochenen<br />

Euler- <strong>und</strong> Runge-Kutta-Verfahren. Ein Zweischrittverfahren benötigt dagegen <strong>für</strong> die<br />

Berechnung von yj+1 zwei zuvor berechnete Stützstellen yj <strong>und</strong> yj−1. Solche mehrstufigen<br />

werden am Ende dieses Kapitels besprochen.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.1 Gewöhnliche Differentialgleichungen 9<br />

2.1.3 Euler-Verfahren<br />

Die Gr<strong>und</strong>lage eines Iterationsverfahrens ist in der Regel die Taylorentwicklung<br />

yj+1 =<br />

∞�<br />

k=0<br />

hk k! y(k)<br />

j<br />

= yj + hy ′ j + h2<br />

2 y′′<br />

j + . . . . (2.8)<br />

Wären alle Ableitungen bekannt, könnte man die DGL ‘exakt’ iterieren, – aber leider<br />

kennt man nur die erste Ableitung, die durch y ′ j = f(xj, yj) berechnet werden kann.<br />

Als einfachstes Verfahren bietet es sich deshalb an, die Entwicklung nach der ersten<br />

Ordnung abzubrechen, was zu einem Iterationsfehler der Ordnung O(h 2 ) führt. 1 Dies ist<br />

das sogenannte Euler-Verfahren:<br />

yj+1 = yj + hf(xj, yj) + O(h 2 ). (2.9)<br />

Das Euler-Verfahren ist wegen seiner Anschaulichkeit sehr beliebt, aber<br />

Euler-Verfahren sind ungenau.<br />

Mit einem geringen Aufwand lässt sich, wie Sie im folgenden sehen werden, eine erhebliche<br />

Verbesserung erreichen.<br />

2.1.4 Verfahren von Heun<br />

Eine intuitiv naheliegende Verbesserung erhält man, wenn man die Tangente im Euler-<br />

Verfahren durch ein Trapez ersetzt, d.h.<br />

yj+1 = yj + h�<br />

f(xj, yj) + f(xj+1, yj+1)<br />

2<br />

� + O(h 3 ). (2.10)<br />

Allerdings erscheint auf der rechten Seite die zu berechnende Stützstelle j + 1, die noch<br />

nicht bekannt ist. Das Verfahren von Heun umgeht dieses Problem, indem der Funktionswert<br />

yj+1 an der rechten Stützstelle zunächst mit dem Euler-Verfahren durch einen<br />

näherungsweisen Prädikator abgeschätzt wird:<br />

p j+1] := yj + hf(xj, yj) . (2.11)<br />

Dieser Prädikator wird in die obige Trapezregel eingesetzt <strong>und</strong> mit dem Ergebnis anschließend<br />

eine verbesserte Abschätzung, der sogenannte Korrektor, berechnet:<br />

yj+1 := yj + h�<br />

f(xj, yj) + f(xj+1, pj+1)<br />

2<br />

�<br />

(2.12)<br />

pj+1 := f(xj+1, yj+1) . (2.13)<br />

Diese beiden Schritte werden so lange wiederholt, bis die Zahlenwerte der beteiligten<br />

Größen stationär sind, sich also nicht weiter verändern.<br />

1 Diese Notation drückt aus, dass der Fehler <strong>für</strong> h → 0 asymptotisch wie h 2 skaliert. Dieser Fehler<br />

bezieht sich auf einen einzigen Integrationsschritt mit Schrittweite h. Der akkumulierte Fehler auf<br />

einem Integrationsintervall konstanter Breite skaliert mit einer um 1 geringeren Potenz.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


10 Differentialgleichungen<br />

Abbildung 2.1: Euler- <strong>und</strong> Runge-Kutta-Iteration zweiter Ordnung. Die schwarze Kurve stellt die<br />

gesuchte (wirkliche) Lösungsfunktion y(x) dar. Die Iteration startet bei einer Stützstelle<br />

(xj, yj) <strong>und</strong> berechnet (xj+1, yj+1). Beim Euler-Verfahren (links) wird im linken<br />

Punkt die Steigung der Tangente (rote gestrichelte Linie) bestimmt <strong>und</strong> ein linearer<br />

Vorwärtsschritt (roter Pfeil) entlang der Tangente vorgenommen. Wie man sehen<br />

kann, ergibt sich bei gekrümmten Lösungsfunktionen ein erheblicher Fehler (gelber<br />

Balken). Beim Runge-Kutta-Verfahren zweiter Ordnung (rechts) wird zunächst eine<br />

Euler-Iteration mit halber Schrittweite (roter Pfeil) vorgenommen <strong>und</strong> im Zielpunkt<br />

die Steigung ermittelt (blaue gestrichelte Linie). Danach wird diese Steigung <strong>für</strong> den<br />

Iterationsschritt mit voller Schrittweite verwendet (blauer Pfeil). Wie man sehen kann,<br />

ist die Genauigkeit dieses Verfahrens erheblich größer.<br />

2.1.5 Runge-Kutta-Verfahren<br />

Das Verfahren von Heun gehört zur Gruppe der sogennanten Runge-Kutta-Verfahren.<br />

Diese Gruppe umfasst nicht nur das Euler-Verfahren (RK1), sondern auch weitere Standardverfahren<br />

(RK2,RK4,...), die ohne eine Iterationsschleife auskommen <strong>und</strong> mit denen<br />

man mit nur sehr geringem Aufwand die Genauigkeit <strong>und</strong> Effizienz einer numerischen<br />

Iteration erheblich steigern kann. Je nach Skalierungsverhalten des Fehlers unterscheidet<br />

man Runge-Kutta-Verfahren unterschiedlicher Ordnungen. Der einfachste Fall ist das<br />

Runge-Kutta-Verfahren 2. Ordnung RK2, das bereits erheblich genauer als das Euler-<br />

Verfahren ist.<br />

Dem Runge-Kutta-Verfahren 2. Ordnung liegt anschaulich die Idee zugr<strong>und</strong>e, die Steigung<br />

der Sekante von Stützstelle zu Stützstelle nicht wie beim Euler-Verfahren durch die<br />

Tangente im linken Punkt zu nähern, sondern die Steigung in der Mitte der beiden Stützstellen<br />

zu benutzen. Dazu tastet man sich zunächst um einen halben Iterationsschritt h/2<br />

bis zur Mitte vorwärts, ermittelt dort mit Hilfe der Funktion f die Steigung der Tangente<br />

<strong>und</strong> benutzt diese als Näherung <strong>für</strong> die Steigung der Sekante. Dieses Vorgehen ist<br />

schematisch in Abb. 2.3 dargestellt.<br />

Das Runge-Kutta-Verfahren 2. Ordnung ist mit der Iterationsvorschrift<br />

�<br />

yj+1 = yj + hf xj + h<br />

2 , yj + h<br />

2 f(xj,<br />

�<br />

yj) + O(h 3 ). (2.14)<br />

nur unwesentlich komplizierter als das Euler-Verfahren. Die Iteration kostet etwas mehr<br />

Zeit, da insbesondere die Funktion f zweimal ausgewertet werden muss, da<strong>für</strong> skaliert<br />

der Fehler jedoch mit der Ordnung O(h 3 ). Es kann also bei gleicher Genauigkeit mit<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.1 Gewöhnliche Differentialgleichungen 11<br />

größeren Schrittweiten gearbeitet werden. Das Runge-Kutta-Verfahren – wie das Euler-<br />

Verfahren in nur einer Zeile zu schreiben – bringt also einen erheblichen Genauigkeits<strong>und</strong><br />

Geschwindigkeitsgewinn.<br />

Auf ähnliche Weise kann man Runge-Kutta-Verfahren höherer Ordnungen definieren.<br />

Ein Runge-Kutta-Verfahren k-ter Ordnung konvergiert bei abnehmender Schrittweite mit<br />

einem Fehler O(h k+1 ). Allerdings sind solche Verfahren höherer Ordnung nicht eindeutig<br />

definiert, es gibt also nicht das Runge-Kutta-Verfahren k-ter Ordnung, sondern eine<br />

Vielzahl solcher Näherungen.<br />

In der Praxis bringt die Erhöhung der Ordnung zunächst eine deutliche Verbesserung<br />

mit sich. Erhöht man die Ordnung aber zu stark, erhöht sich einerseits die Komplexität<br />

des Algorithmus, andererseits kann es zu numerischen Instabilitäten bei zu großer<br />

Schrittweite kommen. Ein guter Kompromiss, der sich in der Praxis bewährt hat, ist das<br />

Runge-Kutta-Verfahren 4. Ordnung, das auch als klassisches Runge-Kutta-Verfahren be-<br />

kannt ist:<br />

� �<br />

k1 := h f xj, yj<br />

k2 :=<br />

�<br />

h f xj + h<br />

2 , yj + k1<br />

k3 :=<br />

�<br />

2<br />

�<br />

h f xj + h<br />

2 , yj + k2<br />

�<br />

�<br />

2<br />

�<br />

k4 := h f xj + h, yj + k3<br />

yj+1 := yj + k1<br />

6<br />

+ k2<br />

3<br />

+ k3<br />

3<br />

+ k4<br />

6<br />

Bei einem Differentialgleichunssystem sind yj, ki, f mit Vektorpfeilen zu versehen.<br />

2.1.6 Fehlerabschätzung<br />

(2.15)<br />

Der Fehler eines numerischen Runge-Kutta-Integrators ist leicht zu bestimmen, wenn<br />

man bereits die exakte Lösung der Differentialgleichung kennt. Wie aber kann man den<br />

Fehler abschätzen, wenn die exakte Lösung nicht bekannt ist?<br />

Eine sehr einfache Methode ist das Halbschrittverfahren. Dazu wird ein ganzer Iterationsschritt<br />

yj+1 = RKh(yj) mit zwei Halbschritten ˜yj+1 = RK h/2(RK h/2(yj)) verglichen.<br />

Bezeichnet man die entsprechenden Fehler mit<br />

∆ = |yj+1 − y exakt<br />

j+1 | , ˜ ∆ = |˜yj+1 − y exakt<br />

j+1 | , (2.16)<br />

so ist offenbar ˜ ∆ wegen der feineren Schrittweite vom Betrag kleiner als ∆. Man nutzt nun<br />

aus, dass die Fehler bei einem Runge-Kutta-Verfahren k-ter Ordnung wie h k+1 skalieren,<br />

d.h.<br />

∆ � a h k+1 , ˜ ∆ � 2a (h/2) k+1 , (2.17)<br />

wobei a eine unbekannte Proportionalitätskonstante ist. Mit den beiden Gleichungen<br />

lässt sich wegen<br />

yj − ˜yj = ∆ − ˜ ∆ = a(1 − 2 −k )h k+1 = (1 − 2 −k )∆ (2.18)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


12 Differentialgleichungen<br />

der Proportionalitätsfaktor a eliminieren <strong>und</strong> man erhält:<br />

∆ = yj − ˜yj<br />

. (2.19)<br />

1 − 2−k Eine einfache Möglichkeit der Fehlerkontrolle besteht also darin, in regelmäßigen Abständen,<br />

etwa bei jedem h<strong>und</strong>ertsten Iterationsschritt, den Fehler mit der beschriebenen<br />

Methode abzuschätzen <strong>und</strong> ggf. bei Überschreitung eines vorgegebenen Maximalfehlers<br />

die Schrittweite zu halbieren.<br />

2.1.7 Dynamische Schrittweitenkontrolle *<br />

Oft ist es so, dass in bestimmten Regionen des Phasenraums sehr genau iteriert werden<br />

muss, während in anderen Regionen eine großzügige Schrittweite ausreicht. Dies ist<br />

schon der Fall bei der Iteration einer stark exzentrischen Planetenumlaufbahn: In der<br />

Nähe des Zentralgestirns (Perihel) benötigt man eine sehr kleine Schrittweite, weil sich<br />

der Planet sehr schnell bewegt <strong>und</strong> stark beschleunigt wird, während im Aphel eine grobe<br />

Schrittweite ausreicht. Wünschenswert ist hier ein Algorithmus, der die Schrittweite dynamisch<br />

anpasst. Außerdem soll die Anpassung schnell erfolgen <strong>und</strong> nicht nur in großen<br />

Abständen, wie z.B. in dem oben beschrieben Fehlerabschätzungsverfahren. Andererseits<br />

möchte man aber auch nicht in jedem Update das Halbschrittverfahren anwenden, da es<br />

den Rechenaufwand verdreifachen würde.<br />

Ein Verfahren, das den Fehler unmittelbar aus den berechneten Hilfswerten ki berechnet<br />

<strong>und</strong> dynamisch die Schrittweite anpasst, ist das Runge-Kutta-Fehlberg-Verfahren 4.<br />

Ordnung (auch RKF45 genannt):<br />

� �<br />

k1 := h f<br />

xj, yj<br />

k2 :=<br />

�<br />

h f xj + 1<br />

4 h, yj + 1<br />

4 k1<br />

k3 :=<br />

�<br />

�<br />

h f xj + 3<br />

8 h, yj + 3<br />

32 k1 + 9<br />

32 k2<br />

k4 :=<br />

�<br />

�<br />

h f xj + 12<br />

13 h, yj + 1932<br />

2197 k1 − 7200<br />

2197 k2 + 7296<br />

2197 k3<br />

k5 :=<br />

�<br />

�<br />

h f xj + h, yj + 439<br />

216 k1 − 8k2 + 3680<br />

513 k3 − 845<br />

4104 k4<br />

k6 :=<br />

�<br />

�<br />

h f xj + 1<br />

2 h, yj − 8<br />

27 k1 + 2k2 − 3544<br />

2565 k3 + 1859<br />

4104 k4 − 11<br />

40 k5<br />

�<br />

yj+1 := yj + 25<br />

216 k1 + 1408<br />

2565 k3 + 2197<br />

4104 k4 − 1<br />

5 k5<br />

(2.20)<br />

Da man mehr Zwischenwerte hat, als man zur Berechnung von yj+1 braucht, kann man<br />

eine bessere Abschätzung 5. Ordnung ausrechnen:<br />

zj+1 := yj + 16<br />

135 k1 + 6656<br />

12825 k3 + 28561<br />

56430 k4 − 9<br />

50 k5 + 2<br />

55 k6 . (2.21)<br />

Ist ɛ die voreingestellte Sollfehlertoleranz, so führt man nach dem Update eine Anpassung<br />

der Schrittweite mit der Zuweisung<br />

�<br />

ɛh<br />

�1/4 h := h<br />

(2.22)<br />

2|zj+1 − yj+1|<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.1 Gewöhnliche Differentialgleichungen 13<br />

Abbildung 2.2: Euler-Iteration (rot) <strong>und</strong> Runge-Kutta-Iteration 2. Ordnung (grün) des Zweikörperproblems.<br />

Gezeigt ist in beiden Fällen eine Iteration von 10 6 Zeitschritten mit Schrittweite<br />

h = 0.1. Die dimensionslosen Parameter sind g = 100, �r(0) = (400, 0) <strong>und</strong><br />

�v(0) = (0, 0.2). Wie man sehen kann, führt das Euler-Verfahren zu erheblichen Fehlern<br />

<strong>und</strong> insbesondere zu einer stetigen Zunahme der Energie, während die Fehler des<br />

Runge-Kutta-Verfahrens mit dem bloßen Auge nicht zu erkennen sind.<br />

durch, wobei mit entsprechenden Abfragen sicherzustellen ist, dass der Nenner ungleich<br />

Null ist <strong>und</strong> h einen bestimmten Maximalwert nicht überschreitet.<br />

2.1.8 Anwendung auf physikalische Probleme<br />

Eine einfache physikalische Anwendung ist die Iteration einer Planetenbewegung. Zwei<br />

Himmelskörper bewegen im R 3 im wechselseitigen Gravitationspotential<br />

V (r) = −G m1m2<br />

r<br />

, (2.23)<br />

wobei G = 6.67 × 10 −11 m 3 s −2 kg −1 die Newtonsche Gravitationskonstante ist. Die Bewegungsgleichung<br />

<strong>für</strong> den Relativvektor �r = �r2 − �r1 lautet<br />

µ ¨ �r(t) = −G m1m2�r(t)<br />

r 3 , (2.24)<br />

wobei µ = m1m2/(m1 + m2) die reduzierte Masse ist. Indem man die Konstanten auf die<br />

rechte Seite bringt <strong>und</strong> zusammenfasst, hat man also die Bewegungsgleichung<br />

¨�r(t) = −g �r(t)<br />

r 3<br />

(2.25)<br />

zu lösen. Da man weiß, dass Bewegungen in Zentralpotentialen in einer Ebene stattfinden,<br />

reicht es aus, das Problem im R 2 zu behandeln.<br />

Zunächst überführen wir die obige Differentialgleichung zweiter Ordnung in ein System<br />

von zwei (jeweils zweikomponentigen) Differentialgleichungen erster Ordnung, indem<br />

wir {�r(t), ˙ �r(t)} = {�r(t), �v(t)} als einen vierkomponentigen Vektor auffassen. Ein<br />

Euler-Zeitschritt wird dann durch die Iterationsvorschrift<br />

�r(t + h) := �r(t) + h�v(t) (2.26)<br />

�v(t + h) := �v(t) − hg�r(t)/|�r(t)| 3<br />

beschrieben. Das Ergebnis ist <strong>für</strong> eine bestimmte Parameterwahl in Abb. 2.2 dargestellt.<br />

Wie man sehen kann, bewegt sich der Planet nicht auf der theoretisch vorhergesagten<br />

geschlossenen ellipsenförmigen Bahn, sondern entfernt sich zunehmend.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


14 Differentialgleichungen<br />

Ein sehr viel besseres Ergebnis mit nur geringem Mehraufwand erzielt man mit dem<br />

Runge-Kutta-Verfahren 2. Ordnung. Für das Planetenproblem lautet die Iterationsvorschrift<br />

� k1 := h�v(t) (2.27)<br />

� l1 := −hg �r(t)<br />

|�r(t)| 3<br />

�k2 :=<br />

�<br />

h �v(t) + 1<br />

2 � �<br />

l1<br />

�l2 :=<br />

1 �r(t) + 2 −hg �k1 �<br />

�<br />

��r(t) + 1<br />

�<br />

�<br />

� 3<br />

2 � k1<br />

(2.28)<br />

�r(t + h) := �r(t) + � k2 (2.29)<br />

�v(t + h) := �v(t) + � l2<br />

Wie man in Abb. 2.2 sehen kann, ist das Ergebnis im Vergleich zum Euler-Verfahren<br />

erheblich besser. Natürlich weist aber auch dieses Verfahren noch erhebliche Fehler auf.<br />

Eine Mondlandung sollte man damit lieber nicht vorausberechnen, sondern sich die Mühe<br />

machen, RKF45 zu implementieren.<br />

2.1.9 Die Rolle von Symmetrien <strong>und</strong> Erhaltungsgrößen<br />

Auch bei anderen Zentralpotentialen, welche im Gegensatz zu 1/r- <strong>und</strong> r 2 -Potentialen<br />

zu nicht geschlossenen Trajektorien führen, würde man die durch das Euler-Verfahren<br />

erzeugten Fehler sofort erkennen können. Der Planet entfernt sich nämlich vom Zentralgestirn,<br />

nimmt also Energie auf, was der Energieerhaltung widerspricht.<br />

Es ist eine empirische Tatsache, dass bei physikalischen Fragestellungen vor allem jene<br />

numerischen Fehler eines Iterationsverfahren zu Problemen führen, welche die Erhaltungsgrößen<br />

<strong>und</strong> Symmetrien des Systems verletzen. Das ist plausibel, denn physikalisch<br />

interessante Eigenschaften werden ja in der Regel gerade durch diese Symmetrien <strong>und</strong><br />

Erhaltungsgrößen bestimmt. Daraus ergibt sich folgende empirische Faustregel:<br />

Für die numerische Iteration physikalischer<br />

Probleme sind gr<strong>und</strong>sätzlich Iterationsalgorithmen<br />

zu bevorzugen, welche die Erhaltungsgrößen <strong>und</strong><br />

Symmetrien des Systems respektieren.<br />

Iterationsvorschriften, welche die Erhaltungsgrößen <strong>und</strong> Symmetrien eines Systems respektieren,<br />

werden oft als symplektische Algorithmen bezeichnet. Die Bezeichnung stammt<br />

aus der klassischen Mechanik, da die Hamiltonschen Bewegungsgleichung unter der Gruppe<br />

der symplektischen Transformationen invariant sind.<br />

Ein bekanntes Beispiel ist der sogenannte leapfrog-Algorithmus <strong>für</strong> die Iteration von<br />

Newtonschen Bewegungsgleichungen. Er unterscheidet sich von einer einfachen Euler-<br />

Iteration nur dadurch, dass die Geschwindigkeiten zu halben Zeitschritten, die Position<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.1 Gewöhnliche Differentialgleichungen 15<br />

Abbildung 2.3: Einschritt- <strong>und</strong> Mehrschrittverfahren. Iterationsalgorithmen kann man sich als gleitende<br />

Automaten vorstellen, die auf einer Zahlenfolge {yj} den jeweils nächsten Wert<br />

(hier y4) erzeugen. Bei einem Einschrittverfahren wie z.B. dem Runge-Kutta-Verfahren<br />

zweiter Ordnung (RK2) benötigt dieser Automat nur den jeweils vorangegangenen y-<br />

Wert, ruft aber da<strong>für</strong> die Funktion f mehrfach auf. Ein Mehrschrittverfahren wie die<br />

Adams-Bashforth-Methode (AB) benötigt mehrere y-Werte der Folge, ruft aber da<strong>für</strong><br />

die Funktion f nur einmal auf.<br />

dagegen zu ganzen Zeitschritten iteriert wird. Die Iterationsvorschrift lautet:<br />

�r(t + h) := �r(t) + h�v(t + h/2) (2.30)<br />

�v(t + h/2) := �v(t − h/2) − hg�r(t)/|�r(t)| 3<br />

Im Gegensatz zum Euler-Verfahren ist dies jedoch bereits ein Iterationsverfahren zweiter<br />

Ordnung (Übung). Man kann zeigen, dass der leapfrog-Algorithmus als exakte Symmetrie<br />

das differentielle Phasenraumvolumen erhält. Die Energie ist allerdings, wie man sich<br />

leicht überzeugen kann, nicht exakt erhalten, jedoch kann man zeigen, dass die Energie<br />

nach jeweils einem Umlauf des Planeten wieder an den ursprünglichen Wert zurückkehrt.<br />

Die Energie oszilliert also nur geringfügig um den konstanten Sollwert. In diesem Sinne<br />

ist der leapfrog-Algorithmus <strong>für</strong> geschlossene Bahnen auch energieerhaltend.<br />

Iteriert man die oben beschriebene Planetenbewegung numerisch, so erhält man in der Tat<br />

ellipsenförmige Bahnen, deren Halbachsen ihre Länge nicht ändern. Allerdings wandert<br />

die Ellipse langsam um das Zentralgestirn herum. Der Runge-Lenz-Vektor rotiert also.<br />

Das ist nicht allzu überraschend, denn dieser Vektor repräsentiert eine weitere wichtige<br />

Erhaltungsgröße der Bahnbewegung im 1/r-Potential, die aber offenbar von dem leapfrogupdate<br />

nicht respektiert wird.<br />

2.1.10 Mehrschrittverfahren *<br />

Die bisher behandelten numerischen Verfahren zur Lösung von Differentialgleichungen<br />

sind sogenannte Einschrittverfahren, d.h. zur Berechnung der nächsten Stützstelle yj+1<br />

muss man nur die jeweils zuletzt berechnete Stützstelle yj kennen. Bei Verfahren höherer<br />

Ordnung steigt der Rechenaufwand durch mehrfache Aufrufe der Funktion f(x, y),<br />

z.B. wird bei einem Runge-Kutta-Verfahren k-ter Ordnung diese Funktion <strong>für</strong> jeden Iterationsschritt<br />

genau k-mal aufgerufen. Einschrittverfahren sind also besonders effizient,<br />

wenn die Funktion f(x, y) nur wenig CPU-Zeit verbraucht.<br />

Oft verschlingt aber gerade die Funktion f(x, y) besonders viel Rechenzeit, insbesondere<br />

wenn trigonometrische Funktionen, Logarithmen, Rekursionen oder approximierte Reihen<br />

darin vorkommen. In diesem Fall bieten sich sogenannte Mehrschrittverfahren an.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


16 Differentialgleichungen<br />

Hier wird die Funktion f(x, y) pro Iterationsschritt nur einmal aufgerufen, während die<br />

Fehlerordnung dadurch verbessert wird, dass man nicht nur die jeweils letzte Stützstelle<br />

yj, sondern auch die vorangehenden yj−1, yj−2, . . . , yj−M+1 bzw. die Funktionswerte von<br />

f an diesen Stellen <strong>für</strong> den Update mit einbezieht, wobei M > 0 eine ganze Zahl ist.<br />

Diese Werte müssen nicht neu berechnet, sondern lediglich zwischengespeichert werden.<br />

Eine wichtige Rolle spielen lineare Mehrschrittverfahren, die sich in der generischen Form<br />

M−1 �<br />

k=0<br />

�<br />

M−1<br />

akyj−k = h<br />

k=0<br />

bkf(xj−k, yj−k) (2.31)<br />

schreiben lassen, wobei die Koeffizienten ai, bi das Verfahren bestimmen. Diese müssen<br />

konsistent sein in dem Sinne, dass das Verfahren <strong>für</strong> h → 0 gegen die exakte Lösung<br />

konvergiert. Wenn man die obige Iterationsformel nach yj auflösen kann, spricht man<br />

von einem expliziten, andernfalls von einem impliziten Mehrschrittverfahren. Eines der<br />

bekanntesten expliziten Verfahren ist die Adams-Bashforth-Methode mit zwei oder drei<br />

Schritten:<br />

�<br />

3<br />

yj+1 = yj + h<br />

2 f(xj, yj) − 1<br />

2 f(xj−1,<br />

�<br />

yj−1)<br />

(2.32)<br />

�<br />

23<br />

yj+1 = yj + h<br />

12 f(xj, yj) − 16<br />

12 f(xj−1, yj−1) + 5<br />

12 f(xj−2,<br />

�<br />

yj−2) . (2.33)<br />

2.2 Partielle Differentialgleichungen<br />

Partielle Differentialgleichungen treten immer dann auf, wenn ein Problem durch mehrere<br />

unabhängige Variablen beschrieben wird. In der <strong>Physik</strong> ist das immer der Fall, wenn<br />

Funktionen wie z.B. Felder oder Dichten auf dem dreidimensionalen Raum oder auf der<br />

3+1-dimensionalen Raumzeit untersucht werden. Formal erkennt man partielle Differentialgleichungen<br />

an partiellen Ableitungen. Ein klassisches Beispiel ist die Wellengleichung<br />

∂ 2<br />

∂t 2 φ(�x, t) − c2 ∇ 2 φ(�x, t) = 0 (2.34)<br />

oder kurz (∂ 2 t + c 2 ∇ 2 )φ = 0, wobei ∇ = (∂x, ∂y, ∂z) der Gradient, ∇ 2 = ∂ 2 x + ∂ 2 y + ∂ 2 z<br />

der Laplacian, φ(�x, t) ein skalares Feld <strong>und</strong> c die Lichtgeschwindigkeit ist. Ein weiteres<br />

Beispiel ist die Wärmeleitungsgleichung<br />

∂<br />

∂t ϱ(�x, t) = D∇2 ϱ(�x, t) (2.35)<br />

mit der Diffusionskonstanten D, die erster Ordnung in der Zeit <strong>und</strong> damit irreversibel<br />

ist. Formal äquivalent bis auf ein komplexes i ist die Schrödingergleichung<br />

i� ∂<br />

�2<br />

ψ(�x, t) = −<br />

∂t 2m ∇2ψ(�x, t) (2.36)<br />

die ebenfalls erster Ordnung in der Zeit ist, jedoch unter Komplexkonjugation reversibel<br />

ist.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.2 Partielle Differentialgleichungen 17<br />

Im Gegensatz zu gewöhnlichen Differentialgleichungen, deren Lösung durch Anfangswerte<br />

vollständig determiniert ist, benötigen partielle Differentialgleichungen analoge Restriktionen<br />

in den räumlichen Freiheitsgraden, die als Randwerte bezeichnet werden. Man<br />

muss also in der Regel sowohl die Anfangs- als auch die Randbedingungen spezifizieren.<br />

Der Ton eine Trommel hängt eben nicht nur vom Schlag, sondern auch von ihrer Form<br />

ab. 2<br />

2.2.1 Konzept der Quantenmechanik kurz gefasst<br />

In der klassischen Mechanik ist ein System zu jeder Zeit in einem definitiven Zustand.<br />

Beispielsweise befindet sich ein Punktteilchen zu jeder Zeit t an einem ganz bestimmten<br />

Ort �x(t) <strong>und</strong> besitzt einen bestimmten Impuls �p(t). Der Systemzustand (also Ort <strong>und</strong><br />

Impuls) ist objektive Realität, also zu jeder Zeit eine unabhängig vom Beobachter existierende<br />

Wirklichkeit. Kern der Quantentheorie ist dagegen eine radikale Abkehr vom<br />

Konzept der objektiven Realität. Die beobachterunabhängige Wirklichkeit gibt es nicht<br />

mehr, vielmehr entsteht Wirklichkeit erst im Moment der Beobachtung, also der Messung<br />

einer Eigenschaft. Ein Teilchen ist also erst dann an einem bestimmten Ort, wenn ich die<br />

entsprechende Frage an das Teilchen stelle, also eine Ortsmessung durchführe.<br />

Aber was heißt es, nicht an einem bestimmten Ort zu sein?<br />

Könnte es nicht sein, dass das Teilchen in Wirklichkeit doch<br />

immer an einem bestimmten Ort ist, dass man vor der Messung<br />

nur nicht weiss, wo es ist? Nein, denn das wäre ledigleich<br />

eine unvollständige Kenntnis des Beobachters. Die<br />

quantenmechanische Unbestimmtheit ist dagegen eine Eigenschaft<br />

des Teilchens selbst, ein potentielles nicht-realsein.<br />

Keine Sorge: Wenn Sie damit Verständnisprobleme haben,<br />

sind Sie in bester Gesellschaft.<br />

Quelle: Uni Oldenburg<br />

In der klassischen Mechanik geht man davon aus, dass man Ort <strong>und</strong> Impuls eines Teilchen<br />

messen kann ohne dabei das Teilchen zu beeinflussen, dass man also den Systemzustand<br />

rückwirkungsfrei bestimmen kann. In der Quantenmechanik ist das im Allgemeinen nicht<br />

möglich. Wird nämlich das System durch Messung gezwungen, eine Frage zu beantworten,<br />

so muss es sich <strong>für</strong> eine Antwort entscheiden <strong>und</strong> wird durch diesen Entscheidungsprozess<br />

selbst verändert.<br />

Hat sich das System erstmal <strong>für</strong> eine Antwort entschieden, also eine Realität bezüglich<br />

einer Frage hergestellt, wird es bei dieser Entscheidung bleiben, wenn man unmittelbar<br />

darauf die gleiche Frage noch einmal stellt. Findet man beispielsweise das Teilchen<br />

durch Ortsmessung am Ort �x, wird es bei einer unmittelbar darauf folgenden zweiten<br />

Ortsmessung immer noch am Ort �x sein. Stellt man aber eine andere Frage, so wird<br />

die zuvor geschaffene Realität teilweise oder ganz zerstört. Durch eine Impulsmessung<br />

vergisst das Teilchen seinen Aufenthaltsort, durch eine Ortsmessung seinen Impuls. Man<br />

sagt in diesem Fall, dass die Messungen nicht kommutieren.<br />

2 “Can One Hear the Shape of a Drum?” , fragte der Mathematiker Mark Kac im Jahre 1966. Zweifellos<br />

bestimmt die Form der Trommel deren Klang, aber können wir am Klangspektrum die Form rekonstruieren?<br />

Erst 1992 gelang der Beweis: Falls die Form konvex <strong>und</strong> analytisch ist, ist die Antwort<br />

positiv, im allgemeinen trifft die Behauptung aber nicht zu.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


18 Differentialgleichungen<br />

Bemerkung: In der Praxis wird der Impuls nur mit einer endlichen Auflösung ∆p ge-<br />

messen. In diesem Fall vergisst das Teilchen seinen Aufenthaltsort nur teilweise in einem<br />

Toleranzbereich ∆x, gegeben durch die Heisenbergsche Unschärferelation ∆x∆p = �/2.<br />

2.2.2 Die Schrödingergleichung<br />

Zum Glück wird die Quantenmechanik trotz ihrer begrifflichen Schwierigkeiten durch<br />

einen recht einfachen mathematischen Formalismus beschrieben. Der quantenmechanische<br />

Zustand eines Punktteilchens wird durch eine komplexwertige Wellenfunktion<br />

ψ(�x) ∈ C charakterisiert. Bei einer Messung des Aufenthaltsortes ist die Wahrscheinlichkeit<br />

(genauer: Wahrscheinlichkeitsdichte) <strong>für</strong> das Messergebnis �x durch<br />

ρ(�x) = ψ ∗ (�x)ψ(�x) (2.37)<br />

gegeben. Die Wellenfunktion stellt die maximale Kenntnis dar, die man über ein System<br />

besitzen kann, ist also eine vollständige Beschreibung des quantenmechanischen Zustands<br />

des Systems.<br />

Ähnlich wie sich ein klassisches Teilchen bewegt, sich also sein Zustand (�x, �p) als Funktion<br />

der Zeit verändert, unterliegt auch der quantenmechanische Zustand ψ(�x, t) einer<br />

Zeitentwicklung. Diese Zeitentwicklung wird durch eine partielle Differentialgleichung beschrieben.<br />

Man erhält sie per Kochrezept, indem man in der Energie-Impuls-Beziehung<br />

die formale Ersetzung<br />

E → i�∂t , �p → −i�∇ (2.38)<br />

durchführt <strong>und</strong> dann beide Seiten auf die Wellenfunktion wirken lässt. Für die Energie-<br />

Impuls-Beziehung eines Teilchens in einem Potential<br />

erhält man so die (zeitabhängige) Schrödingergleichung<br />

i�∂tψ(�x, t) =<br />

E = p2<br />

+ V (�x) (2.39)<br />

2m<br />

�<br />

− �2∇2 �<br />

+ V (�x) ψ(�x, t) . (2.40)<br />

2m<br />

Es handelt sich um eine lineare partielle Differentialgleichung von 1. Ordnung in der Zeit<br />

<strong>und</strong> 2. Ordnung in den räumlichen Koordinaten. Bis auf das i ist sie formal äquivalent<br />

zur Wärmeleitungsgleichung. Wenn Ihnen die physikalischen Gr<strong>und</strong>lagen noch nicht so<br />

vertraut sind, können Sie in den folgenden Abschnitten diese Gleichung auch als ein<br />

gegebenes mathemtisches Problem betrachten, das es zu lösen gilt.<br />

2.2.3 Stationäre Schrödingergleichung<br />

Zunächst werden wir den Fall betrachten, in dem die Wahrscheinlichkeitsdichte ρ(x, t) =<br />

ψ ∗ (x, t)ψ(x, t), ein Teilchen am Ort �x zu finden, stationär, also zeitunabhängig ist. In<br />

diesem Fall muss die gesamte Zeitabhängigkeit der Wellenfunktion in einem konstant<br />

rotierenden Phasenfaktor zum Ausdruck kommen, d.h.<br />

ψ(�x, t) = e −iωt ψ(�x) . (2.41)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.2 Partielle Differentialgleichungen 19<br />

Setzt man diesen Ansatz in die Schrödingergleichung ein, wird man auf die zeitunabhängige<br />

Schrödingergleichung<br />

�<br />

− �2<br />

2m ∇2 �<br />

+ V (�x) ψ(�x) = Eψ(�x) (2.42)<br />

geführt, wobei E = �ω ist.<br />

Vom mathematischen Standpunkt aus gesehen ist die stationäre Schrödingergleichung ein<br />

Eigenwertproblem, d.h. wir suchen die Eigenwerte E <strong>und</strong> die Eigenfunktionen ψ(�x) des<br />

linearen Operators − �2<br />

2m∇2 + V (�x). Für bestimmte Spezialfälle wie z.B. <strong>für</strong> den harmonischen<br />

Oszillator V (�x) = 1<br />

2mω2x2 oder das Coulombpotential V (�x) ∝ 1/x kann dieses<br />

Eigenwertproblem exakt gelöst werden. Solche exakt lösbaren Systeme (auch integrable<br />

Systeme genannt) sind aber eher die Ausnahme als die Regel. Schon ein harmonischer<br />

Oszillator mit einer anharmonischen Störung<br />

V (�x) = 1<br />

2 mω2x 2 + λx 4<br />

(2.43)<br />

kann nicht exakt gelöst werden. Hier schlägt die St<strong>und</strong>e der numerischen Integration<br />

per Computer, denn numerische Methoden sind unabhängig von der Integrabilität eines<br />

Systems.<br />

Der Einfachheit halber betrachten wir im Folgenden einen eindimensionalen Raum <strong>und</strong><br />

skalieren die Größen so um, dass die stationäre Schrödingergleichung dimensionslos wird:<br />

ψ ′′ � �<br />

(x) + 2 E − V (x) ψ(x) = 0 ,<br />

� �� �<br />

K(x)<br />

V (x) = 1<br />

2 x2 + λx 4<br />

(2.44)<br />

Durch die Zeitunabhängigkeit <strong>und</strong> Beschränkung auf nur eine Raumdimension haben wir<br />

das Problem auf eine gewöhnliche Differentialgleichung reduziert. Man könnte also z.B.<br />

direkt eines der oben beschriebenen Runge-Kutta-Verfahren einsetzen. Doch wie wählt<br />

man dabei die Anfangsbedingungen?<br />

Hier hilft uns die Symmetrie des Problems. Da das Potential spiegelsymmetrisch ist (d.h.<br />

V (x) = V (−x)) müssen auch die Lösungen der Differentialgleichung bestimmte Symmetrieeigenschaften<br />

erfüllen. Naiv würde man erwarten, dass dann auch ψ(x) symmetrisch<br />

sein müsse. Es ist aber in der Quantentheorie so, dass auch antisymmetrische Wellenfunktionen<br />

möglich sind.<br />

Beweis: Die Spiegelsymmetrie des Potentials impliziert, dass <strong>für</strong> jede Lösung ψ(x) auch<br />

die reflektierte Wellenfunktion ψ(−x) eine Lösung der DGL sein muss. Da normierte Eigenfunktionen<br />

nur bis auf einen Phasenfaktor definiert sind, können sich die beiden Wellenfunktionen<br />

nur durch einen Phasenfaktor unterscheiden, d.h. ψ(x) = e iφ ψ(−x). Wenn<br />

man nun x = 0 setzt, ist folglich entweder φ = 0 oder ψ(0) = 0. Differenziert man die<br />

Gleichung dagegen erst nach x <strong>und</strong> setzt dann x = 0, so erhält man φ = π oder ψ ′ (0) = 0.<br />

Das ergibt vier Kombinationen:<br />

φ = 0 ∧ φ = π unmöglich<br />

φ = 0 ∧ ψ ′ (0) = 0 symmetrische Lösung<br />

φ = π ∧ ψ(0) = 0 antisymmetrische Lösung<br />

ψ(0) = 0 ∧ ψ ′ (0) = 0 ergäbe eine verschwindende Wellenfunktion ψ(x) ≡ 0<br />

Die Symmetrie des Potentials erzwingt also, dass die Lösungen entweder symmetrisch oder<br />

antisymmetrisch sind. In der Tat wechseln sich beim harmonischen Oszillator bei steigender<br />

Energiequantenzahl diese beiden Lösungstypen ab.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


20 Differentialgleichungen<br />

Für symmetrische Wellenfunktionen ist also die “Anfangsbedingung” ψ(0) > 0, ψ ′ (0) = 0<br />

zu wählen, während man bei einer antisymmetrischen Lösung mit ψ(0) = 0, ψ ′ (0) > 0<br />

beginnt. Am Schluss ist das Ergebnis korrekt zu normieren. Mit diesem Vorwissen könnte<br />

man nun eine Runge-Kutta-Integration durchführen. Effizienter ist jedoch das speziell<br />

<strong>für</strong> die Schrödingergleichung angepasste Numerov-Verfahren, das im nächsten Abschnitt<br />

besprochen wird.<br />

2.2.4 Numerov-Verfahren<br />

Das Numerov-Verfahren benutzt zwei unterschiedliche äquidistante Diskretisierungen,<br />

nämlich<br />

• xn := (n − 1<br />

2 )h bei symmetrischen Wellenfunktionen<br />

• xn := nh bei antisymmetrischen Wellenfunktionen<br />

Ziel ist die Lösung der Differentialgleichung<br />

ψ ′′ (x) + K(x)ψ(x) = 0 , (2.45)<br />

wobei in K(x) = E−V (x) der zu bestimmende Energieeigenwert E steckt, siehe Gl. (2.44).<br />

Für die Diskretisierung benutzen wir die Notation<br />

kn := K(xn) , ψn := ψ(xn) , ψ ′ n := ψ ′ (xn) , ψ ′′<br />

n := ψ ′′ (xn) usw. (2.46)<br />

Ausgangspunkt des Numerov-Verfahrens ist die Taylor-Entwicklung<br />

Daraus folgt<br />

ψn±1 = ψn ± hψ ′ n + h2<br />

2 ψ′′ n ± h3<br />

6 ψ′′′ n + h4<br />

24 ψ′′′′ n + O(h 5 ) (2.47)<br />

ψn+1 + ψn−1 = 2ψn + h 2 ψ ′′<br />

n + h4<br />

12 ψ′′′′<br />

n + O(h 6 ) (2.48)<br />

In dieser Formel müssen die zweite <strong>und</strong> die vierte Ableitung geeignet durch ψn, ψn±1<br />

ausgedrückt werden. Für die zweite Ableitung kann man einfach die Schrödingergleichung<br />

ψ ′′<br />

n = −knψn<br />

(2.49)<br />

benutzen. Um die vierte Ableitung auszudrücken, setzt man zunächst ebenfalls die Schrö-<br />

dingergleichung ein (also ψ ′′′′<br />

n = −(knψn) ′′ ) <strong>und</strong> nähert die verbleibende zweite Ableitung<br />

durch den entsprechenden Differenzenquotienten<br />

Dies führt auf die Näherung<br />

ψ ′′<br />

n = ψn+1 − 2ψn + ψn−1<br />

h 2 + O(h 2 ) . (2.50)<br />

ψ ′′′′<br />

n = (−knψn) ′′ � − kn+1ψn+1 − 2knψn + kn−1ψn−1<br />

h 2 . (2.51)<br />

Diese Näherung wird nun in die Gleichung (2.48) eingesetzt, wobei die Terme O(h 6 )<br />

vernachlässigt werden. Man erhält auf diese Weise<br />

ψn+1 + ψn−1 = 2ψn − h 2 knψn − h2<br />

12 (kn+1ψn+1 + kn−1ψn−1) + h2<br />

6 knψn + O(h 6 ) , (2.52)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.2 Partielle Differentialgleichungen 21<br />

Abbildung 2.4: Suchen der Gr<strong>und</strong>zustandsenergie eines anharmonischen Oszillators mit Hilfe des<br />

Numerov-Verfahrens. Je genauer der Eigenwert eingegrenzt wird, desto später divergiert<br />

die Wellenfunktion. Durch den Vorzeichenwechsel kann der Eigenwert iterativ<br />

eingegrenzt werden, wobei die Maschinengenauigkeit Grenzen setzt.<br />

also eine Gleichung, die nach ψn+1 – den in einer Iteration jeweils nächsten zu berechnenden<br />

Wert – aufgelöst werden kann:<br />

ψn+1 � 2ψn (1 − 5h2<br />

12 kn) − ψn−1(1 + h2<br />

12 kn−1)<br />

1 + h2<br />

12 kn+1<br />

(2.53)<br />

Das Numerov-Verfahren ist also eine zweistufige lineare Iteration. Als Anfangsbedingungen<br />

wählt man<br />

ψ0 = 1, ψ1 = 1 <strong>für</strong> symmetrische Lösungen<br />

ψ0 = 0, ψ1 = h <strong>für</strong> antisymmetrische Lösungen (2.54)<br />

Die erste Anfangsbedingung beschreibt eine symmetrische Lösung mit ψ(0) = 1 <strong>und</strong><br />

ψ ′ (0) = 0 während die zweite Anfangsbedingung eine Lösung mit ψ(0) = 0 <strong>und</strong> der<br />

Steigung ψ ′ (0) = 1 beschreibt. Mit diesen Anfangsbedingungen generiert der Algorithmus<br />

eine approximative Lösung der Schrödingergleichung, die anschließend noch normiert<br />

werden muss. Man beachte außerdem, dass die erzeugten ψn reell sind. Das ist nicht<br />

überraschend, da die zeitunabhängige Schrödingergleichung kein i mehr enthält, also<br />

selbst reell ist <strong>und</strong> damit reelle Lösungsfunktionen zulassen muss.<br />

Woraus ergibt sich aber nun die Quantisierung der Energie E in Potentialen wie z.B. in<br />

Gl. (2.43)? Hier kommt die Randbedingung ins Spiel, derzufolge die Wellenfunktion <strong>für</strong><br />

große x verschwinden muss, weil dort die Wahrscheinlichkeit ein Teilchen zu finden gegen<br />

Null geht:<br />

lim ψ(x) = 0 . (2.55)<br />

x→±∞<br />

Da das Numerov-Verfahren als solches diese Randbedingung nicht kennt, kommt es zu<br />

einer Verletzung der Randbedingung, sobald die Energie E nicht genau auf einen Eigenwert<br />

eingestellt ist, <strong>und</strong> zwar divergiert in diesem Fall ψn <strong>für</strong> große n exponentiell. In der<br />

Praxis ist es auf einem Computer sogar unmöglich, den Eigenwert genau zu treffen: Jede<br />

geringste Abweichung in den Nachkommastellen wird irgendwann so stark verstärkt, dass<br />

ψn exponentiell divergiert.<br />

Allerdings ändert sich das Vorzeichen der Divergenz in Abhängigkeit von E. Für Energien<br />

unterhalb der Gr<strong>und</strong>zustandsenergie 0 < E < E0 strebt ψn → +∞, im Intervall<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


22 Differentialgleichungen<br />

E0 < E < E1 dann nach −∞, im nächsten Intervall wieder nach +∞ <strong>und</strong> so fort.<br />

Man kann dieses alternierende Vorzeichen benutzen, um so die Eigenwerte sukzessive zu<br />

approximieren (siehe Abb. 2.4).<br />

Bemerkung: Die approximative Bestimmung der Eigenwerte geschieht ähnlich wie die<br />

numerische Bestimmung von Nullstellen einer Funktion. Sei dazu sgn(E) das Vorzeichen der<br />

Divergenz in Abhängigkeit von E. Zunächst wählt man ein Energieintervall [Emin, Emax],<br />

in dem genau ein Vorzeichenwechsel stattfindet, d.h. sgn(Emin) = −sgn(Emax). Dieses<br />

Intervall wird halbiert bei Ec := (Emin + Emax)/2 <strong>und</strong> das Vorzeichen an dieser Stelle<br />

ermittelt. Ist sgn(Emin) = sgn(Ec), so liegt der Eigenwert nicht in der linken Hälfte <strong>und</strong><br />

wir setzen Emin := Ec, andernfalls setzen wir Emax := Ec. Dieser Prozess wird so lange<br />

wiederholt, bis die Größe des Intervalls die Maschinengenauigkeit erreicht.<br />

Der eindimensionale harmonische Oszillator eignet sich hervorragend, um die abgeschätzten<br />

Energieeigenwerte zu überprüfen. Für gerade Wellenfunktionen erwartet man die<br />

Eigenwerte 1 5 9<br />

3 7 11<br />

2 , 2 , 2 , . . . <strong>und</strong> entsprechend <strong>für</strong> die ungeraden Wellenfunktionen 2 , 2 , 2 . . . .<br />

2.2.5 Zeitabhängige Schrödingergleichung – Modenzerlegung<br />

Im vorherigen Abschnitt haben wir die stationären Lösungen der Schrödingergleichung<br />

bestimmt, bei denen die Wahrscheinlichkeitsdichte, also das Betragsquadrat der Wellenfunktion,<br />

zeitunabhängig ist. Noch interessanter ist es aber, die zeitabhänige Schrödingergleichung<br />

i� ˙ ψ(x, t) = � − �2<br />

2m ∇2 + V (x) � ψ(x, t) . (2.56)<br />

mit einem gegebenen Anfangszustand ψ(x, t)|t=0 := ψ(x, 0) zu untersuchen. Was passiert<br />

mit einem Teilchen, das als Wellenpaket mit einem bestimmten mittleren Impuls dem<br />

Potential ausgesetzt wird? Wird es näherungsweise schwingen wie ein klassisches Teilchen?<br />

Wie wird es an den Potentialwänden reflektiert? Eine numerische Methode, mit<br />

der diese Fragen beantwortet werden können, ist die sogenannte Modenzerlegung. Diese<br />

Methode setzt voraus, dass das zuvor behandelte stationäre Problem lösbar ist, dass also<br />

die Energieeigenwerte Ei <strong>und</strong> die dazugehörigen stationären Wellenfunktionen ψi(x) zur<br />

Verfügung stehen. Eine andere Methode, die von dieser Voraussetzung unabhängig ist,<br />

wird im folgenden Abschnitt besprochen.<br />

Methode der Modenzerlegung<br />

Die Methode der Modenzerlegung3 (engl. mode decomposition) funktioniert folgendermaßen.<br />

Wiederum beschränken uns weiterhin auf ein Teilchen in einem eindimensionalen<br />

Potential <strong>und</strong> setzen voraus, dass das stationäre Eigenwertproblem Hψ = Eψ gelöst<br />

ist, dass also die Eigenfunktionen ψn(x) <strong>und</strong> die dazugehörigen Energieeigenwerte En<br />

bekannt sind. Die Idee besteht nun darin, dass man den Anfangszustand ψ(x, 0) als<br />

Linearkombination der Eigenfunktionen<br />

ψ(x, 0) = �<br />

anψn(x) (2.57)<br />

3 Unter einer Mode versteht man in der <strong>Physik</strong> eine Eigenfunktionen, man spricht z.B. von den Schwingungsmoden<br />

eines mechanischen Systems. Eine Nullmode ist eine Eigenfunktion zum Eigenwert Null.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

n


2.2 Partielle Differentialgleichungen 23<br />

mit zu bestimmenden Koeffizienten an ∈ C darstellt. Weil die Zeitabhängigkeit jeder<br />

Eigenfunktion (vgl. Gl. (2.41)) durch ψ(�x, t) = e−iωtψ(�x) gegeben ist, ist dann die volle<br />

zeitabhängige Lösung durch<br />

ψ(x, t) = �<br />

an e −iωnt ψn(x) (2.58)<br />

n<br />

gegeben, wobei En = �ωn ist. Diese Lösung erfüllt automatisch die Randbedingungen,<br />

da bereits jede der stationären Wellenfunktionen die Randbedingungen respektiert. Hat<br />

man also die Koeffizienten an bestimmt, so steht einem sofort die zeitabhängige Lösung<br />

in Form einer Summe bzw. Reihe über die Eigenmoden zur Verfügung.<br />

Bestimmung der Koeffizienten an<br />

Gl. (2.57) kann als lineares Gleichungssystem <strong>für</strong> die Koeffizienten an interpretiert werden.<br />

Die Lösung dieses linearen Gleichungssystems ist allerdings sehr einfach. Da H<br />

hermitesch ist, sind nicht nur die Eigenwerte reell, sondern auch die (normierten) Eigenvektoren<br />

paarweise orthogonal: 4<br />

� +∞<br />

dx ψ ∗ n(x)ψm(x) = δn,m . (2.59)<br />

−∞<br />

Daraus folgt<br />

� +∞<br />

dx ψ ∗ (x, 0)ψm(x) = �<br />

� +∞<br />

dx anψ ∗ n(x)ψm(x) = �<br />

anδn,m , (2.60)<br />

also<br />

−∞<br />

Beispiel Potentialtopf<br />

an =<br />

n<br />

−∞<br />

� +∞<br />

dx ψ ∗ (x, 0)ψn(x) . (2.61)<br />

−∞<br />

Wir demonstrieren nun die Modenzerlegung am Beispiel des eindimensionalen unendlich<br />

hohen Potentialtopfs<br />

V (x) =<br />

�<br />

0<br />

∞<br />

1<br />

falls |x| < 2<br />

falls |x| ≥ 1<br />

2<br />

. (2.62)<br />

Die Eigenfunktionen lauten<br />

ψn(x) =<br />

mit den dimensionslosen Eigenenergien<br />

� √ 2 cos(nπx) wenn n ungerade<br />

√ 2 sin(nπx) wenn n gerade<br />

En = n 2 π 2<br />

n<br />

(2.63)<br />

n = 1, 2, . . . . (2.64)<br />

4 Der Einfachheit halber nehmen wir hier an, dass keine Entartungen vorliegen. Bei Entartungen sind die<br />

Eigenvektoren in den entsprechenden Unterräumen zu orthogonalisieren, z.B. mit dem Schmidt’schen<br />

Verfahren.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


24 Differentialgleichungen<br />

Die Eigenfunktionen sind reell, so dass man nicht komplex konjugieren muss. Bestimmt<br />

man mit Hilfe von Gl. (2.61) die Koeffizienten an, so ist die zeitabhängige Lösung durch<br />

ψ(x, t) =<br />

+<br />

∞�<br />

a2m exp � −iπ 2 (2m) 2 t � sin � 2mπx �<br />

m=1<br />

∞�<br />

a2m−1 exp � −iπ 2 (2m − 1) 2 t � cos � (2m − 1)πx �<br />

m=1<br />

gegeben, wobei gerade <strong>und</strong> ungerade Anteile getrennt wurden. In der Praxis bestimmt<br />

man allerdings nicht unendlich viele Koeffizienten an, sondern bricht die Reihe nach<br />

einem bestimmten nmax ab <strong>und</strong> approximiert auf diese Weise den Anfangszustand durch<br />

eine Superposition endlich vieler Fourier-Moden. Im folgenden Mathematica R○ -Fragment<br />

werden beispielsweise die ersten 25 Moden eines Wellenpakets berücksichtigt:<br />

psi[n_, x_] := Sqrt[2]*If[EvenQ[n], Sin[n Pi x], Cos[n Pi x]];<br />

Energie[n_] := n^2 Pi^2;<br />

sigma = 0.03; k = 10; nmax = 25;<br />

psi0[x_] := E^(I k x) E^(-(x^2/(2 sigma^2)));<br />

Do[a[n] = Integrate[psi0[x]*psi[n, x], {x, -(1/2), 1/2}], {n, 1, nmax}];<br />

Psi[x_, t_] := Sum[(a[n]*psi[n, x])*E^(I*Energie[n]*t), {n, 1, nmax}];<br />

Plot3D[Abs[Psi[x, t]]^2, {x, -(1/2), 1/2}, {t, 0, 0.022},<br />

PlotRange -> All, PlotPoints -> 30]<br />

In diesem Beispiel wurde die Anfangsbedingung<br />

ψ(x, 0) = e ikx e<br />

1<br />

−<br />

2σ2 x2<br />

(2.65)<br />

benutzt. Der zweite Faktor beschreibt ein bei x = 0 zentriertes Wellenpaket in Form<br />

einer Gausßglocke mit der Breite σ. Durch Multiplikation mit einer ebenen Welle (erster<br />

Faktor) bekommt das Teilchen einen Impuls p = �k, also eine Geschwindigkeit v = �k/m.<br />

Mit Hilfe der Modenzerlegung lässt sich also untersuchen, wie ein solches Wellenpaket,<br />

das als quantenmechanisches Pendant eines lokalisierten klassischen Teilchens aufgefasst<br />

werden kann, an der Wand des Potentialtopfs reflektiert wird.<br />

Die Ausgabe des oben angegebenen Codes ist in Abb. 2.5 zu sehen. Es ist erstaunlich,<br />

dass ein so einfaches Problem derart komplexe Lösungen besitzt. Klar zu erkennen ist das<br />

anfängliche Wellenpaket bei t = 0. Weil verschiedene Fourier-Komponenten dieses Wellenpakets<br />

mit verschiedenen Geschwindigkeiten propagieren, zerfließt dieses Wellenpaket<br />

<strong>und</strong> wird schließlich durch ein Interferenzphänomen an den Wänden reflektiert.<br />

2.2.6 Zeitabhängige Schrödingergleichung – Numerische Integration<br />

Die zuvor beschriebene Methode der Eigenmodenzerlegung setzt zum einen voraus, dass<br />

man die Eigenfunktionen der stationären Schrödingergleichung kennt <strong>und</strong> zum zweiten,<br />

dass man die Anfangsbedingung in diesen Eigenfunktionen entwickeln kann, also das<br />

lineare Problem auf praktische Weise lösbar ist. Nur wenige Beispiele, unter ihnen der<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.2 Partielle Differentialgleichungen 25<br />

Abbildung 2.5: Lösung der zeitabhängigen Schrödingergleichung mit Hilfe der Modenzerlegung <strong>für</strong> ein<br />

freies Teilchen in einem Potentialtopf, das anfangs als Wellenpaket mit einem Impuls<br />

in der Mitte des Topfes platziert wird.<br />

Potentialtopf <strong>und</strong> der harmonische Oszillator, lassen sich so behandeln. Um allgemeinere<br />

Probleme zu behandeln sind numerische Verfahren erforderlich, mit der die Zeitentwicklung<br />

in diskretisierter Form direkt konstruiert wird.<br />

Direkte Bestimmung mit Mathematica R○<br />

Die neueren Versionen von Mathematica R○ sind in der Lage, bestimmte lineare partielle<br />

Differentialgleichungen direkt zu lösen<br />

Man erhält eine Interpolationsfunktion, also eine Menge diskreter Punkte, die untereinander<br />

durch geeignete interpolierende Kurvensegmente verb<strong>und</strong>en sind. Eine 3D-Ausgabe<br />

wie in Abb. 2.5 erhält man dann mit dem Befehl<br />

Plot3D[Abs[f[t, x] /. erg[[1]]]^2, {x, -(1/2), 1/2}, {t, 0, 0.022},<br />

PlotPoints -> 100, PlotRange -> {0, 1}]<br />

Der Vorteil einer solchen direkten Bestimmung ist die einfache Bedienung. Demgegenüber<br />

steht eine gewisse Undurchschaubarkeit der internen Abläufe <strong>und</strong> damit eine erschwerte<br />

Beurteilung der Ergebnisse.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


26 Differentialgleichungen<br />

Abbildung 2.6: Integration der zeitabhängigen Schrödingergleichung in einem eindimensionalen Potentialtopf.<br />

Links: Bei Vorgabe einer Anfangsbedingung (rot) <strong>und</strong> einer Randbedigung<br />

(blau) beschreibt die Schrödingergleichung die Zeitentwicklung der Wellenfunktion<br />

(gelber Farbverlauf). Rechts: Diskretisierung des Problems auf einem Rechner.<br />

Die diskretisierte Differentialgleichung setzt sechs benachbarte Stützstellen, die wie<br />

ein 3x2-Legostein angeordnet sind, in eine lineare Beziehung. Dieser ‘Legostein’ kann<br />

beliebig verschoben werden.<br />

Unitärer Integrationsalgorithmus<br />

Wie integriert man die dimensionslose Schrödingergleichung<br />

i∂tψ(x, t) = (−∂ 2 x + V (x))ψ(x, t) (2.66)<br />

numerisch? Zunächst diskretisiert man die Wellenfunktion<br />

ψ(x, t) −→ ψ j←Ortsindex<br />

n←Zeitindex := ψ(j dx, n dt) (2.67)<br />

wobei dx = 1/N <strong>und</strong> dt die (nicht-infinitesimalen) Diskretisierungsintervalle in Raum<br />

<strong>und</strong> Zeit sind. Dabei laufe der Ortsindex j von 0 bis N, man hat also N + 1 Stützstellen<br />

pro Reihe.<br />

Danach ist die DGL auf geeignete Weise zu diskretisieren. Der erste cheap guess wäre<br />

die Ersetzung der partiellen Ableitungen durch<br />

∂tψ(x, t) −→ ψj n+1 − ψj n<br />

dt<br />

∂ 2 xψ(x, t) −→ ψj+1 n<br />

+ O(dt 2 ) (2.68)<br />

− 2ψ j n + ψ j−1<br />

n<br />

dx 2 + O(dx 3 ) (2.69)<br />

Die so diskretisierte DGL verknüpft die Stützstellen (n, j), (n + 1, j), (n, j ± 1) <strong>und</strong><br />

(n + 1, j ± 1), gleitet also wie ein 3x2 Legostein über das Gitter (siehe Abb. 2.6). Diese<br />

naive Herangehensweise führt aber zu erheblichen Problemen:<br />

(a) Im Gegensatz zu den am Anfang dieses Kapitels behandelten gewöhnlichen Differentialgleichungen<br />

liegt hier kein reines Anfangswert, sondern ein kombiniertes<br />

Anfangs- <strong>und</strong> Randwertproblem vor (siehe Abb. 2.6). Um eine neue horizontale<br />

Reihe zu berechnen, die aus N + 1 Stützstellen von 0..N numerierten Punkten besteht,<br />

kann dieser Legostein N − 2 Positionen einnehmen; da man also nur N − 1<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.2 Partielle Differentialgleichungen 27<br />

Gleichungen pro Zeitschritt zur Verfügung hat, müssen zwei Werte vorgegeben werden,<br />

<strong>und</strong> dies geschieht durch die Dirchlet-Bedingung ψ0 j = ψN j = 0 am linken <strong>und</strong><br />

am rechten Rand. Das Problem besteht darin, dass die beiden Stützstellen weit<br />

voneinander entfernt sind, man kann deshalb nicht die neue Reihe durch einfaches<br />

Rastern von links nach rechts erzeugen.<br />

(b) Die Schrödingergleichung −i�ψ(x, t) = Hψ(x, t) hat die besondere Eigenschaft,<br />

dass die Wahrscheinlichkeitsdichte ρ(x, t) = ψ(x, t)ψ∗ (x, t) mit � ∞<br />

−∞ dx ρ(x, t) = 1<br />

normiert bleibt. Diese Normierung hat den Rang einer Erhaltungsgröße <strong>und</strong> wird<br />

durch die Hermitezität des Hamiltonoperators H = H † gewährleistet. In der formalen<br />

Lösung <strong>für</strong> einen endlichen Zeitschritt<br />

ψ(x, t + dt) = U(dt)ψ(x, t) mit U(dt) = exp(−iHt) (2.70)<br />

entspricht dieser Eigenschaft die Unitarität des Zeitentwicklungsoperators U, d.h.<br />

UU † = U † U = 1. Beim Euler-Verfahren werden nun die höheren Terme der Exponentialfunktion<br />

vernachlässigt, also<br />

U(dt) = exp(−iHt) � (1 − iHdt) + O(dt 2 ). (2.71)<br />

Wie man sich aber leicht überzeugen kann, ist diese Taylornäherung nicht unitär,<br />

denn (1−iHdt)(1−iHdt) † = 1−H 2 dt 2 �= 1. Folglich wird die Normierung während<br />

der Integration weglaufen <strong>und</strong> zu ernsthaften Schwierigkeiten führen. Ähnliches gilt<br />

auch <strong>für</strong> andere Runge-Kutta-Verfahren.<br />

Wir benötigen also einen speziellen Algorithmus, der diese beiden Probleme löst (siehe<br />

[1]). Das Problem der Wahrscheinlichkeitserhaltung bekommt man dadurch in den<br />

Griff, dass man die exakte Zeitentwicklung in zwei Halbschritte aufteilt <strong>und</strong> diese dann<br />

separat entwickelt:<br />

exp(−iHdt) = � exp(iHdt/2) � −1 exp(−iHdt/2) (2.72)<br />

� (1 + iHdt/2) −1 (1 − iHdt/2) + O(dt 3 ) , (2.73)<br />

also U(dt) � A −1 A † mit A = 1 + iHdt/2. Wegen [A, A † ] = 0 gilt<br />

UU † = (A −1 A † ) † (A −1 A † ) = A(A −1 ) † A −1 A † = (A −1 ) † AA −1 A † = 1. (2.74)<br />

d.h. der so konstruierte diskrete Zeitschritt ist exakt unitär, also auf dem Rechner nur<br />

durch die Maschinengenauigkeit begrenzt. Schließlich kann man die inverse Matrix in der<br />

Gleichung U(dt) � A −1 A † durch Multiplikation mit A von links loswerden <strong>und</strong> erhält<br />

AUψ = A † ψ, also ein lineares Gleichungssystem der Form<br />

(1 + iHdt/2)ψ j<br />

n+1 = (1 − iHdt/2)ψj n . (2.75)<br />

Das Problem der Randbedingungen löst man folgendermaßen. Man diskretisiert zunächst<br />

den Hamiltonoperator durch<br />

(Hψ) j n = − 1<br />

(ψj+1<br />

dx2 n − 2ψ j n + ψ j−1<br />

n + V j ψ j n) (2.76)<br />

<strong>und</strong> setzt das Ergebnis in die Formel (2.75) ein. Man erhält<br />

ψ j+1<br />

n+1 +<br />

�<br />

2i dx2<br />

dt − V j dx 2 �<br />

− 2 ψ j<br />

n+1 + ψj−1 n+1 = (2.77)<br />

−ψ j+1<br />

�<br />

n + 2i dx2<br />

dt + V j dx 2 �<br />

+ 2 ψ j n − ψ j−1<br />

n .<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


28 Differentialgleichungen<br />

Bezeichnet man die rechte Seite dieser Gleichung als Ωn j <strong>und</strong> interpretiert man den oberen,<br />

also den räumlichen Index als Komponente eines N + 1-dimensionalen Vektors, so lässt<br />

sich diese Gleichung kompakt in der Form<br />

T � ψn+1 = � Ωn<br />

(2.78)<br />

schreiben, wobei T eine tridiagonale (N + 1) × (N + 1)-Matrix ist. Um das Problem zu<br />

lösen, muss T invertiert werden. Da<strong>für</strong> gibt es in der linearen Algebra Standardverfahren,<br />

die auf folgende Weise algorithmisch umgesetzt werden:<br />

Zunächst beginnt man mit einem linearen Ansatz<br />

ψ j+1<br />

n+1 = aj ψ j<br />

n+1 + bj n<br />

(2.79)<br />

<strong>für</strong> alle zulässigen n, j mit Koeffizienten aj <strong>und</strong> b j n, die man als einen zeitunabhängigen<br />

Vektor �a <strong>und</strong> einen zeitabhängigen Vektor � bn interpretieren kann. Einsetzen dieses<br />

Ansatzes in Gl. (2.77) führt auf<br />

ψ j<br />

n+1 =<br />

�<br />

2 + V j dx 2 − 2i dx2<br />

�−1 �<br />

− aj ψ<br />

dt j−1<br />

n+1 + bjn − Ω j �<br />

n . (2.80)<br />

Diese Gleichung ist linear in ψ j<br />

wir den Index von j nach j − 1:<br />

n+1<br />

<strong>und</strong> ψj−1 n+1 . Um sie mit Gl. (2.79) zu vergleichen, shiften<br />

ψ j<br />

n+1 = ajψ j−1<br />

n+1 + bj−1 n<br />

Durch einen Koeffizientenvergleich dieser beiden Gleichungen gelangt man zu<br />

a j = 2 + V j dx 2 − 2i dx2<br />

dt<br />

− 1<br />

a j−1<br />

(2.81)<br />

(2.82)<br />

b j = Ω j n + bj−1 n<br />

. (2.83)<br />

aj−1 Es handelt sich dabei um zwei Rekursionsformeln. Die erste ist autonom <strong>und</strong> ermöglicht<br />

die Bestimmung von aj. Die zweite Rekursionsformel setzt dieses Ergebnis voraus<br />

<strong>und</strong> ermöglicht damit die Bestimmung von b j n. Was noch fehlt ist die Verankerung der<br />

Rekursion, also Werte <strong>für</strong> a 1 <strong>und</strong> b 1 n.<br />

Um diese Werte zu erhalten, setzt man den Legostein an den linken Rand <strong>und</strong> nutzt aus,<br />

dass ψ 0 n = 0 ist. Die entsprechende Gleichung lautet<br />

ψ 2 �<br />

n+1 + 2i dx2<br />

dt − V 1 dx 2 �<br />

− 2 ψ 1 n+1 = Ω 1 n. (2.84)<br />

Ein enerneuter Vergleich mit dem Ansatz liefert<br />

a 1 = 2 + V 1 dx 2 − 2i dx2<br />

dt , b1 n = Ω 1 n. (2.85)<br />

Mit diesen Startwerten können alle a j <strong>und</strong> b j n rekursiv berechnet werden. Die gesuchte<br />

Wellenfunktion ist dann durch<br />

ψ j<br />

n+1<br />

= ψj+1<br />

n+1 − bj n<br />

a j<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

(2.86)


2.2 Partielle Differentialgleichungen 29<br />

gegeben. Es handelt sich hier ebenfalls um eine Rekursionsformel, die aber im Gegensatz<br />

zu den vorherigen Rerkursionsformeln von rechts nach links läuft <strong>und</strong> am rechten Rand<br />

mit ψ N n = 0 verankert ist. Durch die gegenläufigen Rekursionen wird gewissermaßen eine<br />

Kommunikation der beiden Ränder ermöglicht.<br />

Ein C++-Programm könnte folgendermaßen aussehen. Zunächst benötigt man eine Funktion,<br />

die aus dem aktuellen � ψ den aktuellen Vektor � Ω berechnet:<br />

void BerechneOmega (void)<br />

{<br />

for (int j=2; j


30 Differentialgleichungen<br />

von der Wellenzahl ab. Da ein Wellenpaket eine Superposition von Anteilen mit verschiedener<br />

Wellenzahl ist, besteht es aus Komponenten mit verschiedenen Geschwindigkeiten,<br />

die folglich auseinanderlaufen. Je stärker das Teilchen am Anfang lokalisiert ist, desto<br />

größer ist die Unschärfe im Impuls, also in der Geschwindigkeitsvariation der sich überlagernden<br />

Bestandteile.<br />

Lichtblitze zerfließen nicht, da die Gruppengeschwindigkeit von Licht im Vakuum unabhängig<br />

von der Wellenzahl immer gleich c ist. Alle überlagerten Komponenten bewegen<br />

sich also gleich schnell.<br />

2.3 Aufgaben<br />

Aufgabe 2.1 (Einfaches Beispiel einer Runge-Kutta-Integration)<br />

Betrachten Sie einen Spiegel, der ein von rechts entlang der x-Achse einfallendes paralleles<br />

Licht exakt in den Ursprung des Koordinatensystems reflektiert. Der Spiegel schneidet<br />

die y-Achse bei (x, y) = (0, 1).<br />

a) Bestimmen Sie die Differentialgleichung <strong>und</strong> lösen Sie das Problem analytisch. Wegen<br />

der Radialsymmetrie kann man sich dabei auf die xy-Ebene beschränken.<br />

b) Schreiben Sie ein C-Programm. das eine Euler-Iteration von x=0 bis x=1 durchführt.<br />

c) Führen Sie das Programm <strong>für</strong> Schrittweiten h=1, 0.1, 0.01 <strong>und</strong> 0.001 aus <strong>und</strong><br />

bestimmen Sie den absoluten Fehler im Vergleich zum analytischen Ergebnis.<br />

d) Wiederholen Sie b) <strong>und</strong> c) mit einem Runge-Kutta-Verfahren 2. Ordnung.<br />

Aufgabe 2.2 (Vergleich verschiedener Runge-Kutta-Verfahren)<br />

Gegeben sei die gewöhnliche Differentialgleichung 1. Ordnung<br />

mit der Anfangsbedingung y(0) = 1.<br />

˙y(t) = −y(t) 3<br />

(a) Lösen Sie die Differentialgleichung analytisch. Wie groß ist y(4) ?<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.3 Aufgaben 31<br />

(b) Iterieren Sie die DGL mit den Verfahren RK1 (=Euler), RK2 <strong>und</strong> RK4. Tragen<br />

Sie die gemessenen Abweichungen vom analytischen Resultat zur Zeit t = 4 als<br />

Funktion der Schrittweite h doppellogarithmisch auf (bitte Grafikdatei abgeben).<br />

Aufgabe 2.3 (Runge-Kutta-Integration eines Pendels)<br />

Integrieren Sie mit Hilfe des Runge-Kutta-Verfahrens zweiter Ordnung die Bewegungsgleichung<br />

eines Pendels<br />

¨ϕ(t) + sin ϕ(t) = 0.<br />

• (a)] Bestimmen Sie mit einer hinreichend kleinen konstanten Schrittweite h die<br />

Schwingungsperiode T eines anfänglich horizontal ausgelenkten Pendels, d.h.<br />

˙ϕ(0) = 0, ϕ(0) = π/2.<br />

(b) Numerische Fehler des Runge-Kutta-Algorithmus führen zu einer Verletzung der<br />

Energieerhaltung. Vergleichen Sie die Energien (hier E = 1<br />

2 ˙ϕ2 − cos ϕ) zum Startzeitpunkt<br />

(horizontal ausgelenkt) <strong>und</strong> nach einer Schwingungsperiode <strong>und</strong> tragen<br />

Sie die festgestellte Energiedifferenz grafisch als Funktion der Schrittweite h doppellogarithmisch<br />

auf.<br />

(c) Starten Sie nun das Pendel in der Nähe des oberen Totpunkts ϕ(0) = π − ɛ <strong>und</strong><br />

finden Sie numerisch heraus, wie die Schwingungsperiode T im Limes ɛ → 0 divergiert.<br />

Passen Sie dazu die Schrittweite während der Iteration dynamisch an <strong>und</strong><br />

begründen Sie Ihr Vorgehen.<br />

Aufgabe 2.4 (Lorenz-Attraktor (Vorübung zu chaotischen Systemen))<br />

Gegeben sei das folgende nichtlineare Differentialgleichungssystem 1. Ordnung<br />

˙X(t) = a(Y (t) − X(t))<br />

˙Y (t) = X(t)(b − Z(t)) − Y (t) (2.87)<br />

˙Z(t) = X(t)Y (t) − cZ(t)<br />

mit den Konstanten a = 10, b = 28, c = 8/3.<br />

a) Schreiben Sie ein Programm lorenz.cc, das dieses System mit der Runge-Kutta-<br />

Methode zweiter Ordnung integriert <strong>und</strong> während der Integration die Werte von<br />

X(t) <strong>und</strong> Z(t) in eine Datei mit dem Namen kurve.dat schreibt.<br />

b) Lassen Sie dieses Programm mit der Anfangsbedingung X(0) = Y (0) = Z(0) =<br />

0.001 <strong>und</strong> der Schrittweite h = 0.01 bis zur Zeit t = 100 laufen.<br />

c) Stellen Sie die in kurve.dat gespeicherte Kurve mit Hilfe eines Grafikprogramms,<br />

z.B. mit xmgrace dar. Abgabe: Grafikdatei, z.B. kurve.jpg<br />

d) Wiederholen Sie nun Teil b) mit der ’infinitesimal’ geänderten Anfangsbedingung<br />

X(0) = Y (0) = Z(0) = 0.001000000001 <strong>und</strong> untersuchen Sie, wie sich das Ergebnis<br />

ändert. Zu welcher Zeit t ist die Abweichung dem Betrag nach zum ersten Mal<br />

größer als 1 ?<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


32 Differentialgleichungen<br />

Aufgabe 2.5 (Leapfrog-Algorithmus)<br />

Zeigen Sie, dass das in Gl. (2.30) beschriebene leapfrog-Iterationsverfahren im Gegensatz<br />

zur formal sehr ähnlichen Euler-Iteration ein Verfahren zweiter Ordnung ist. Zeigen Sie<br />

außerdem, dass dieser Algorithmus symplektisch ist, also das differentielle Phasenraumvolumen<br />

bei einem Iterationsschritt exakt erhalten bleibt.<br />

Aufgabe 2.6 (Fehlerbestimmung eines Mehrschrittverfahrens)<br />

Schreiben Sie ein Programm zur Integration der gewöhnlichen Differentialgleichung<br />

˙y(t) = −y(t)<br />

mit der Anfangsbedingung y(0) = 1 mit Hilfe des Dreischrittverfahrens nach Adams <strong>und</strong><br />

Bashforth (siehe Gl. 2.32):<br />

�<br />

23<br />

yj+1 = yj + h<br />

12 f(xj, yj) − 16<br />

12 f(xj−1, yj−1) + 5<br />

12 f(xj−2,<br />

�<br />

yj−2)<br />

Untersuchen Sie mit diesem Programm die Abweichungen von der analytischen Lösung<br />

in Abhängigkeit von der Schrittweite. Welche Fehlerordnung besitzt das Verfahren, d.h.<br />

mit welcher Potenz von h skaliert der Fehler?<br />

Aufgabe 2.7 (Spektrum des Wasserstoffatoms)<br />

Die dreidimensionale zeitunabhängige Schrödingergleichung � − �2<br />

2m∇2 + V (r) � ψ(�x) =<br />

Eψ(�x) geht mit dem Produktansatz ψ(�x) = u(r)<br />

r Y (θ, φ) in die Radialgleichung<br />

�<br />

∂ 2 l(l + 1)<br />

r −<br />

r2 2m<br />

+<br />

� 2<br />

� ��<br />

E − V (r) u(r) = 0<br />

über. Dabei ist l = 0, 1, 2, . . . die Drehimpulsquantenzahl, {r, θ, φ} sind Kugelkoordinaten<br />

<strong>und</strong> Y (θ, φ) bezeichnet die sogenannten Kugelflächenfunktionen Yl,m. Ziel ist der Aufgabe<br />

ist es, die dimensionslose Radialgleichung im Coulomb-Potential V (r) = −1/r, d.h.<br />

mit Hilfe des Numerov-Verfahrens zu lösen.<br />

�<br />

∂ 2 l(l + 1)<br />

r −<br />

r2 2<br />

�<br />

+ + 2E u(r) = 0<br />

r<br />

(a) Betrachten Sie den Fall l = 0 (s-Orbitale). Wie verhält sich die Wellenfunktion u(r)<br />

<strong>für</strong> r → 0, wenn 2E gegenüber dem Potentialterm vernachlässigt werden kann?<br />

Lösen Sie dazu die DGL <strong>für</strong> E = 0 mit Mathematica R○ <strong>und</strong> führen Sie eine Taylor-<br />

Entwicklung erster Ordnung um r = 0 durch (z.B. mit dem Befehl Series[]).<br />

(b) Schreiben Sie ein Programm zur Integration der dimensionslosen Radialgleichung<br />

nach dem Numerov-Verfahren mit der Diskretisierung rn = hn, indem Sie die Stützstellen<br />

u1, u2 gemäß der in (a) ermittelten Näherung initialisieren. Bestimmen Sie<br />

die ersten vier Energieeigenwerte.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


2.3 Aufgaben 33<br />

Betrachten Sie danach den Fall l = 1, 2, 3 (pdf-Orbitale). Wie Sie sehen werden, ist in<br />

diesem Fall der Schritt (a) in Aufgabe 6 nicht mehr durchführbar 5 . Um dieses Problem<br />

zu umgehen, startet man die Integration <strong>für</strong> große r <strong>und</strong> iteriert dann mit dem Numerov-<br />

Verfahren rückwärts von rechts nach links.<br />

(a) Berechnen Sie zunächst, wie die Wellenfunktion u(r) <strong>für</strong> große r → ∞ abfällt.<br />

(b) Initialisieren Sie nun die beiden letzten Stützstellen uN−1 <strong>und</strong> uN−2 gemäß dieser<br />

asymptotischen Lösung.<br />

(c) Iterieren Sie rückwärts von n = N − 3 bis n = 1 <strong>und</strong> bestimmen Sie das Vorzeichen<br />

von u1. Ähnlich wie beim Vorwärtsalgorithmus wechselt dieses Vorzeichen, sobald<br />

E einen Eigenwert passiert. Bestimmen Sie mit diesem Kriterium die ersten 4 − l<br />

Energieeigenwerte.<br />

5 Zwar geht die Wellenfunktion <strong>für</strong> r → 0 immer noch gegen Null, oszilliert dabei aber auf ungewöhnliche<br />

weise, wobei die Nullstellen wie log(r) angeordnet sind. In diesem Fall lässt sich eine Taylor-Näherung<br />

wie in Aufgabe 6a nicht mehr durchführen.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3 Chaos<br />

Chaos (griechisch χαoζ) bezeichnet einen Zustand vollständiger Unordnung <strong>und</strong> steht<br />

damit im Gegensatz zu Kosmos, dem griechischen Begriff <strong>für</strong> Ordnung.<br />

In der klassischen <strong>Physik</strong> benutzt man diesen Begriff im Zusammenhang mit nichtlinearen<br />

dynamischen Systemen, welche die Eigenschaft haben, dass kleine Änderungen in<br />

den Anfangsbedingungen exponentiell verstärkt werden, so dass solche Änderungen schon<br />

nach kurzer Zeit einen makroskopischen <strong>und</strong> in der Regel nicht vorhersagbaren Effekt haben.<br />

Diese unvorhersehbare Reaktion auf kleine Änderungen in den Anfangsbedingungen<br />

wird in der populären Literatur oft als Schmetterlingseffekt bezeichnet: Bereits der Flügelschlag<br />

eines Schmetterlings reicht demnach aus, um das zukünftige Wettergeschehen<br />

global zu verändern.<br />

Bei der Untersuchung chaotischer Systeme unterscheidet man im wesentlichen zwei Forschungsgebiete:<br />

• Deterministisches Chaos:<br />

Hier untersucht man klassische chaotische Systeme, die einer deterministischen<br />

Zeitentwicklung gehorchen. Dazu gehören nichtlineare Bewegungsgleichungen <strong>und</strong><br />

iterative chaotische Abbildungen, aber auch Modellsysteme, deren Geometrie der<br />

Randbedingungen zu einem chaotischen Verhalten führen.<br />

• Quantenchaos:<br />

Diese Forschungsrichtung befasst sich mit Quantensystemen, die im klassischen<br />

Grenzfall chaotisch wären. Dabei stellt man die Frage, wie sich diese chaotischen<br />

Eigenschaften im Verhalten des Quantensystems niederschlagen, fragt also nach<br />

den Signaturen des Chaos im Rahmen der Quantenmechanik.<br />

Die unterschiedliche Herangehensweise lässt sich am besten am Beispiel eines sogenannten<br />

Billards illustrieren (siehe Abb. 3.1). Unter einem Billard (engl. billiard) versteht<br />

man in der Chaosforschung eine Wand mit einer vorgegebenen Form, an der Teilchen<br />

Abbildung 3.1: Deterministische Trajektorie eines Teilchens in einem Stadion-Billard.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


36 Chaos<br />

Abbildung 3.2: Quantenbillard: Hochangeregte Lösungen der stationären Schrödingergleichung in einem<br />

Stadionbillard mit Dirichlet-Randbedingungen.<br />

nach der üblichen Regel “Einfallswinkel=Ausfallswinkel” reflektiert werden. Schon bei<br />

einem Billard, das die Form eines Fußballstadions hat, ist die Trajektorie eines solchen<br />

Teilchens im allgemeinen hochgradig irregulär. Die Klassifikation solcher Bahnen wäre<br />

eine mögliche Fragestellung im Rahmen des deterministischen Chaos.<br />

Als quantenmechanisches Pendant betrachtet man einen unendlichen Potentialtopf, der<br />

die Form des Billards hat, löst also die stationäre Schrödingergleichung mit der Randbedingung<br />

ψ(x, t) = 0 auf dem Rand des Billards. Die Gr<strong>und</strong>zustandswellenfunktion <strong>und</strong><br />

die ersten angeregten Zustände mit niedriger Energie lassen zunächst nicht erkennen,<br />

ob das entsprechende klassische System chaotisch ist, sie sehen optisch wie “normale”<br />

Wellenfunktionen aus. Die hochangeregten Zustände (siehe Abb. 3.2) lassen jedoch leicht<br />

erkennen, ob das betreffende System chaotisch ist oder nicht. Dabei gilt folgende Faustregel:<br />

Nichtchaotische Systeme haben meist hochsymmetrische Wellenfunktionen, während<br />

chaotische Systeme wie Quantenbillards durch Wellenfunktionen mit einer irregulären<br />

Struktur gekennzeichnet sind.<br />

Quantenchaos lässt sich auch am Spektrum des Hamiltonoperators erkennen. Dabei untersucht<br />

man vor allem die statistische Verteilung der Differenzen ∆Ei = Ei+1−Ei aufeinanderfolgender<br />

Energieeigenwerte. Nichtchaotische Systeme verhalten sich so, als wären<br />

die Energieniveaus statistisch unabhängig voneinander, d.h. man erhält eine Poisson-<br />

Verteilung. In chaotischen Systemen scheinen sich dagegen die Energieniveaus gegenseitig<br />

abzustoßen, so dass man andere Statistiken erhält. Der Unterschied tritt besonders auffällig<br />

zutage, wenn das Spektrum von einem Parameter (z.B. dem Längenverhältnis der<br />

Billardseiten) abhängt. Bei Variation dieses Parameters beobachtet man in einem nichtchaotischen<br />

System Niveaukreuzungen (engl. level crossings), in chaotischen Systemen<br />

dagegen eine Niveauabstoßung (engl. level repulsion).<br />

Es stellt sich heraus, dass die Statistik der Energiedifferenzen nicht von den Details des<br />

jeweils untersuchten chaotischen Systems abhängt, sondern nur von dessen Symmetrien,<br />

insbesondere der Zeitumkehrinvarianz. Die gleichen Statistiken erhält man auch, wenn<br />

man völlig zufällige Matrizen mit diesen Symmetrieeigenschaften auswürfelt <strong>und</strong> deren<br />

Eigenwertdifferenzen untersucht. Auf diese Weise unterscheidet man verschiedene Uni-<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.1 Chaotische mechanische Systeme 37<br />

versalitätsklassen wie z.B. das Gaußsche orthogonale Ensemble (GOE) <strong>und</strong> das Gaußsche<br />

unitäre Ensemble (GUE). Die Theorie der Zufallsmatrizen ist ein eigenes Teilgebiet des<br />

Quantenchaos, auf das hier nicht näher eingegangen werden soll. Vielmehr wollen wir<br />

uns im folgenden auf einfache klassische Systeme aus der Mechanik beschränken.<br />

Wie wir sehen werden, gibt es auch Systeme mit gemischten Eigenschaften, die in bestimmten<br />

Bereichen ihres Phasenraums chaotisch, in anderen dagegen nichtchaotisch<br />

sind.<br />

3.1 Chaotische mechanische Systeme<br />

3.1.1 Mimimale Phasenraumdimension<br />

In diesem Abschnitt wollen wir uns mit mechanischen Systemen befassen, die eine chaotische<br />

Dynamik aufweisen. Solche Systeme können wie üblich im Rahmen der Lagrangeschen<br />

oder Hamiltonschen Mechanik beschrieben werden. Dabei haben die Hamiltonschen<br />

Bewegungsgleichungen<br />

˙qi = ∂H(p1, . . . , pN, q1, . . . , qN)<br />

∂pi<br />

, ˙pi = − ∂H(p1, . . . , pN, q1, . . . , qN)<br />

∂qi<br />

(3.1)<br />

als Differentialgleichungen erster Ordnung in der Zeit den Vorteil, dass man sich die<br />

Dynamik als eine Trajektorie im 2N-dimensionalen Phasenraum vorstellen kann, die<br />

dem durch die partiellen Ableitungen von H gegebenen Vektorfeld<br />

d<br />

dt<br />

� � � �<br />

�q ∇p<br />

= H (3.2)<br />

�p −∇q<br />

folgt, d.h. jedem Punkt im Phasenraum ist eine eindeutige Richtung zugeordnet, entlang<br />

der sich die Trajektorie bei fortschreitender Zeit bewegen wird. Trajektorien können sich<br />

also nicht schneiden (mit Ausnahme von Endpunkten der Dynamik, wo das System zum<br />

Stillstand kommt). Chaotisches Verhalten, also das Ausfüllen des Phasenraums durch<br />

irreguläre Trajektorien, ist deshalb in einem zweidimensionalen Phasenraum unmöglich,<br />

weil sich dazu die Trajektorien schneiden müssten. Mechanische Systeme mit nur einem<br />

Freiheitsgrad können aus diesem Gr<strong>und</strong> kein Chaos aufweisen. Erst in einem dreidimensionalen<br />

Phasenraum hat die Dynamik genügend Freiheit, um ein irreguläres Knäuel von<br />

sich nicht schneidenden Trajektorien bilden zu können.<br />

3.1.2 Lyapunov-Exponenten<br />

Das vielleicht bekannteste <strong>und</strong> einfachste mechanische System mit chaotischen Eigenschaften<br />

ist das Doppelpendel. Bei genügend starker anfänglicher Auslenkung weist es<br />

ein unvorhersehbares irreguläres Verhalten auf. Wie man in Abbildung 3.3 sehen kann,<br />

werden selbst kleinste Variationen in der Anfangsbedingung nach kurzer Zeit exponentiell<br />

verstärkt. Für einen solchen exponentiellen Verstärkungsmechanismus ist es typisch,<br />

dass die Abweichungen <strong>für</strong> eine gewisse Zeitspanne praktisch nicht wahrnehmbar sind,<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


38 Chaos<br />

Abbildung 3.3: Chaotische Bewegung eines Doppelpendels. Die Abbildung zeigt den Winkel θ1 als<br />

Funktion der Zeit <strong>für</strong> zwei fast identische Anfangsbedingungen, die sich um eine relative<br />

Abweichung von 10 −4 voneinander unterscheiden. Wie man sehen kann, sind<br />

die beiden Trajektorien (rot <strong>und</strong> blau) <strong>für</strong> eine gewisse Zeit nahezu identisch, bis sie<br />

plötzlich stark unterschiedlich werden. Zur besseren Sichtbarkeit ist die Differenz blau<br />

unterlegt.<br />

dann aber sehr plötzlich so stark werden, dass die Trajektoren auseinanderlaufen <strong>und</strong><br />

kurz darauf völlig unabhängig voneinander werden.<br />

Wie quantifiziert man die Chaotizität eines gegebenen Systems? Dies geschieht mit den<br />

sogenannten Lyapunov-Exponenten. Ein Lyapunov-Exponent λ hat die Dimension [s −1 ]<br />

<strong>und</strong> definiert die Zeitskala, auf der sich eine Variation in den Anfangsbedinungen exponentiell<br />

wie e λt als Funktion der Zeit entwickelt. Ein positiver Lyapunov-Exponent steht<br />

<strong>für</strong> exponentielle Verstärkung, also chaotisches Verhalten, während ein negativer Wert<br />

anzeigt, dass benachbarte Trajektorien konvergieren.<br />

Ein gegebenes System hat nicht nur einen einzigen, sondern im allgemeinen ein ganzes<br />

Spektrum von Lyapunov-Exponenten {λ1, λ2, . . .}. Dies lässt sich am besten am Beispiel<br />

eines 2N-dimensionalen Hamiltonschen System erklären, dessen Phasenraum zur besseren<br />

Anschaulichkeit in Abb. 3.4 zweidimensional dargestellt wird. Zu sehen ist links<br />

oben ein kleiner Kreis (d.h. eigentlich eine 2N-dimensionale Kugel), der eine Menge infinitesimal<br />

unterschiedlicher Anfangsbedingungen symbolisieren soll. Die Hamiltonschen<br />

Gleichungen transportieren nun während der Zeitentwicklung jeden Punkt dieser Kugel<br />

auf einer wohldefinierten Trajektorie. Wie wird sich die Form dieser Kugel ändern?<br />

Offenbar wird sie kontinuierlich deformiert werden <strong>und</strong> nach längerer ein kompliziertes<br />

Aussehen annehmen. Allerdings wird das entstehende Gebilde stets zusammenhängend<br />

bleiben. Darüber hinaus ist aufgr<strong>und</strong> des Satzes von Lioville das Volumen erhalten.<br />

Bemerkung: Satz von Liouville: In der Hamiltonschen Mechanik spielt die symplektische<br />

Gruppe der kanonischen Transformationen eine zentrale Rolle. Ähnlich wie das normale<br />

Skalarprodukt unter Drehungen im R 3 invariant ist, gibt es im Phasenraum das sogenannte<br />

symplektische Produkt, das unter kanonischen Transformationen invariant ist. Die von<br />

den Hamiltonschen Bewegungsgleichungen vorgegebene Zeitentwicklung ist ebenfalls eine<br />

kanonische Transformation. Da sich das Phasenraumvolumen als symplektisches Produkt<br />

schreiben lässt, ist es deshalb eine Erhaltungsgröße.<br />

Für kleine Zeiten ist die Deformation der Kugel Taylor-entwickelbar. In niedrigster Ordnung<br />

dieser Multipolentwicklung nimmt die Kugel deshalb zunächst die Form eines El-<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.1 Chaotische mechanische Systeme 39<br />

Abbildung 3.4: Vereinfachte Darstellung der Zeitentwicklung eines infinitesimalen anfangs kugelförmigen<br />

Phasenraumvolumens (siehe Text).<br />

lipsoiden an. Dieser Ellipsoid besitzt bestimmte senkrecht aufeinander stehenden Hauptachsen,<br />

die in der Abbildung als gestrichelte Linien angedeutet sind. Die Ausdehnung<br />

ξi(t) des Ellipsoiden entlang der i-ten Hauptachse nimmt mit der Zeit exponentiell zu<br />

bzw. ab:<br />

ξ(t) = ξ(0)e λit . (3.3)<br />

wobei die λi die Lyapunov-Exponenten sind. Ein positiver Lyapunov-Exponentent zeigt<br />

divergente, also auseinanderlaufende Trajektorien an, während ein negativer Lyapunov-<br />

Exponent Konvergenz signalisiert. Da das Phasenraumvolumen V ∝ �<br />

i ξi erhalten ist,<br />

muss die Summe aller Lyapunov-Exponenten verschwinden.<br />

Wie bereits erwähnt gibt es also nicht nur einen, sondern ein ganzes Spektrum von<br />

Lyapunov-Exponenten. Wenn man im üblichen Jargon von dem Lyapunov-Exponenten<br />

spricht, so meint man in der Regel den größten <strong>und</strong> damit dominierenden Exponenten<br />

in diesem Spektrum. Ein positiver maximaler Lyapunov-Exponent gilt als Indikator <strong>für</strong><br />

chaotisches Verhalten.<br />

Die Definition des Lyapunov-Exponenten ist lokal, da sie sich auf eine infinitesimale Deformation<br />

des Phasenraumvolumens bezieht. Die Lyapunov-Exponenten können also an<br />

verschiedenen Orten im Phasenraum unterschiedliche Werte annehmen <strong>und</strong> dadurch <strong>für</strong><br />

eine gegebene Trajektorie implizit zeitabhängig werden. Da die Trajektorie in chaotischen<br />

Systemen nicht vorhersagbar ist <strong>und</strong> bei fortschreitender Zeit große Teile des Phasenraums<br />

gleichmäßig überstreicht, bietet es sich an, den mittleren Lyapunov-Exponenten<br />

als Zeitmittel über die chaotische Trajektorie zu definieren<br />

1 dℓi<br />

λi := lim ln , (3.4)<br />

t→∞ t dr<br />

wobei dℓi die Änderung entlang der i-ten Hauptachse bei Variation der Anfangsbedingung<br />

um dr ist. Für die mittelere Divergenz der Trajektorien ist der größte dieser Mittelwerte<br />

ausschlaggebend.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


40 Chaos<br />

Abbildung 3.5: Skizze eines getriebenen gedämpften Pendels.<br />

3.1.3 Getriebenes gedämpftes Pendel<br />

Das einfachste mechanische System mit chaotischen Eigenschaften ist ein getriebenes gedämpftes<br />

Pendel (siehe Abb. 3.5). Die Dynamik dieses Systems ist durch die gewöhnliche<br />

Differentialgleichung<br />

¨φ(t) + r ˙ φ(t) + sin φ(t) = a cos ωDt (3.5)<br />

vorgegeben. Dabei ist φ(t) der Auslenkungswinkel, r der dimensionslose Reibungskoeffizient,<br />

a die Antriebsamplitude <strong>und</strong> ωD die Antriebsfrequenz. In diesem System konkurrieren<br />

drei unterschiedliche Zeitskalen, nämlich die Reibungszeit 1/r, die Schwingungsdauer<br />

des freien ungedämpften Pendels 2π/ω0 <strong>und</strong> die Umdrehungsdauer des Antriebs 2π/ωD.<br />

Der Systemzustand wird nicht nur allein durch φ(t) <strong>und</strong> ˙ φ(t) charakterisiert, sondern auch<br />

durch die Phasenlage bezogen auf den äußeren Antrieb. Der resultierende Phasenraum ist<br />

also nicht zwei- sondern dreidimensional, eine notwendige Voraussetzung <strong>für</strong> chaotisches<br />

Verhalten. Als dritte Dimension des Phasenraums kann man das Argument des Cosinus<br />

auf der rechten Seite der Differentialgleichung wählen, d.h.<br />

θ := ωDt . (3.6)<br />

Mit der Definition ω(t) := ˙ φ(t) überführen wir nun die Differentialgleichung 2. Ordnung<br />

in ein System von Differentialgleichungen erster Ordnung:<br />

⎛ ⎞ ⎛<br />

⎞<br />

φ(t)<br />

ω(t)<br />

d<br />

⎝ω(t)<br />

⎠ = ⎝−rω(t)<br />

− sin φ(t) + a cos θ(t) ⎠ (3.7)<br />

dt<br />

θ(t)<br />

Wegen der Dämpfung “vergisst” das System nach einer gewissen Zeit seine eigene Geschichte<br />

<strong>und</strong> geht deshalb in ein von den Anfangsbedinungen unabhängiges Verhalten<br />

über, so dass man ohne Beschränkung der Allgemeinheit von einem anfangs ruhenden<br />

Pendel ausgehen kann. Iteriert man diese Differentialgleichung beispielsweise <strong>für</strong> r = 0.24<br />

<strong>und</strong> ωD = 2<br />

3ω0, so zeigt das System <strong>für</strong> kleine Antriebsamplituden 0 < a < 0.5 nach einiger<br />

Zeit ein reguläres Verhalten, indem es der äußeren Anregung mit einer bestimmten<br />

Phasenverschiebung folgt. Die Lösung ist in diesem Fall einfach-periodisch <strong>und</strong> besitzt<br />

eine in der (φ, ω)-Ebene ellipsenförmige Trajektorie. Bei größeren Werten a ≈ 0.63 beobachtet<br />

man zunächst eine Symmetriebrechung mit einer plötzlich geänderten Phasenlage,<br />

d.h. das Pendel schwingt zwar noch im Takt mit der äußeren Angerung, aber die<br />

ωD<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.1 Chaotische mechanische Systeme 41<br />

Abbildung 3.6: Zweidimensionale Projektion des Phasenraums eines getriebenen gedämpften Pendels<br />

mit ωD = 2<br />

ω0. Für kleine Antriebsamplituden folgt das Pendel der äußeren Kraft<br />

3<br />

<strong>und</strong> beschreibt eine kreisförmige Trajektorie im Phasenraum (hier nicht gezeigt). Für<br />

größere Amplituden kommt es zu einer Periodenvervielfachung mit Überschwingern,<br />

hier auf der linken Seite am Beispiel einer Periodenverdreifachung <strong>für</strong> a = 0.73 gezeigt.<br />

Erhöht man die Amplitude nur geringfügig, wird die Dynamik chaotisch, wobei die<br />

Trajektorien (blaue Kurven) den Phasenraum kompakt ausfüllen (siehe rechte Abbildung).<br />

Die entsprechenden Poincaré-Schnitte sind als rote Punkte dargestellt.<br />

Spiegelsymmetrie bezüglich φ → −φ wird spontan gebrochen, d.h. die Ellipse wird deformiert.<br />

Erhöht man a weiter, beobachtet man bei a ≈ 0.66 eine Periodenverdopplung,<br />

d.h. das Pendel folgt der äußeren Anregung periodisch nach jeweils zwei Umdrehungen.<br />

Bei a ≈ 0.67 wird die Trajektorie schließlich chaotisch <strong>und</strong> füllt einen schmalen Streifen<br />

im Phasenraum aus. Bei a ≈ 0.68 kommt es zu Überschlägen des Pendels <strong>und</strong> der<br />

Phasenraum wird kompakt ausgefüllt.<br />

Man könnte meinen, dass dieses voll entwickelte Chaos bei einer weiteren Erhöhung<br />

der Amplitude a erhalten bleibt. Dies ist jedoch nicht so, vielmehr geht das System<br />

bei a ≈ 0.73 wieder in ein reguläres dreifach-periodisches Verhalten über. Bei weiterer<br />

Erhöhung von a finden weitere Periodenverdopplungen statt (6,12,...) bis man wieder<br />

ein chaotisches Fenster erreicht. Bei a = 0.85 befindet sich beispielsweise ein siebenfachperiodisches<br />

Fenster.<br />

Dieser Wechsel zwischen mehrfach-periodischen <strong>und</strong> chaotischen Parameterbereichen ist<br />

sehr typisch <strong>für</strong> nichtlineare Systeme mit wenigen Freiheitsgraden.<br />

3.1.4 Attraktoren <strong>und</strong> Poincaré-Schnitte<br />

Unter voll entwickeltem Chaos versteht man eine Dynamik im Phasenraum ohne Periodizität,<br />

sodass die Trajektorie immer neue Gebiete des Phasenraums überstreicht <strong>und</strong><br />

diesen mehr <strong>und</strong> mehr ausfüllt. Stellt man den Phasenraum in einer zweidimensionalen<br />

Projektion auf dem Bildschirm dar, erreicht die Trajektorie auf diese Weise nach <strong>und</strong> nach<br />

alle Pixel in einem bestimmten Bereich <strong>und</strong> füllt diesen flächig aus (siehe blaue Punkte<br />

auf der rechten Seite von Abb. 3.6). An dieser kompakt ausgefüllten Projektion lässt sich<br />

allerdings nicht erkennen, ob der ursprüngliche (höherdimensionale) Phasenraum kompakt<br />

ausgefüllt wird oder nicht, denn selbst ein sehr luftiges Knäuel von Trajektorien<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


42 Chaos<br />

Abbildung 3.7: Poincaré-Schnitt: Durch periodische stroboskopische Blitze wird der dreidimensionale<br />

Phasenraum in zweidimensionale Flächen “geschnitten”. Die als blaue Linie dargestellte<br />

Trajektorie des Systems durchdringt diese Flächen an bestimmten Punkten, die rot<br />

markiert sind. Die Menge aller im Limes t → ∞ erzeugten roten Punkte ist das Bild<br />

des Attraktors im Poincaré-Schnitt (siehe Text).<br />

kann einen kompakten Schatten werfen.<br />

Um diese Frage zu beantworten, eigenen sich sogenannte Poincaré-Schnitte. Die Idee<br />

dabei ist, nicht die komplette Trajektorie des Teilchens in der Projektionsebene zu zeichnen,<br />

sondern nur einzelne Projektionsbilder zu bestimmten periodischen Zeitpunkten,<br />

vergleichbar mit der stroboskopischen Beleuchtung durch eine Blitzlampe. Zu welchen<br />

Zeitpunkten der Blitz ausgelöst wird, ist frei wählbar <strong>und</strong> vom jeweiligen Problem abhängig.<br />

Im Fall des gedämpften Pendels eignet sich die Kreisfrequenz des äußeren Antriebs<br />

ωD mit frei wählbarer Phasenlage, während man bei anderen Problemen beispielsweise<br />

den Nulldurchgung einer Phasenraumkoordinate wählen könnte. Durch diese Wahl wird<br />

festgelegt, in welcher Weise der Phasenraum stroboskopisch “durchgeschnitten” wird.<br />

Löst man im Fall des gedämpften Pendels den Blitz jeweils beim Phasenwinkel Null des<br />

äußeren Antriebs aus <strong>und</strong> markiert die entsprechenden Punkte der Trajektorie als rote<br />

Pixel auf dem Bildschirm, erhält man bei voll entwickeltem Chaos ein eigenartiges Gebilde,<br />

das auf der rechten Seite von Abb. 3.6 zu sehen ist. Dieses Gebilde bezeichnet man<br />

als Poincaré-Schnitt. Ein Poincaré-Schnitt dient also zur effektiven Dimensionsreduktion<br />

der Projektion des Phasenraums durch stroboskopische Beleuchtung.<br />

Startet man das Programm erneut mit anderen Anfangsbedinungen, so stellt man fest,<br />

dass sich (abgesehen von vereinzelten roten Punkten) sehr schnell immer wieder das selbe<br />

Gebilde von roten Punkten entsteht. Der Poincaré-Schnitt zeigt also, dass<br />

• selbst bei voll entwickeltem Chaos der Phasenraum nicht kompakt ausgefüllt wird.<br />

• dass die von den Trajektorien ausgefüllte Teilmenge im Limes t → ∞ unabhängig<br />

von den Anfangsbedingungen ist.<br />

Das bedeutet, dass das System seine Anfangsbedingung nach einiger Zeit “vergisst” <strong>und</strong><br />

seine Trajektorie nach hinreichend langer Zeit von einer Teilmenge von Trajektorien “angezogen”<br />

wird. Diese Teilmenge wird wegen dieser anziehenden Eigenschaft als Attraktor<br />

bezeichnet. Der Poincaré-Schnitt dient dazu, die Struktur dieses Attraktors qualitativ zu<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.2 Fraktale Eigenschaften seltsamer Attraktoren * 43<br />

Abbildung 3.8: Chaotische Abbildung: Die Trajektorie eines mechanischen Systems (blaue Linie) lässt<br />

sich interpretieren als sequentielle Anwendung einer Abbildungen f von Poincaré-<br />

Schnitt zu Poincaré-Schnitt (rote Pfeile). Es zeigt sich, dass schon sehr einfache nichtlineare<br />

Abbildungen wie z.B. die quadratische Abbildung ausreichen, um chaotisches<br />

Verhalten zu erzeugen.<br />

visualisieren. Anhand des Erscheinungsbildes unterscheiden folgende Arten von Attraktoren:<br />

Bewegungstyp Attraktortyp Poincaré-Schnitt<br />

einfach periodisch einfach geschlossene Trajektorie einzelner Punkt<br />

n-fach periodisch mehrfach geschlossene Trajektorie n Punkte<br />

chaotisch chaotischer Attraktor eindimensionale Kurve<br />

chaotisch seltsamer Attraktor fraktales Gebilde<br />

Insbesondere die seltsamen Attraktoren (engl. strange attractors) faszinieren die Chaosforscher.<br />

Der Poincaré-Schnitt ist in diesem Fall ein fraktales Gebilde, also eine Menge,<br />

die mehr ist als eine eindimensionale Linie, jedoch weniger als eine zweidimensionale<br />

Fläche.<br />

3.2 Fraktale Eigenschaften seltsamer Attraktoren *<br />

Ein Fraktal ist eine in den R n eingebettete Menge von Punkten mit einer nichttrivialen<br />

Struktur, die selbstähnliche Eigenschaften besitzt. Vergrößert man einen kleinen<br />

Teilbereich einer solchen Menge, erhält man immer wieder ein qualitativ ähnliches Erscheinungsbild.<br />

Die Menge ist also vereinfacht ausgedrückt invariant gegenüber Zoom-<br />

Operationen. Dies bedeutet, dass sie abgesehen von der Gesamtabmessung <strong>und</strong> ggf. einem<br />

unteren Cutoff (z.B. der Pixelgröße) keine typische Skala besitzt.<br />

... wird fortgesetzt.<br />

3.3 Chaotische iterative Abbildungen<br />

Die Bestimmung des Attraktors eines mechanischen Systems ist numerisch durchaus anspruchsvoll,<br />

denn man benötigt Tausende oder gar Millionen von Poincaré-Schnitten, die<br />

jeweils durch Runge-Kutta-Integration der Trajektorie zwischen den einzelnen Schnitten<br />

erzeugt werden müssen. Es stellt sich deshalb die Frage, ob diese komplizierte Prozedur<br />

wirklich notwendig ist, um Chaos zu erzeugen, oder ob es vereinfachte Modellsysteme<br />

gibt, die zwar nicht mit den bereits diskutierten identisch sind, jedoch qualitativ<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


44 Chaos<br />

gleichwertige Eigenschaften besitzen. Besonders elegant wäre es, wenn man zwischen den<br />

Poincaré-Schnitten keine DGL iterieren muss, sondern durch eine einfache Abbildung<br />

direkt von Schnitt zu Schnitt gelangt, also den jeweils nächsten roten Punkt als Funktion<br />

des vorherigen erhält (siehe Abb. 3.8). Die Frage ist nicht, ob eine solche chaotische<br />

iterative Abbildung existiert, denn die Integration nach Runge-Kutta selbst ist ja bereits<br />

eine wenn auch komplizierte Abbildung. Das Ziel ist es vielmehr, eine möglichst<br />

einfache (<strong>und</strong> damit numerisch schnelle) Abbildung zu finden, welche die Eigenschaften<br />

eines chaotischen Systems qualitativ reproduziert. Es zeigt sich, dass bereits eine einfache<br />

quadratische Abbildung dazu ausreicht.<br />

3.3.1 Quadratische Abbildung<br />

Fixpunkte<br />

Als einfachestes Beispiel einer solchen iterativen Abbildungsvorschrift betrachten wir die<br />

quadratische Abbildung<br />

f : R ↦→ R : f(x) = a − x 2 , (3.8)<br />

wobei a > 0 ein frei wählbarer reeller Parameter ist. Mit dieser Abbildung untersuchen<br />

die durch<br />

xn+1 = f(xn) (3.9)<br />

vorgegebene Sequenz x0, x1, x1, . . . mit dem Startwert x0. Im Gegensatz zum gedämpften<br />

Pendel, welches zweidimensionale Poincaré-Schnitte mit den Koordinaten (φn, ˙ φn)<br />

besitzt, hat man hier eindimensionale “Poincaré-Schnitte” mit der Koordinate xn. Wir<br />

wollen zunächst die einfach periodischen Lösungen identifizieren, die Fixpunkten (engl.<br />

fixed point) im Poincaré-Schnitt entsprechen, d.h. wir suchen die Fixpunkte der Gleichung<br />

f(x) = x . (3.10)<br />

Dazu ist lediglich eine quadratische Gleichung zu lösen. Die beiden Lösungen x ∗ ±, die wir<br />

mit einem Stern kennzeichnen wollen, lauten<br />

Stabilitätsanalyse<br />

x ∗ ± = 1<br />

2 (−1 ± √ 1 + 4a) . (3.11)<br />

Zu jeder Fixpunktbestimmung gehört eine Stabilitätsanalyse, denn der beste Fixpunkt<br />

ist wertlos, wenn er unter dem Einfluss kleiner Abweichungen instabil ist, ähnlich wie ein<br />

auf der Spitze balancierender Bleistift.<br />

Eine Stabilitätsanalyse untersucht, wie sich eine infinitesimale Abweichung zu niedrigster<br />

nichtverschwindender Ordnung im Rahmen einer Taylor-Näherung zeitlich entwickelt, ob<br />

sie also gegen Null geht (stabiles Verhalten) oder verstärkt wird (instabiles Verhalten).<br />

In der Regel reicht es aus, die erste Ordnung der Taylor-Reihe zu untersuchen, womit<br />

man lineare, also lösbare Gleichungssysteme erhält. Wenn die betrachtete Ordnung keine<br />

Antwort liefert, also Abweichungen weder verstärkt noch dämpft, muss zur jeweils<br />

nächsthöheren Ordnung übergegangen werden.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.3 Chaotische iterative Abbildungen 45<br />

x*<br />

2<br />

1<br />

0<br />

-1<br />

-2<br />

f(x)=x 1 f(f(x))=x<br />

0 0,5 1 1,5<br />

a<br />

x*<br />

2<br />

0<br />

-1<br />

-2<br />

0 0,5 1 1,5<br />

a<br />

Abbildung 3.9: Fixpunkte der Abbildung f(x) = a − x 2 . Das linke Tableau zeigt die Lage der einfachen<br />

Fixpunkte f(x ∗ ) = x ∗ als Funktion des Parameters a im Bereich a > − 1<br />

, in 4<br />

dem die Lösungen reell sind. Stabile Lösungen sind als durchgezogene Linien, instabile<br />

Lösungen dagegen gestrichelt in roter Farbe dargestellt. Das rechte Tableau zeigt<br />

die entsprechenden Lösungen der zweifach iterierten Abbildung f(f(x ∗ )) = x ∗ (siehe<br />

Text).<br />

Im Fall der quadratischen Abbildungen betrachten wir also nun eine infinitesimale Abweichung<br />

ɛ vom Fixpunkt x ∗ + bzw. x ∗ −:<br />

f(x ∗ ± + ɛ) = f(x ∗ ±) + f ′ (x ∗ ±)ɛ +O(ɛ 2 ) . (3.12)<br />

� �� �<br />

=x ∗ ±<br />

� �� �<br />

ɛ ′<br />

Nach einer Iteration ist also aus der Abweichung ɛ in 1. Ordnung die Abweichung ɛ ′<br />

geworden. Offenbar ist der Fixpunkt stabil wenn |ɛ ′ | < |ɛ| ist, wenn also<br />

|f ′ (x ∗ ±)| < 1 (3.13)<br />

ist (ein häufiger Anfängerfehler besteht darin, die Betragsstriche zu vergessen). Im Fall<br />

der quadratischen Abbildung erhalten wir <strong>für</strong> den Fixpunkt x ∗ − die Ableitung<br />

f ′ (x ∗ −) = 1 + √ 1 + 4a > 1 , (3.14)<br />

d.h. dieser Fixpunkt ist immer instabil. Für den anderen Fixpunt erhalten wir entsprechend<br />

f ′ (x ∗ +) = 1 − √ 1 + 4a < 0 . (3.15)<br />

Hier ist die Ableitung also stets negativ. Sie ist außerdem vom Betrage kleiner als 1,<br />

sofern a < 3<br />

4 ist. Diese Resultate sind grafisch auf der linken Seite von Abb. 3.9 zusammengefasst.<br />

Bemerkung: Bei Fixpunkten mehrdimensionaler Abbildungen � f(�x) = �x wird die Stabi-<br />

litätsanalyse analog durchgeführt: Ist �ɛ eine infinitesimale Abweichung vom Fixpunkt, so<br />

gilt in erster Näherung � f(�x ∗ + �ɛ) = x ∗ + J�ɛ + O(ɛ 2 ), wobei J die Jacobi-Matrix mit den<br />

Matrixelementen Jij = ∂f i<br />

∂x j ausgewertet an der Stelle �x = �x ∗ ist. Ob die Abbildung stabil<br />

oder instabil ist, hängt dabei von der Orientierung von �ɛ ab. Stellt man �ɛ als Linearkom-<br />

bination der Eigenvektoren von J dar, so sind die Anteile, deren Eigenwerte vom Betrage<br />

kleiner als 1 sind, stabil, während die anderen Anteile instabil oder marginal sind. Die<br />

Stabilitätsanalyse besteht also darin, dass man die Eigenwerte der Jacobimatrix bestimmt.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


46 Chaos<br />

Mehrfachiteration<br />

Für a > 3<br />

4 wird der einzige stabile Fixpunkt der quadratischen Abbildung instabil. Ein<br />

ähnliches Phänomen hatten wir bereits beim gedämpften getriebenen Pendel beobachtet,<br />

– auch dort wurde bei Erhöhung der Anregungsamplitude die einfach periodische Lösung<br />

instabil, wobei es zu einer Periodenverdopplung kam. Im Poincaré-Schnitt führt dies zu<br />

einem alternierenden Springen zwischen zwei Punkten, d.h. die Dynamik kehrt erst nach<br />

zwei Schnitten zu ihrem Ausgangspunkt zurück.<br />

Um herauszufinden, ob die quadratische Abbildung ähnliche phänomenologische Eigenschaften<br />

besitzt, suchen wir nun nach Fixpunkten der zweifach iterierten Abbildung, also<br />

nach Lösungen der Gleichung<br />

f(f(x)) = x , (3.16)<br />

die, wie man leicht zeigen kann, einem Polynom vierten Grades entspricht:<br />

Dieses Polynom hat vier Nullstellen, nämlich<br />

x ∗ 1,2 = 1<br />

2<br />

x 4 − 2ax 2 + x + a 2 − a = 0 (3.17)<br />

� √ � ∗<br />

−1 ± 1 + 4a , x3,4 = 1�<br />

√ �<br />

+1 ± −3 + 4a . (3.18)<br />

2<br />

Die ersten beiden Lösungen sind mit den Fixpunkten (3.11) identisch, da jede Lösung<br />

von f(x ∗ ) = x ∗ auch eine Lösung von f(f(x ∗ )) = x ∗ mit gleichen Stabilitätseigenschaf-<br />

ten sein muss. Hinzu kommen zwei neue Lösungen x∗ 3,4 , die auf der rechten Seite von<br />

Abb. 3.9 dargestellt sind. Genau dort, wo der obere Ast der ursprünglichen Parabel instabil<br />

wird, kommt es zu einer Verzweigung in zwei neue Parabeln, zwischen denen das<br />

dynamische System hin <strong>und</strong> her springt. Eine solche Verzweigung wird als Bifurkation<br />

bezeichnet. Wegen ihrer typischen Form wird sie auch als Heugabel-Bifurkation (engl.<br />

pitchfork bifurcation) bezeichnet.<br />

Bemerkung: Es gibt neben dieser sogenannten Heugabel-<br />

Bifurkation weitere Bifurkationstypen wie z.B. die Sattelpunkts-<br />

bifurkation, die Hopf-Bifurkation, die transkritische Bifukation oder<br />

die Flip-Bifurkation, auf die hier aber nicht näher eingegangen wird.<br />

Auch bei den Fixpunkten der zweifach iterierten Abbildung ist nun eine Stabilitätsanalyse<br />

durchzuführen. Man verfährt dabei genau so wie oben beschrieben mit dem einzigen<br />

Unterschied, dass nun die Ableitung der zweifach iterierten Abbildung f(f(x)) zu untersuchen<br />

ist. Eine einfache Rechnung ergibt<br />

d<br />

dx f(f(x))<br />

�<br />

�<br />

� = � 1 ± √ 1 + 4a �2 d<br />

,<br />

dx f(f(x))<br />

�<br />

�<br />

� = 4(1 − a) . (3.19)<br />

� x ∗ 1,2<br />

Die Ableitungen an der Stelle x∗ 1,2 sind die Quadrate der entsprechenden einfachen Ableitung<br />

in Gl. (3.14) <strong>und</strong> (3.15) <strong>und</strong> somit hat die zweifach iterierte Abbildung <strong>für</strong> diese<br />

Fixpunkte wie erwartet die gleichen Stabilitätseigenschaften wie die einfach iterierte Abbildung.<br />

Die Ableitungen <strong>für</strong> x∗ 3,4 zeigen, dass die neuen Lösungen nur <strong>für</strong> a < 1.25 stabil<br />

sind. In der Tat werden wir sehen, dass an der Stelle a = 1.25 eine weitere Bifurkation<br />

stattfindet, die mit einer Periodenvervierfachung einhergeht.<br />

� x ∗ 3,4<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.3 Chaotische iterative Abbildungen 47<br />

Grafische Darstellung der Bifurkationen<br />

Man kann die Bifurkationsfolge sehr einfach auf dem Bildschirm darstellen, indem man<br />

die Abbildung iteriert, die Werte xn gegen den Parameter a aufträgt <strong>und</strong> dabei a sehr<br />

langsam im Vergleich zur Stabilisierungszeitskala, also adiabatisch erhöht. Dies leistet<br />

der folgende kurze einfache Code:<br />

#include "standard"<br />

#include "xwindows"<br />

int main (void)<br />

{<br />

double a1=0.7, a2=2.0, a=a1, x=0.5; // Parameterbereich, Startwert<br />

const int F = 500; // Fenstergroesse<br />

XWindow W; W.Open(F,F,"Logistische Abbildung");<br />

while (a


48 Chaos<br />

Abbildung 3.10: Abstand ∆an = a∞−an der n-ten Bifurkationsposition an zum abgeschätzten Grenzwert<br />

a∞ als Funktion von n. Die Datenpunkte liegen auf einer Geraden womit das<br />

exponentielle Verhalten bestätigt wird. Die Steigung der Regressionsgeraden (rot) ist<br />

−1.54.<br />

Sofort fällt auf, dass die Differenzen zwischen aufeinanderfolgenden Werten sehr schnell<br />

abnehmen, <strong>und</strong> zwar in etwa um einen konstanten Faktor. Das legt nahe, dass die Folge<br />

a1, a2, a3, . . . exponentiell gegen einen bestimmten Grenzwert a∞ strebt. Diesen Grenzwert<br />

kann man näherungsweise ermitteln, indem man ∆an = a∞ − an gegen n aufträgt<br />

<strong>und</strong> dabei a∞ so einstellt, dass man eine Gerade erhält (siehe Abb. 3.11). Auf diese<br />

Weise kann man den Grenzwert anhand der obigen Daten mit a∞ = 1.401155189092(1)<br />

abschätzen. Für die Steigung der Regressionsgerade erhält man m = −1.54.<br />

Die Tatsache, dass die Datenpunkte mit hoher Genauigkeit im log-lin-Plot auf einer<br />

Geraden liegen, legt nahe, dass die Bifurkationspunkte an <strong>für</strong> große n in der Tat einem<br />

Exponentialgesetz folgen:<br />

an � a∞ − ce mn = a∞ − cδ −n , (3.20)<br />

wobei δ = e −m ≈ 4.65 ist. Die Zahl δ wird in der Literatur als Feigenbaum-Konstante<br />

bezeichnet.<br />

Bestimmung durch Differenzenquotienten<br />

Die oben beschriebene Abschätzung liefert drei Konstanten, nämlich den Grenzwert a∞,<br />

die Amplitude c <strong>und</strong> die Feigenbaumkonstante δ. Setzt man allerdings die exponentielle<br />

Gesetzmäßigkeit (3.20) voraus, so kann man die Feigenbaumkonstante auch allein<br />

abschätzen. Dazu betrachtet man zunächst Differenzen der Form<br />

lim<br />

n→∞ (an+1 − an) = cδ −n−1 (1 − δ) , (3.21)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.3 Chaotische iterative Abbildungen 49<br />

in denen der Offset a∞ herausfällt. Weiterhin kann man die Amplitude c eliminieren,<br />

indem man aus diesen Differenzen <strong>für</strong> aufeinanderfolgende n einen Quotienten bildet:<br />

an − an−1<br />

lim<br />

n→∞ an+1 − an<br />

= δ(1 − δ)<br />

1 − δ<br />

= δ . (3.22)<br />

Die Feigenbaumkonstante δ lässt sich also abschätzen, indem man diese Quotienten gegen<br />

n aufträgt <strong>und</strong> die Daten <strong>für</strong> n → ∞ extrapoliert. Die Feigenbaumkonstante ist<br />

also nichts anderes als das asymptotische Verhältnis der Längen aufeinanderfolgender<br />

Parameterintervalle unterschiedlicher Periode.<br />

Universalität der Feigenbaumkonstante<br />

Entdeckt wurde die Feigenbaumkonstante nicht etwa von Mitchell Feigenbaum, sondern<br />

1977 von dem Marburger Theoretiker Siegfried Großmann (den viele von Ihnen von seinem<br />

Mathematischen Einführungskurs <strong>für</strong> die <strong>Physik</strong> kennen) <strong>und</strong> Stefan Thomae von<br />

der Uni Duisburg-Essen. Die wirkliche Bedeutung dieser Zahl wurde allerdings erst von<br />

dem amerikanischen Chaosforscher Mitchell Feigenbaum erkannt. Man erhält diese Zahl<br />

nämlich nicht nur <strong>für</strong> die quadratische Abbildung, sondern <strong>für</strong> jede eindimensionale nichtlineare<br />

Abbildung mit genau einem quadratischen (d.h. durch eine Parabel approximierbaren)<br />

Maximum. Der Wert der Feigenbaumkonstante ist also weitgehend unabhängig<br />

von der Wahl der Abbildung. Dieses Phänomen wird in der <strong>Physik</strong> mit dem Begriff der<br />

Universalität umschrieben. Die Feigenbaumkonstante ist heute mit hoher Genauigkeit<br />

bekannt:<br />

δ = 4.66920160910299067185320382... (3.23)<br />

Es wird bisweilen sogar behauptet, dass δ <strong>für</strong> die Chaosforschung eine ähnlich wichtige<br />

Rolle spiele wie π in der Geometrie.<br />

Bemerkung: Die beiden anderen Konstanten a∞ <strong>und</strong> c sind dagegen nichtuniversell, d.h.<br />

sie nehmen <strong>für</strong> jede Abbildung andere Werte an.<br />

Verwandte Abbildungen<br />

In diesem Kapitel haben wir bislang die quadratische Abbildung xn+1 = a − x 2 n untersucht.<br />

Durch Umskalierung mittels xn = a˜xn erhält man die Abbildung<br />

˜xn+1 = 1 − a˜x 2 n , (3.24)<br />

die ebenfalls in zahlreichen Lehrbüchern untersucht wird. Eine andere populäre quadratische<br />

Abbildung ist die sogenannte logistische Abbildung, die ursprünglich ein demografisches<br />

Modell eingeführt wurde <strong>und</strong> in ihrer dimensionslosen Form durch<br />

˜xn+1 = r˜xn(1 − ˜xn) (3.25)<br />

gegeben ist, wobei r der Kontrollparameter ist. Durch eine einfache lineare Transformation<br />

˜xn = xn 1<br />

r r<br />

r + 2 geht diese Gleichung in (3.24) über, wobei a = 2 ( 2 − 1) ist.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


50 Chaos<br />

Abbildung 3.11: Mandelbrotmenge (Apfelmännchen) in der komplexen Ebene. Die farbliche Abstufung<br />

außerhalb des schwarzen Konvergenzbereichs visualisiert, wie schnell die iterierte<br />

quadratische Abbildung divergiert [Quelle: Wikimedia].<br />

Nichtquadratische Abbildungen<br />

Die vielleicht einfachste eindimensionale nichtquadratische Abbildung mit chaotischen<br />

Eigenschaften lautet<br />

xn+1 = a − |x| µ<br />

(3.26)<br />

mit einem frei wählbaren Exponenten µ. Diese Gleichung geht <strong>für</strong> µ = 2 in die zuvor<br />

betrachtete quadratische Gleichung über. Für µ �= 2 erhält man eine ähnliche chaotische<br />

Phänomenologie, jedoch mit einer anderen Feigenbaumkonstante, die jezt von µ abhängig<br />

ist, da das Maximum der Funktion nicht mehr durch eine Parabel approximierbar ist.<br />

3.3.3 Mandelbrotmenge<br />

Die Mandelbrotmenge ist die Menge der komplexen Zahlen<br />

c ∈ C, <strong>für</strong> welche die durch die Abbildung<br />

zn+1 = c + z 2 n<br />

(3.27)<br />

iterierte Folge von komplexen Zahlen konvergent ist. Man<br />

erhält das sogenannte Apfelmännchen, das einen fraktalen<br />

Rand besitzt. Die Abbildung ist mit der oben untersuchten<br />

quadratischen Abbildung bis auf Vorzeichenwechsel zn =<br />

−xn identisch. Die Mandelbrotmenge ist also gewissermaßen<br />

die Erweiterung des Feigenbaum-Problems auf die komplexe<br />

Ebene (siehe nebenstehende Abbildung).<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.4 Aufgaben 51<br />

3.4 Aufgaben<br />

Aufgabe 3.1 (Integration einer chaotischen Differentialgleichung)<br />

(a) Schreiben Sie ein Programm zur Integration der in der Vorlesung behandelten Differentialgleichung<br />

des chaotischen Pendels<br />

¨φ + r ˙ φ + sin φ = a cos(ωDt).<br />

mit einem Runge-Kutta-Verfahren zweiter Ordnung (oder höher).<br />

(b) Iterieren Sie die Differentialgleichung <strong>für</strong> r = 1/4 <strong>und</strong> ωD = 2/3 <strong>und</strong> plotten Sie<br />

den Poincaré-Schnitt, d.h. die Punkte (φ(tj), ˙ φ(tj)) <strong>für</strong> tj = 2πj/ωD <strong>und</strong> j ∈ N <strong>für</strong><br />

die Amplitude a = 0.7.<br />

(c) Starten Sie nun das Programm mit a = 0 <strong>und</strong> erhöhen Sie während der Iteration die<br />

Amplitude a adiabatisch (d.h. extrem langsam im Vergleich zur Pendeldynamik,<br />

indem Sie a bei jedem Iterationsschritt um einen sehr kleinen Wert erhöhen), bis Sie<br />

den Wert a = 2 erreichen. Tragen Sie währenddessen die Punkte (x, y) = (a, φ(tj))<br />

grafisch auf. In dieser Darstellung sollte der Wechsel von chaotischem <strong>und</strong> nichtchaotischem<br />

Verhalten als Funktion von a erkennbar werden.<br />

Aufgabe 3.2 (Doppelpendel)<br />

Gegeben sei ein reibungsfreies Doppelpendel mit gleichen Massen m1 = m2 = m <strong>und</strong><br />

gleichen Längen ℓ1 = ℓ2 = ℓ. Der Einfachheit halber können Sie den dimensionslosen Fall<br />

m = 1, ℓ = 1 betrachten.<br />

(a) Geben Sie die Lagrangefunktion L(φ1, ˙ φ1, φ2, ˙ φ2) an, stellen Sie die entsprechenden<br />

Bewegungsgleichungen auf <strong>und</strong> lösen Sie diese Gleichungen nach ¨ φ1 <strong>und</strong> ¨ φ2 auf.<br />

(b) Überführen Sie dieses System von zwei gekoppelten Differentialgleichungen zweiter<br />

Ordnung in ein System von vier Differentialgleichungen erster Ordnung <strong>und</strong><br />

schreiben Sie ein Programm zur Integration mit Runge-Kutta 4. Ordnung.<br />

(c) Integrieren Sie diese Differentialgleichungen mit den Anfangsbedingungen<br />

φ1(0) = π , φ2(0) = π/2 , ˙ φ1(0) = ˙ φ2(0) = 0<br />

mit der Schrittweite h = 0.01 <strong>und</strong> plotten Sie die Lösung von φ1(t) <strong>und</strong> φ2(t) als<br />

zwei Kurven in einer Abbildung im Bereich von t = 0 bis t = 50.<br />

(d) Chaotisches Verhalten äußert sich in einer exponentiellen Verstärkung von kleinen<br />

Abweichungen in den Anfangsbedingungen. Um dies zu überprüfen, verändern Sie<br />

nun die Anfangsbedingung φ1(0) = π + 0.001 <strong>und</strong> vergleichen das Ergebnis mit<br />

(c). Schätzen Sie grob die Zeit ab, zu der die Trajektorien beginnen, erheblich<br />

voneinander abzuweichen.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


52 Chaos<br />

(e) Erstellen Sie mit den Anfangsbedingungen aus (c) drei Poincaré-Schnitte, die durch<br />

die Nulldurchgänge von φ1 getriggert werden, d.h. immer wenn das obere Pendel<br />

durch die Ruhelage geht, wird ein Punkt in der ( ˙ φ1, φ2)-Ebene, in der ( ˙ φ1, ˙ φ2)-<br />

Ebene bzw. in der (φ2, ˙ φ2)-Ebene geplottet (dazu ist eine längere Laufzeit erforderlich).<br />

Aufgabe 3.3 (Lorenz-Attraktor)<br />

Gegeben sei das Differentialgleichungssystem erster Ordnung<br />

˙x = a(y − x)<br />

˙y = x(b − z) − y<br />

˙z = xy − cz<br />

wobei a, b, c Parameter sind. Simulieren Sie dieses DGL-System <strong>für</strong> die Parameter<br />

a = 10 , b = 28 , c = 8/3<br />

mit Hilfe eines Runge-Kutta-Verfahrens vierter Ordnung <strong>und</strong> stellen Sie die Trajektorie<br />

in der xz- oder yz-Ebene grafisch dar. Starten Sie mit zwei geringfügig verschiedenen<br />

Anfangsbedingungen <strong>und</strong> überzeugen Sie sich, dass die dazugehörigen Trajektorien<br />

auseinanderlaufen (Die Gesamtlaufzeit sollte dabei mindestens so gross sein, dass der<br />

chaotische Charakter des Lorenz-Systems sichtbar wird).<br />

Siehe auch: http://de.wikipedia.org/wiki/Lorenz-Attraktor.<br />

Edward N. Lorenz hat übrigens mit der Lorentz-Transformation nichts zu tun!<br />

Aufgabe 3.4 (Abschätzung der Feigenbaum-Konstanten)<br />

Die Iteration der Abbildung xn+1 = a − x 2 n konvergiert <strong>für</strong> a < 3/4 gegen einen einzigen<br />

Fixpunkt, ab a1 = 3/4 kommt es zur Periodenverdopplung, ab a2 ≈ 1.25 zur Periodenvervierfachung<br />

usw., bis bei a∞ ein nichtperiodisches (chaotisches) Verhalten einsetzt.<br />

Bestimmen Sie die ersten Bifurkationspunkte a1, a2, a3 . . . so weit wie Sie können mit<br />

einem numerischen Suchverfahren <strong>und</strong> berechnen Sie die Quotienten<br />

δn = an+1 − an<br />

.<br />

an+2 − an+1<br />

Diese Quotienten sollten <strong>für</strong> n → ∞ gegen die sogenannte Feigenbaum-Konstante δ konvergieren.<br />

Schätzen Sie δ <strong>und</strong> a∞ ab.<br />

Aufgabe 3.5 (Synchronisation zweier chaotischer Abbildungen)<br />

(a) Betrachten Sie wie in der Vorlesung besprochen zwei identische quadratische Abbildungen<br />

xn+1 = a − x 2 n<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


3.4 Aufgaben 53<br />

yn+1 = a − y 2 n<br />

mit 0 ≤ a < 2 bei infinitesimal unterschiedlichen Anfangsbedingungen y0 = x0 + ɛ.<br />

Überzeugen Sie sich, dass die beiden Abbildungen <strong>für</strong> a = 1.8 auseinanderlaufen<br />

<strong>und</strong> eine chaotische Dynamik entfalten. Wenn Sie die Möglichkeit einer grafischen<br />

Darstellung haben, wird es hilfreich sein, wenn Sie dazu yn gegen xn auftragen.<br />

(b) Koppeln Sie nun die beiden Abbildungen durch einen Kopplungsparameter c, indem<br />

Sie die modifizierten Abbildungen<br />

xn+1 = a − ((1 − c)xn + c yn) 2<br />

yn+1 = a − ((1 − c)yn + c xn) 2<br />

iterieren, wobei 0 ≤ c ≤ 1 ist. Iterieren Sie diese Abbildungen <strong>für</strong> a = 1.8 mit infinitesimal<br />

verschiedenen Anfangsbedingungen, indem Sie den Parameter c von Null<br />

aus langsam hochfahren. Dabei werden Sie sehen, dass das gekoppelte System zwischen<br />

chaotischen <strong>und</strong> periodischen Verhaltensweisen wechselt. Bei welchem Wert<br />

von c tritt vollständige Synchronisierung (xn = yn <strong>für</strong> n → ∞) ein?<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


4 Zufallszahlen<br />

Tübinger Studenten beim Billardspiel, frühes 19. Jhdt.<br />

Viele Vorgänge in der Vielteilchenphysik sind durch eine hohe Komplexität gekennzeichnet,<br />

die nicht mehr vollständig im Detail beschreibbar ist. Dies trifft vor allem auf chaotische<br />

Systeme zu, welche die Eigenschaft besitzen, dass sehr kleine Variationen der Anfangsbedingung<br />

zu sehr großen Änderungen des Zustands zu einem späteren Zeitpunkt<br />

führen können. Ein einfaches Beispiel ist ein Billiardspiel. Nur drei bis vier aufeinanderfolgende<br />

Stöße der Kugeln sind durch den Spieler zu beeinflussen, doch schon nach<br />

wenigen weiteren Stößen wird das Verhalten unkontrollierbar. Die Dynamik verstärkt<br />

dabei kleine Variationen exponentiell, so dass selbst Quantenfluktuationen nach hinreichend<br />

vielen Stößen makroskopische Auswirkungen haben können. Dies äußert sich in<br />

einem (scheinbar) zufälligen Verhalten des Systems. Dennoch folgt auch eine solche komplexe<br />

Dynamik bestimmten Gesetzmäßigkeiten, – diese zu beschreiben ist das Ziel der<br />

Thermodynamik <strong>und</strong> der statistischen <strong>Physik</strong>.<br />

Die moderne statistische <strong>Physik</strong> hat einen enormen Schub durch die Entwicklung schneller<br />

Rechner erhalten, denn damit erhält man die Möglichkeit, komplexe Vielteilchensysteme<br />

direkt zu simulieren, sie also gewissermaßen nachzubauen. Um solche stochastischen<br />

(d.h. zufällige) Prozesse simulieren zu können, benötigt man Zufallszahlen. Zufallszahlen<br />

kann man mit geeigneter Hardware, z.B. mit einer rauschenden Diode oder einem<br />

radioaktiven Präparat, erzeugen. Es ist jedoch gar nicht so einfach, einen qualitativ guten<br />

Hardware-Zufallszahlengenerator zu bauen (in einem unserer studentischen Projekte<br />

wurde ein solcher Generator konstruiert). Praktischer <strong>und</strong> schneller ist es, Zufallszahlen<br />

mit geeigneten Algorithmen zu erzeugen. Solche Pseudo-Zufallszahlen sind jedoch nicht<br />

wirklich zufällig, da ein Rechner eine deterministische Maschine ist. Es gibt daher – je<br />

nach Algorithmus – Zufallsgeneratoren unterschiedlicher Qualität.<br />

4.1 Definition<br />

4.1.1 Ganzzahlige Zufallszahlen<br />

Standardbeispiel <strong>für</strong> einen ganzzahligen Zufallszahlengenerator ist ein Würfel, dessen<br />

Wertebereich die Zahlen von 1 bis 6 ist. Etwas allgemeiner wollen wir annehmen, dass<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


56 Zufallszahlen<br />

unser Generator ganzzahlige Werte zwischen rmin <strong>und</strong> rmax liefert, dass also Zufallszahlen<br />

r ∈ {rmin, rmin + 1, . . . rmax} (4.1)<br />

durch den Aufruf einer bereits existierenden Funktion rndint(rmin, rmax) erzeugt werden.<br />

Wiederholter Aufruf dieser Funktion liefert eine Sequenz von Zufallszahlen:<br />

r1 := rndint(rmin, rmax)<br />

r2 := rndint(rmin, rmax)<br />

. . .<br />

Ein idealer Zufallszahlengenerator sollte folgende Eigenschaften bestitzen:<br />

(a) Gleichverteilung:<br />

Erzeugt man eine große Anzahl von Zufallszahlen, so kann man durch Ermittlung<br />

der relativen Häufigkeit die Wahrscheinlichkeit P (r) <strong>für</strong> ein bestimmtes Ergebnis r<br />

abschätzen. Von einem Standard-Zufallszahlengenerator wird erwartet, dass die<br />

Ergebnisse gleichverteilt sind, dass also P (r) auf der Menge der erzeugten Zufalls-<br />

zahlen konstant ist:<br />

P (r) =<br />

� 1<br />

rmax−rmin+1 falls r ∈ {rmin, rmin + 1, . . . , rmax}<br />

0 sonst<br />

(4.2)<br />

Diese Verteilung ist – wie jede Wahrscheinlichkeitsverteilung – dadurch normiert,<br />

dass die Summe über alle Wahrscheinlichkeiten gleich 1 ist:<br />

rmax �<br />

r=rmin<br />

P (r) = 1 (4.3)<br />

(b) Korrelationsfreiheit:<br />

Eine zweite wichtige Forderung, die ein Zufallszahlengenerator zu erfüllen hat, ist<br />

die Korrelationsfreiheit. Unter Korrelationen versteht man statistische Abhängigkeiten<br />

zwischen verschiedenen, in der Regel aufeinanderfolgenden Zufallszahlen. Bei<br />

der Simulation eines Würfels ist es beispielsweise unerwünscht, dass nach einer 6<br />

mit erhöhter Wahrscheinlichkeit eine weitere 6 folgt.<br />

Korrelationen zwischen zwei aufeinanderfolgenden Zufallszahlen können mit Hilfe<br />

der kombinierten Verteilungsfunktion P (ri, ri+1) ermittelt werden, welche die<br />

Wahrschenlichkeit angibt, bei zwei aufeinanderfolgenden Funktionsaufrufen die Werte<br />

ri <strong>und</strong> ri+1 zu erhalten. Bei einem Würfel wäre diese Verteilung also durch 36<br />

verschiedene Wahrscheinlichkeiten gegeben, deren Summe gleich 1 ist. Aufeinanderfolgende<br />

Zufallszahlen sind genau dann unkorreliert, wenn diese Wahrscheinlichkeitsverteilung<br />

faktorisiert, d.h. P (ri, ri+1) = P (ri)P (ri+1) ist. Analog sind n<br />

aufeinanderfolgende Zufallszahlen ri, ri+1, . . .,ri+n−1 genau dann unkorreliert, wenn<br />

die entsprechende Wahrscheinlichkeitsverteilung faktorisiert:<br />

P (ri, ri+1, . . . , ri+n−1) =<br />

n−1 �<br />

k=0<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

P (ri+k) . (4.4)


4.1 Definition 57<br />

4.1.2 Fließkomma-Zufallszahlen<br />

In vielen Anwendungen möchte man reelle Zufallszahlen in einem bestimmten Intervall<br />

r ∈ [rmin, rmax] ⊂ R erzeugen. In einem Rechner werden reelle Zahlen durch sogenannte<br />

Fließkommazahlen (floating point types) approximiert. 1<br />

Da es in einem Intervall unendlich viele reelle Zahlen gibt, ist die Wahrscheinlichkeit, eine<br />

bestimmte Zufallszahl r zu erzeugen, gleich Null. Für kontinuierliche Zufallsgrößen definiert<br />

man deshalb eine Wahrscheinlichkeitsdichte P (r) dadurch, dass P (r)dr die Wahrscheinlichkeit<br />

angibt, die erzeugte Zufallszahl in einem infinitesimalen Intervall [r, r + dr]<br />

zu finden.<br />

Von der Wahrscheinlichkeitsdichte eines standardisierten Zufallszahlengenerators wird in<br />

der Regel gefordert, dass sie auf dem erzeugten Wertebereich konstant ist:<br />

� 1 falls rmin ≤ r ≤ rmax<br />

rmax−rmin<br />

P (r) =<br />

. (4.5)<br />

0 sonst<br />

Die Wahrscheinlichkeitsdichte ist ausserdem normiert durch<br />

� rmax<br />

P (r) dr = 1 . (4.6)<br />

rmin<br />

Ein Kriterium <strong>für</strong> Korrelationsfreiheit von n aufeinanderfolgenden Zufallszahlen ist wie<br />

im diskreten Fall die Faktorisierung der Wahrscheinlichkeitsdichte<br />

4.1.3 Korrelationsfunktionen<br />

P (ri, ri+1, . . . , ri+n−1) =<br />

n−1 �<br />

k=0<br />

P (ri+k) . (4.7)<br />

Zur Untersuchung eines Zufallszahlengenerators auf mögliche Korrelationen eignen sich<br />

sogenannte Korrelationsfunktionen. Korrelationsfunktionen sind statistische Mittelwerte<br />

von Produkten der zu untersuchenden Größen, so ist beispielsweise eine Zweipunktkorre-<br />

lationsfunktion zweier Zufallszahlen ri <strong>und</strong> rj durch<br />

〈rirj〉 = � �<br />

rirj P (ri, rj) (4.8)<br />

ri<br />

rj<br />

gegeben. Dabei bezeichnen die spitzen Klammern 〈. . .〉 das Ensemblemittel, d.h. das<br />

arithmetische Mittel des Arguments über viele statistisch unabhängige Realisierungen. 2<br />

Das Ensemblemittel kann man also bilden, indem man ein Programm sehr oft mit unabhängigen<br />

Sequenzen von Zufallszahlen laufen lässt <strong>und</strong> anschließend die Ergebnisse<br />

mittelt.<br />

1 In den meisten Fällen approximieren Fließkommazahlen die Eigenschaften reeller Zahlen sehr gut. Man<br />

sollte sich trotzdem stets vergegenwärtigen, dass der Rechner solche Zahlen ’gequantelt’ darstellt, weil<br />

nur endlich viele Nachkommastellen berücksichtigt werden. In seltenen Fällen, z.B. beim Gebrauch<br />

stark nichtlinearer Funktionen, kann es dazu kommen, dass diese Quantelung sichtbar wird <strong>und</strong><br />

erhebliche Fehler verursacht. Wir werden weiter unten auf dieses Problem zurückkommen.<br />

2 In der Literatur wird auch häufig ein hochgestellter Balken, z.B. ri, als Notation <strong>für</strong> die Mittelwert-<br />

bildung benutzt.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


58 Zufallszahlen<br />

Faktorisiert nun die Wahrscheinlichkeitsverteilung, d.h. P (ri, rj) = P (ri)P (rj), so folgt<br />

daraus, dass auch die Mittelwerte faktorisieren, also 〈rirj〉 gleich dem Produkt 〈ri〉〈rj〉 ist.<br />

Verallgemeinert <strong>für</strong> n-Punkt-Korrelationsfunktionen bedeutet dies, dass eine notwendige<br />

Bedingung <strong>für</strong> Korrelationsfreiheit darin besteht, dass Produktbildung <strong>und</strong> Mittelwertbildung<br />

in Korrelationsfunktionen miteinander vertauschen:<br />

〈<br />

n�<br />

k=1<br />

rik 〉 =<br />

n�<br />

k=1<br />

〈rik 〉 . (4.9)<br />

Oftmals subtrahiert man das Produkt der Mittelwerte <strong>und</strong> erhält so den sogenannten<br />

zusammenhängenden Anteil (connected part) der Korrelationsfunktion, z.B. <strong>für</strong> zwei Zufallszahlen<br />

ist<br />

〈rirj〉conn := 〈rirj〉 − 〈ri〉〈rj〉 (4.10)<br />

Der zusammenhängende Anteil ist positiv <strong>für</strong> gleichsinnige Korrelationen, negativ <strong>für</strong><br />

Antikorrelationen <strong>und</strong> Null wenn die Zufallsgrößen unkorreliert sind.<br />

4.2 Pseudozufallszahlen<br />

Pseudozufallszahlen sind von deterministischen Algorithmen erzeugte Zahlensequenzen,<br />

die scheinbar zufällig aussehen. Pseudozufallszahlengeneratoren iterieren in der Regel<br />

eine chaotische Abbildung <strong>und</strong> haben folgende Eigenschaften:<br />

• Bei identischen Anfangsbedingungen des Generators ist die erzeugte Sequenz von<br />

Zufallszahlen stets gleich. 3<br />

• Die Sequenz wiederholt sich nach endlich vielen Aufrufen, d.h. jeder Zufallszahlengenerator<br />

ist durch eine Periode (oder sogar mehrere Perioden) gekennzeichnet.<br />

Diese Periode sollte länger als die Laufzeit der Anwendung sein.<br />

• Da ein deterministischer Algorithmus zugr<strong>und</strong>e liegt, sind die erzeugten Zufallszahlen<br />

zumindest schwach korreliert. Das Ziel bei der Konstruktion eines Pseudozufallszahlengenerators<br />

ist es, diese unerwünschten Korrelationen so gut wie möglich<br />

zu unterdrücken. Es gibt also ‘gute’ <strong>und</strong> ‘weniger gute’ Generatoren.<br />

Ein standardisierter Zufallszahlengenerator sollte auf dem Wertebereich gleichverteilt <strong>und</strong><br />

möglichst korrelationsarm sein. Außerdem sollte er extrem schnell sein, also auf einem<br />

einfachen Algorithmus beruhen, denn z.B. bei Monte Carlo Simulationen stellt sich heraus,<br />

dass die meiste Rechenzeit <strong>für</strong> die Erzeugung von Zufallszahlen verbraucht wird.<br />

Für die Konstruktion eines Zufallszahlengenerators gibt es allerdings kein Patentrezept.<br />

Während man die Gleichverteilung <strong>für</strong> einen gegebenen Algorithmus in der Regel beweisen<br />

kann, ist die konkrete Berechnung der Korrelationen häufig unmöglich, so dass man<br />

auf empirische Vergleiche angewiesen ist. Viele Forscher bevorzugen einen bestimmten<br />

Generator, doch ist es in der Praxis ratsam, ein neues Programm mit unterschiedlichen<br />

3 Die Reprodzierbarkeit wird häufig dadurch unterdrückt, dass man die Anfangsbedingung von Mausbewegungen<br />

<strong>und</strong> Systemzeit abhängig macht. Sie kann aber auch bei der Fehlersuche nützlich sein,<br />

wenn beispielsweise Ihre Simulation nach mehreren St<strong>und</strong>en einwandfreier Funktion abstürzt <strong>und</strong> Sie<br />

den Fehler eingrenzen wollen.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


4.2 Pseudozufallszahlen 59<br />

Abbildung 4.1: Vorzeichenbehaftete ganze Zahlen (integers) auf einem 32-bit-Rechner<br />

Generatoren zu testen <strong>und</strong> zu überprüfen, ob man zu statistisch unterschiedlichen Ergebnissen<br />

gelangt, ob sich also möglicherweise versteckte Korrelationen auf das Ergebnis<br />

auswirken.<br />

4.2.1 Algorithmische Implementierung<br />

Unabhängig davon, ob ein Zufallszahlengenerator ganze Zahlen oder Fließkommazahlen<br />

zurückgeben soll, werden die Zufallszahlen intern stets als ganze Zahlen in dem vom<br />

Prozessor zur Verfügung gestellten Wertebereich erzeugt. Dazu muss man wissen, dass<br />

ein Computer jegliche Art von Daten intern als Dualzahlen mit einer festen Anzahl von<br />

Stellen (bits) darstellt. Ältere Prozessoren haben eine Breite von N = 32 bit, neuere die<br />

doppelte Breite von N = 64 bit. Es ist üblich, die bits von 0 bis N − 1 durchzunummerieren,<br />

wobei das niedrigste bit mit der Nummer 0 ganz rechts <strong>und</strong> das höchste ganz<br />

links dargestellt wird.<br />

Man unterscheidet vorzeichenbehaftete <strong>und</strong> positive ganze Zahlen, die beispielsweise in<br />

C++ ihre Entsprechung in den Datentypen int <strong>und</strong> unsigned int finden. Positive ganze<br />

Zahlen nutzen alle N bits <strong>für</strong> die Darstellung als Dualzahl, während vorzeichenbehaftete<br />

ganze Zahlen das höchste Bit als Vorzeichenbit benutzen (siehe Abb. 4.1). Die entsprechenden<br />

Wertebereiche sind also:<br />

{−2 N−1 , . . . , 2 N−1 − 1} <strong>für</strong> vorzeichenbehaftete ganze Zahlen<br />

{0, . . . , 2 N − 1} <strong>für</strong> positive ganze Zahlen<br />

(4.11)<br />

Generatoren <strong>für</strong> Pseudozufallszahlen basieren in der Regel auf einer iterativen Abbildung,<br />

die aus den bereits erzeugten Zufallszahlen eine neue Zufallszahl erzeugt. Im einfachsten<br />

Fall ist diese Iteration einstufig, d.h. das Funktionsergebnis hängt nur von der jeweils<br />

zuletzt erzeugten Zufallszahl ab:<br />

Eine solche einstufige Iteration hat folgende Eigenschaften:<br />

ri = f(ri−1) . (4.12)<br />

• Die Periode des Generators ist 2 N oder kürzer, wobei N die Anzahl der bits des<br />

integer-Wertebereichs ist.<br />

• Möglicherweise wird nur eine Teilmenge des Wertebereichs durch die Iteration erreicht.<br />

• Die erreichten Werte sind wegen der Einstufigkeit per Definition gleichverteilt, da<br />

jeder Wert innerhalb einer Periode genau einmal erreicht wird.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


60 Zufallszahlen<br />

4.2.2 Ein (zu) einfacher Zufallszahlengenerator<br />

Einen einfachen (jedoch <strong>für</strong> die Praxis untauglichen) Zufallszahlengenerator erhält man<br />

bereits mit einer linearen Iteration:<br />

ri = (a ri−1 + c) mod m , (4.13)<br />

wobei ’x mod y’ den Rest von x bei der Division durch y bezeichnet. Dabei sind a, c, m<br />

ganzzahlige Konstanten. Wie <strong>für</strong> jeden Zufallszahlengenerator spielt die Wahl der Konstanten<br />

eine entscheidende Rolle. Hier<strong>für</strong> gibt es in der Regel kein systematisches Verfahren,<br />

vielmehr setzten sich bestimmte empirisch ermittelte Werte in der Literatur durch,<br />

die der Definition eines Generators durchaus eine Aura von Magie verleiht. Für obige<br />

Abbildung ist<br />

a = 106 , c = 1283 , m = 6075 (4.14)<br />

eine mögliche Wahl. In C++ entspräche das folgendem Quellcode:<br />

//=======================================================<br />

// Ein (zu) einfacher Zufallszahlengenerator<br />

//=======================================================<br />

int r=1234; // Globale Variable mit Startwert<br />

//------------ erzeuge Pseudozufallszahl ----------------<br />

int rndint (void)<br />

{<br />

const int a=106, c=1283, m=6075;<br />

r = (a*r+c) % m;<br />

return r;<br />

}<br />

Wiederholter Aufruf dieser Funktion erzeugt die Sequenz<br />

1234,4512,5705,4588,1611,1949,1327,2220,5753,3601,264,4967,5335...,<br />

die auf den ersten Blick durchaus zufällig aussieht. Diese Sequenz lässt sich auch leicht<br />

mit Mathematica R○ erzeugen:<br />

f[r_] := Mod[a*r+c, m];<br />

a=106; c=1283; m=6075;<br />

r0=1234;<br />

sequence = NestList[f,r0,m+1];<br />

Wegen der Restbildung in der Funktion f kann dieser Zufallszahlengenerator nur Zahlen<br />

zwischen 0 <strong>und</strong> 6074 erzeugen. Man kann mit einem geeigneten Hilfsprogramm leicht<br />

überprüfen, dass der Generator nach einer Periode von 6075 Aufrufen die gleiche Sequenz<br />

reproduziert. Ausserdem ist der Mittelwert 〈r〉 = 3037. Demzufolge wird also jeder Wert<br />

zwischen 0 <strong>und</strong> 6074 erreicht <strong>und</strong> tritt mit gleicher Wahrscheinlichkeit auf.<br />

Der Generator weist jedoch erhebliche Korrelationen auf, wie im Buch von Kinzel/Reents<br />

demonstriert wird.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


4.2 Pseudozufallszahlen 61<br />

Abbildung 4.2: Schematische Darstellung eines verbesserten Zufallszahlengenerators mit zweistufiger<br />

Iteration.<br />

4.2.3 Verbesserte Zufallszahlengeneratoren<br />

Der obige Zufallszahlengenerator kann auf zweierlei Weise verbessert werden:<br />

• Man kann zu einer mehrstufigen Iteration übergehen, d.h. die Funktion f hängt<br />

von mehreren bereits erzeugten Zufallszahlen ab.<br />

• Die Iterationstiefe kann erhöht werden, d.h. nicht die unmittelbar zuvor erzeugten<br />

sondern weiter zurückliegende Zufallszahlen werden als Argumente von f benutzt.<br />

Als Beispiel wollen wir eine zweistufige Iteration der Form<br />

ri := f(ri−t, ri−s) (4.15)<br />

betrachten, wobei s, t ∈ N die sogenanten delays der Abbildung sind. Eine solche Iteration<br />

ist in Abb. 4.2 schematisch dargestellt. Offensichtlich bestimmen dabei die mit<br />

der geschweiften Klammer gekennzeichnenten Zahlen vollständig die zukünftige Sequenz<br />

<strong>und</strong> werden deshalb als Zustand des Generators bezeichnet. Die Anzahl der möglichen<br />

Zustände in diesem Bereich liefert eine obere Schranke <strong>für</strong> die Periode des Generators,<br />

bei einem 32-bit Rechner ist die Periode also ≤ 2 32t . Bereits <strong>für</strong> t = 2 ist diese Zahl aber<br />

so groß, dass bei einer Frequenz von 10 6 Aufrufen pro Sek<strong>und</strong>e die obere Schranke <strong>für</strong><br />

die Periode bei 600.000 Jahren liegt. Deshalb ist es nicht immer sinnvoll, besonders große<br />

delays zu verwenden.<br />

4.2.4 Zufallszahlengenerator von G. Marsaglia <strong>und</strong> A. Zaman<br />

Ein brauchbarer Zufallszahlengenerator, der nach diesem Prinzip arbeitet, ist der substractwith-borrow-Generator<br />

von Marsaglia <strong>und</strong> Zaman [4]. Er ist definiert durch die Iteration<br />

ri := (ri−s − ri−t − ci−1) mod m , (4.16)<br />

wobei ci je nach dem Vorzeichen der Klammer zwischen 0 <strong>und</strong> 1 hin <strong>und</strong> her schaltet:<br />

�<br />

1<br />

ci :=<br />

0<br />

falls ri−s − ri−t − ci−1 > 0<br />

andernfalls.<br />

(4.17)<br />

Dabei sind ct sowie r1, r2, . . . , rt frei initialisierbar <strong>und</strong> legen den Anfangszustand des<br />

Generators fest.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


62 Zufallszahlen<br />

Die Vorteile dieses Generators sind seine Geschwindigkeit <strong>und</strong> die Beweisbarkeit seiner<br />

Periode. Marsaglia <strong>und</strong> Zaman konnten zeigen, dass man <strong>für</strong> die Iteration<br />

ri := (ri−2 − ri−3 − ci−1) mod (2 32 − 18) (4.18)<br />

eine Periode von ungefähr 2 92 erhält. Der so definierte Generator hat allerdings noch den<br />

Schönheitsfehler, dass er nicht den kompletten Wertebereich einer 32-bit Zahl abdeckt,<br />

da bei der Restbildung die letzten 18 Zahlenwerte nicht erreicht werden. Dies kann man<br />

umgehen, indem man obige Abbildung mit einer zweiten Abbildung<br />

ri = (69069 ri−1 + 1013904243) mod 2 32<br />

(4.19)<br />

kombiniert, wobei die Modulo-Operation auf 32-bit Rechnern automatisch stattfindet.<br />

Auf diese Weise wird der komplette Wertebereich abgedeckt <strong>und</strong> die Periode ist bei 10 6<br />

Aufrufen pro Sek<strong>und</strong>e in der Größenordnung von 10 24 Jahren, also deutlich länger als<br />

die Lebensdauer des Universums.<br />

4.2.5 Zufallszahlengenerator von R. M. Ziff<br />

Ein sehr erfolgreicher Zufallszahlengenerator wurde von Robert M. Ziff [5] entwickelt. Er<br />

arbeitet mit vier gekoppelten Schieberegistern, ist sehr schnell <strong>und</strong> bietet den Vorteil,<br />

dass sowohl die Periode als auch Drei- <strong>und</strong> Vierpunktkorrelationsfunktionen abgeschätzt<br />

werden können. Ein <strong>für</strong> C++ optimierter Quellcode lautet:<br />

const int Random_A = 471, Random_B = 1586, Random_C = 6988;<br />

const int Random_D = 9689, Random_M = 16383;<br />

const unsigned int Random_Max = 2147483648U;<br />

int Random_nd, Random_ra[Random_M+1];<br />

void InitRandom (unsigned int seed=0)<br />

{<br />

srandom(seed);<br />

Random_nd=random();<br />

for (int i=0; i


4.3 Zufallszahlen mit nichtkonstanter Verteilung 63<br />

4.2.6 ’Echte’ Zufallszahlen<br />

In der Praxis bewährt es sich, mehrere Zufallszahlengeneratoren zur Verfügung zu haben<br />

<strong>und</strong> zu testen, ob diese zu unterschiedlichen Ergebnissen führen. Dies ist in der Regel nicht<br />

der Fall, da viele Simulationen einen selbstmittelnden Effekt haben, der kurzreichweitige<br />

Korrelationen zwischen den Zufallszahlen kompensiert.<br />

Wer dennoch be<strong>für</strong>chtet, dass die erzeugten Zufallszahlen nicht gut genug sind, kann sich<br />

‘echte’ Zufallszahlen von<br />

http://www.random.org/<br />

herunterladen. Wie Sie nachlesen können, waren die dort erzeugten Zufallszahlen sogar<br />

am 11. September 2001 absolut unkorreliert.<br />

4.3 Zufallszahlen mit nichtkonstanter Verteilung<br />

Generatoren <strong>für</strong> reelle Zufallszahlen wie z.B. der Ziff’sche Generator rnd() <strong>und</strong> die<br />

Mathematica R○ -Funktion Random[] sind in der Regel so konstruiert, dass sie gleichverteilte<br />

Zufallszahlen auf dem Intervall [0, 1] liefern. In der Praxis stellt sich aber oft das<br />

Problem, dass Zufallszahlen mit einer nicht-konstanten Verteilung benötigt werden. Als<br />

Beispiel seien Gauß-verteilte Zufallszahlen genannt.<br />

4.3.1 Transformation der Wahrscheinlichkeitsdichte durch Abbildung<br />

Eine Möglichkeit, Zufallszahlen mit einer nicht-konstanten Verteilung zu erzeugen, besteht<br />

darin, die vom Generator gelieferten gleichverteilten Zufallszahlen ri mit Hilfe einer<br />

deterministischen Funktion f auf eine andere Sequenz zi := f(ri) abzubilden. Von dieser<br />

Funktion wollen wir der Einfachheit halber annehmen, dass sie monoton steigend <strong>und</strong><br />

differenzierbar ist. Die Funktion f bildet dann den Wertebereich ri ∈ [0, 1] auf den neuen<br />

Wertebereich zi ∈ [f(0), f(1)] ab. Ist die Funktion f ausserdem nichtlinear, so wird die<br />

neue Sequenz {zi} auf diesem Intervall nicht mehr gleichverteilt sein.<br />

Die Wirkungsweise einer nichtlinearen Funktion ist in Abb. 4.3) dargestellt. Um die<br />

Transformation von Dichten zu verstehen, ist die r-Achse im Intervall [0, 1] in äquidistanten<br />

Abständen markiert. Diese Werte werden mit der Abbildung f(r) = exp(r 2 ) auf<br />

die vertikale Achse im Intervall [1, e] abgebildet. Hier erhält man offenbar eine variierende<br />

Dichte von Werten, die um so größer ist, je geringer die Steigung der Funktion ist.<br />

Dieser Sachverhalt lässt sich einfach herleiten, wenn man die infinitesimalen Wahrscheinlichkeiten<br />

in den Intervallen [r, r + dr] <strong>und</strong> [s, s + ds] einander gleichsetzt:<br />

P (r) dr = ˜ P (s) ds (4.20)<br />

Die Schlange auf der rechten Seite soll andeuten, dass sich ˜ P auf die Zufallsvariable s<br />

bezieht <strong>und</strong> wird in der Literatur häufig weggelassen. Nach ’Division’ durch ds erhält<br />

man<br />

˜P (s) =<br />

P (r) dr<br />

ds<br />

= P (r)<br />

ds/dr<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

P (r)<br />

=<br />

f ′ , (4.21)<br />

(r)


64 Zufallszahlen<br />

Abbildung 4.3: Veranschaulichung der Transformation der Wahrscheinlichkeitsdichte unter der Funktion<br />

s = f(r) = exp(r 2 ) (siehe Text).<br />

d.h. die Wahrscheinlichkeitsdichte bezüglich s nimmt tatsächlich mit abnehmender Steigung<br />

der Kurve zu.<br />

Beispiel: Gegeben sei die Funktion s = f(r) = exp(r 2 ). Für einen Standard-Generator ist<br />

P (r) = 1 auf dem Definitionsbereich r ∈ [0, 1]. Damit erhält man die Wahrscheinlichkeits-<br />

dichte<br />

˜P (s) =<br />

1<br />

2r exp(r 2 ) =<br />

auf dem Definitionsbereich (1, e] (siehe Abbildung 4.3).<br />

1<br />

2s � ln(s)<br />

In der Praxis ist nun häufig die umgekehrte Fragestellung gegeben, d.h. es wird eine<br />

normierte Verteilung ˜ P (s) auf einem Intervall [s1, s2] vorgegeben <strong>und</strong> man sucht eine<br />

geeignete Funktion f(r), mit der man aus der Standardverteilung eines Zufallszahlengenerators<br />

diese Verteilung erzeugen kann. Dazu integrieren wir Gl. (4.20):<br />

� s<br />

� r<br />

s1<br />

˜P (s ′ ) ds ′ =<br />

0<br />

P (r ′ ) dr ′ = r(s) . (4.22)<br />

Sofern die Integration ausführbar ist, erhält man r(s), also die Umkehrfunktion der gesuchten<br />

Funktion s(r). Eine analytische Lösung erhält man also nur, wenn es einem<br />

gelingt, sowohl die Wahrscheinlichkeitsdichte zu integrieren als auch von dem Resultat<br />

die Umkehrfunktion zu bilden.<br />

Beispiel: Um Zufallszahlen mit der Wahrscheinlichkeitsdichte ˜ P (s) = 1/s auf dem Intervall<br />

[1, e] zu erzeugen, führt man die Integration<br />

r(s) =<br />

� s<br />

aus <strong>und</strong> bildet die Umkehrfunktion s(r) = exp(r).<br />

1<br />

1<br />

s ′ ds′ = ln(s)<br />

Bei Wahrscheinlichkeitsdichten mit mehreren Argumenten kann auf ähnliche Weise verfahren<br />

werden. Ausgangspunkt ist hier die Gleichung<br />

P (r1, r2, . . . , rn)dr1dr2 · · · drn = P (s1, s2, . . . , sn)ds1ds2 · · · dsn (4.23)<br />

Die zu Gl. (4.21) analoge Gleichung lautet<br />

˜P (s) =<br />

P (r)<br />

J<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

, (4.24)


4.3 Zufallszahlen mit nichtkonstanter Verteilung 65<br />

wobei J = |∂si/∂rj| die Jacobi-Determinante ist.<br />

4.3.2 Normalverteilte Zufallszahlen<br />

Zufallszahlen s ∈ R mit der Wahrscheinlichkeitsdichte<br />

P (s) = 1<br />

σ √ 2π exp<br />

�<br />

−<br />

(s − µ)2<br />

2σ 2<br />

�<br />

(4.25)<br />

heißen normalverteilt. Diese nach ihrem Entdecker benannte Gaußverteilung in Form<br />

einer Glockenkurve spielt eine zentrale Rolle in der statistischen <strong>Physik</strong>.<br />

Die Gaußverteilung ist normiert (d.h. � +∞<br />

−∞ P (s)ds = 1), hat den Mittelwert<br />

� +∞<br />

〈s〉 = sP (s) ds = µ (4.26)<br />

<strong>und</strong> die Varianz<br />

−∞<br />

〈(s − 〈s〉) 2 � +∞<br />

〉 = (s − µ) 2 P (s) ds = σ 2 . (4.27)<br />

−∞<br />

Die beiden Parameter µ <strong>und</strong> σ legen also den Mittelwert <strong>und</strong> die Standardabweichung<br />

der Verteilung fest.<br />

Wir wollen nun versuchen, die Standard-Gaußverteilung mit µ = 0 <strong>und</strong> σ = 1 zu erzeugen<br />

indem wir eine gleichverteilte Zufallszahl r auf geeignete Weise abbilden. Integriert man<br />

die Gaußverteilung auf die oben beschriebene Weise, so erhält man<br />

� s 1<br />

r(s) = √ e<br />

2π −s′2 /2 ′ 1<br />

�<br />

ds = 1 + erf(s/<br />

2<br />

√ �<br />

2) , (4.28)<br />

−∞<br />

wobei erf(x) die sogenannte Fehlerfunktion (error function) ist. Allerdings gibt es keinen<br />

geschlossenen Ausdruck <strong>für</strong> diese Funktion <strong>und</strong> sie ist deshalb auch nicht in geschlossener<br />

Form invertierbar. Mit anderen Worten: Obwohl die gesucht Abbildung s(r) im<br />

mathematischen Sinne existiert, ist sie nicht mit Hilfe einer Formel ausdrückbar. Das<br />

oben beschriebene Verfahren ist also in diesem Fall nicht anwendbar.<br />

4.3.3 Box-Muller Transformation<br />

Einen Ausweg bietet die sogenannte Box-Muller-Transformation, mit der man zwei Zufallszahlen<br />

auf einmal erzeugt. Beide sind normalverteilt sind, d.h.<br />

P (x) dx =<br />

P (y) dy =<br />

1<br />

√ 2π e −x2 /2 dx (4.29)<br />

1<br />

√ 2π e −y2 /2 dy .<br />

Ausserdem sollen die Zufallszahlen unkorreliert sein, die gemeinsame Wahrscheinlichkeitsdichte<br />

soll also faktorisieren:<br />

P (x, y) dxdy = 1<br />

2π exp<br />

�<br />

− x2 + y2 �<br />

dxdy . (4.30)<br />

2<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


66 Zufallszahlen<br />

Ansatzpunkt der Box-Muller-Transformation ist ein Wechsel zu Polarkoordinaten<br />

ρ = x 2 + y 2 , Θ = arctan(y/x) . (4.31)<br />

Dabei beachte man, das ρ nicht wie sonst üblich der Radius, sondern das Quadrat des<br />

Radius ist. Gemäß Gl. (4.24) ist die Wahrscheinlichkeitsdichte in den neuen Koordinaten<br />

durch<br />

˜P (ρ, Θ) = 1<br />

gegeben, wobei<br />

P (x, y)<br />

J<br />

(4.32)<br />

� �<br />

�∂(ρ,<br />

Θ) �<br />

�<br />

�<br />

�<br />

∂ρ ∂ρ<br />

�<br />

�<br />

�<br />

�<br />

� 2x 2y<br />

�<br />

�<br />

J = � �<br />

� ∂(x, y) � = �<br />

�<br />

∂x<br />

∂Θ<br />

∂x<br />

∂y<br />

∂Θ<br />

∂y<br />

�<br />

� = �<br />

�<br />

− y<br />

x 2 +y 2<br />

x<br />

x 2 +y 2<br />

�<br />

� = 2 , (4.33)<br />

die Jacobi-Matrix der Abbildung ist. Die transformierte Wahrscheinlichkeitsdichte lautet<br />

also<br />

˜P (ρ, Θ) = 1 1 1<br />

P (x, y) =<br />

2 2 2π e−ρ/2 . (4.34)<br />

Man beachte, dass dieses Ergebnis nur von ρ aber nicht von Θ abhängt. Die beiden<br />

Zufallszahlen sind also bezüglich Θ auf dem Intervall [0, 2π] mit einer konstanten Wahrscheinlichkeitsdichte<br />

1<br />

2π gleichverteilt. Bezüglich ρ besteht keine Gleichverteilung, deshalb<br />

benötigt man hier eine Abbildungsfunktion r → ρ, die nach dem zuvor beschriebenen<br />

Verfahren ermittelt wird. Dazu wird das Ergebnis in Gl. (4.34) über Θ <strong>und</strong> ρ integriert<br />

<strong>und</strong> die Umkehrfunktion gebildet:<br />

r(ρ) = 1<br />

� ρ<br />

e<br />

2<br />

−ρ′ /2 ′ −ρ/2<br />

dρ = 1 − e =⇒ ρ(r) = −2 ln(1 − r) (4.35)<br />

0<br />

Da r eine gleichverteilte Zufallszahl zwischen 0 <strong>und</strong> 1 ist, haben r <strong>und</strong> 1 − r statistisch<br />

identische Eigenschaften, so dass man auch ρ(r) = −2 ln r setzen kann. Mit dieser Abbildung<br />

lassen sich Standard-Zufallszahlen r ∈ [0, 1] leicht in den quadrierten Radius ρ<br />

umrechnen. 4 Anschließend müssen ρ <strong>und</strong> Θ nur noch in die entsprechenden kartesischen<br />

Koordinaten x, y umgerechnet werden. Die beiden normalverteilten Zufallszahlen lassen<br />

sich also beispielsweise mit folgendem Codefragment erzeugen:<br />

...<br />

// ***************** Box-Muller-Transformation ********************<br />

double q,r,theta,rho,x,y;<br />

q=rnd(); // Erzeuge zwei Zufallszahlen<br />

r=rnd(); // q <strong>und</strong> r gleichverteilt in [0,1]<br />

theta = 2*M_PI*q; // Berechne gleichverteilten Winkel<br />

rho = - 2*log(r); // Benutze Abbildungsfunktion<br />

x = sqrt(rho)*cos(theta); // erste Gauß-verteilte Zufallszahl<br />

y = sqrt(rho)*sin(theta); // zweite Gauß-verteilte Zufallszahl<br />

...<br />

4 Der Logarithmus von 0 ist nicht definiert <strong>und</strong> würde zu einer Fehlermeldung führen. Obwohl die<br />

Wahrscheinlichkeit <strong>für</strong> den Wert r = 0 <strong>für</strong> einen idealen Zufallszahlengenerator gleich Null ist, ist es<br />

nicht ausgeschlossen, dass ein Pseudozufallszahlengenerator wegen der Diskretisierung mit einer sehr<br />

kleinen Wahrscheinlichkeit diesen Wert liefert. Ein verbesserter Code sollte dieses Problem durch eine<br />

zusätzliche Abfrage umgehen.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


4.3 Zufallszahlen mit nichtkonstanter Verteilung 67<br />

4.3.4 Verbesserte Box-Muller Transformation<br />

Das obige Codefragment funktioniert einwandfrei, doch ist es relativ langsam, da zwei<br />

trigonometrische Funktionen <strong>und</strong> ein Logarithmus ausgeführt werden müssen. Zur Berechnung<br />

solcher Funktionen stellen moderne Prozessoren zwar integrierte hocheffiziente<br />

Hardware zur Verfügung, doch auch in solchen Chips muss eine Sinusfunktion über eine<br />

Reihendarstellung approximiert werden.<br />

Die verbesserte Box-Muller Transformation benutzt einen Trick, um Winkelfunktionen<br />

zu vermeiden. Um Zufallszahlen auf einer Kreisscheibe zu erzeugen, werden zunächst zwei<br />

gleichverteilte Zufallszahlen xs, ys zwischen −1 <strong>und</strong> 1 generiert. Anschaulich ausgedrückt<br />

wird dadurch ein Quadrat [−1, 1] ⊗ [−1, 1] ⊂ R 2 gleichverteilt mit Zufallszahlen belegt.<br />

Wenn die oben dargestellte Zielscheibe nicht getroffen wird, wenn also x 2 s + y 2 s > 1 ist,<br />

werden die Zufallszahlen einfach nochmal erzeugt:<br />

double xs,ys;<br />

do {<br />

xs = 2*rnd()-1; // Erzeuge zwei Zufallszahlen in [-1,1]<br />

ys = 2*rnd()-1;<br />

} // Wiederhole diesen Vorgang bis das<br />

while (xs*xs+ys*ys > 1); // Ergebnis im Einheitskreis liegt.<br />

Knapp ein Viertel der Versuche werden also erfolglos sein, doch die auf diese Weise<br />

verschwendete Rechenzeit ist immer noch geringer als jene, die <strong>für</strong> die Berechnung der<br />

Winkelfunktionen notwendig wäre. Die Zahlen xs <strong>und</strong> ys sind ausserdem bereits bezüglich<br />

des Winkels gleichförmig verteilt, doch die Radialverteilung hat noch nicht die gewünschte<br />

Form. So ist ρs = x2 s +y2 s mit konstanter Wahrscheinlichkeitsdichte auf dem Intervall [0, 1]<br />

verteilt, erzeugen möchte man jedoch die Verteilung<br />

˜P (ρ) =<br />

� 2π<br />

0<br />

dΘ ˜ P (ρ, Θ) = 1<br />

2 e−ρ/2 . (4.36)<br />

Die (xs, ys)-Vektoren müssen also noch auf geeignete Weise in ihrer Länge skaliert werden,<br />

um diese Verteilung zu erhalten. Dazu wird wiederum ˜ P (ρ) integriert <strong>und</strong> die Umkehrfunktion<br />

gebildet:<br />

ρs = 1<br />

2<br />

� ρ<br />

0<br />

e −ρ′ /2 dρ ′ = 1 − e −ρ/2 =⇒ ρ = −2 ln(1 − ρs) (4.37)<br />

wobei wieder 1 − ρs durch ρs ersetzt werden darf, da ρs gleichverteilt auf [0, 1] ist. Wegen<br />

x/xs = y/ys = � ρ/ρs gelangt man zu<br />

� �<br />

x = xs −2 ln(ρs)/ρs , y = ys −2 ln(ρs)/ρs . (4.38)<br />

bzw. als Codefragment:<br />

double rhos = xs*xs + ys*ys;<br />

double b = sqrt(-2*log(rhos)/rhos);<br />

double x = xs*b;<br />

double y = ys*b;<br />

Die verbesserte Box-Muller-Transformation erfordert also immer noch die Auswertung<br />

eines Logarithmus, vermeidet jedoch die beiden Winkelfunktionen <strong>und</strong> ist daher etwas<br />

schneller.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


68 Zufallszahlen<br />

4.3.5 Umgang mit Wahrscheinlichkeitsverteilungen in Mathematica R○<br />

Für kontinuierliche Wahrscheinlichkeitsdichten sieht Mathematica R○ einen eigenen Datentyp<br />

vor. Zunächst muss dazu der Befehl<br />


4.4 Aufgaben 69<br />

Erzeugen Sie die Summe<br />

s =<br />

N�<br />

i=1<br />

von N reellen Zufallszahlen ri, die gleichförmig über das Intervall ri ∈ [0, 1] verteilt sind.<br />

Überzeugen Sie sich, dass <strong>für</strong> große N der Mittelwert 〈s〉 <strong>und</strong> die Standardabweichung σ<br />

durch<br />

〈s〉 = N/2 , σ 2 = 〈s 2 〉 − 〈s〉 2 = N/12<br />

gegeben sind, wobei 〈. . .〉 die Mittelung über viele statistisch unabhängig erzeugte Summen<br />

s bezeichnet.<br />

Führen Sie dann die Summation <strong>für</strong> fest gewähltes N = 10, 100, 1000 mit unabhängigen<br />

Zufallszahlen viele Male durch <strong>und</strong> plotten Sie die gemittelte Häufigkeitsverteilung der<br />

Summen s in einem Histrogramm. Vergleichen Sie das Resultat mit der Gaußverteilung<br />

P (s) = 1<br />

σ √ 2π exp<br />

ri<br />

� −(s − 〈s〉) 2<br />

Aufgabe 4.9 (Umrechnung von Wahrscheinlichkeitsdichten)<br />

Gegeben sei die Wahrscheinlichkeitsdichte<br />

�<br />

α−1<br />

P (x, y) = 2π (x2 + y2 ) −(α+1)/2 falls x2 + y2 > 1<br />

0 andernfalls<br />

2σ 2<br />

�<br />

.<br />

. (4.39)<br />

(a) Schreiben Sie ein Programm, das Paare von Zufallszahlen (x, y) generiert, die gemäß<br />

der Wahrscheinlichkeitsdichte P (x, y) verteilt sind, wobei α > 1 ein reeller<br />

Parameter ist.<br />

Hinweis: Die Verfahrensweise ist ähnlich wie bei der Box-Muller-Transformation.<br />

(b) Erstellen Sie <strong>für</strong> α = 2 ein Histogramm <strong>für</strong> N = 10 7 solche Paare im Wertebereich<br />

(x, y) ∈ [−5, 5] ⊗ [−5, 5] mit der Auflösung ∆x = ∆y = 1/100. Normieren Sie das<br />

Histogramm auf geeignete Weise, so dass es die Wahrscheinlichkeitsdichte P (x, y)<br />

approximiert.<br />

Hinweis: In C++ erfordert dies eine Laufzeit von ca. 10 Sek<strong>und</strong>en. Mathematica ist<br />

erheblich langsamer, – hier müssen die Parameter evt. angepasst werden.<br />

(c) Plotten Sie einen Schnitt bei y = 0 durch das Histogramm <strong>und</strong> überlagern Sie die<br />

Kurve der vorgegebenen Verteilung P (x, 0) <strong>für</strong> α = 2.<br />

Aufgabe 4.10 (Populationsdynamik)<br />

Untersuchen Sie eine Kolonie von Bakterien, die innerhalb einer Sek<strong>und</strong>e mit jeweils<br />

gleicher Wahrscheinlichkeit entweder sterben oder sich in jeweils zwei Bakterien teilen.<br />

Schreiben Sie ein Programm, das diesen Vorgang simuliert, wobei es mit einem einzelnen<br />

Bakterium startet. Wie groß ist die mittlere Bakterienanzahl <strong>und</strong> die Überlebenswahrscheinlichkeit<br />

der Kolonie nach n Zeitschritten? Tragen Sie das Ergebnis grafisch bis<br />

n = 100 auf.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


5 Zufallsbewegung<br />

Der einfachste stochastische Prozess ist die zufällige Bewegung (random walk) eines Teilchens.<br />

Zufallsbewegungen sind in der Natur auf vielfältige Weise realisiert. So bewegt<br />

sich beispielsweise ein individuelles Molekül in einem Gas auf einer irregulären Trajektorie,<br />

die sich wegen der komplexen Abfolge von Wechselwirkungen mit anderen Molekülen<br />

aus (scheinbar) zufälligen Einzelbewegungen zusammensetzt. Der random walk ist also<br />

<strong>für</strong> unser Verständnis von Diffusionsprozessen <strong>und</strong> später auch <strong>für</strong> diffusionsgetriebener<br />

chemische Prozesse von gr<strong>und</strong>legender Bedeutung.<br />

5.1 Universalität der Gaußverteilung<br />

Da sich die aktuelle Koordinate eines random walkers aus der Summe aller Einzelbewegungen<br />

ergibt <strong>und</strong> diese Einzelbewegungen als unkorreliert angenommen werden, wollen<br />

wir im Folgenden zunächst die Addition von Zufallsgrößen behandeln. Daran anschließend<br />

wird dann mit Hilfe des zentralen Grenzwertsatzes gezeigt werden, dass die Summe<br />

vieler Zufallsgrößen unter sehr allgemeinen Voraussetzungen immer normalverteilt ist,<br />

d.h. die Form einer Gauß-Glocke besitzt.<br />

5.1.1 Addition von Zufallsgrößen<br />

Seien r1, r2 zwei gleichverteilte unkorrelierte Zufallszahlen<br />

zwischen 0 <strong>und</strong> 1. Dann ist die Summe S =<br />

r1 + r2 dieser beiden Zufallszahlen wiederum eine<br />

Zufallszahl zwischen 0 <strong>und</strong> 2. Allerdings ist S nicht<br />

mehr gleichverteilt, sondern besitzt eine dreiecksförmige<br />

Wahrscheinlichkeitsdichte.<br />

P(s)<br />

1<br />

0 1<br />

2<br />

Wie berechnet man eine solche Verteilung auf systematische Weise? Als Beispiel betrachten<br />

wir zunächst zwei unkorrelierte Zufallsgrößen X1, X2 mit Wahrscheinlichkeitsdichten<br />

P1(X1), P2(X2) <strong>und</strong> bilden deren Summe S = X1 + X2. Wie man sich überzeugen kann,<br />

ist die Wahrscheinlichkeitsdichte der Zufallsgröße S durch das Faltungsintegral<br />

� +∞<br />

PS(S) = [P1 ∗ P2] (S) = dX1 P1(X1)P2(S − X1) (5.1)<br />

−∞<br />

gegeben, womit sich die dreieckige Form der Verteilung P (S) im obigen Beispiel mit<br />

geeigneten Fallunterscheidungen leicht verifizieren lässt.<br />

Auf integrierbaren Funktionen sind Faltungsprodukte assoziativ, d.h.<br />

f ∗ (g ∗ h) = (f ∗ g) ∗ h , (5.2)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

s


72 Zufallsbewegung<br />

so dass man Faltungsprodukte sehr einfach hintereinanderschalten kann. Betrachtet man<br />

beispielsweise n unkorrelierte Zufallsgrößen X1, . . . , Xn mit Wahrscheinlichkeitsdichten<br />

Pi(Xi) <strong>und</strong> bildet deren Summe S = �n i=1 Xi, so erhält man durch Hintereinanderausführung<br />

der Faltungsprodukte den Ausdruck<br />

PS(S) = [P1 ∗ P2 ∗ . . . ∗ Pn] (S) (5.3)<br />

=<br />

� �<br />

. . .<br />

n−1 �<br />

dX1dX2 . . . dXn−1 P1(X1)P2(X2) · · · Pn−1(Xn−1)Pn(S − Xi) .<br />

Eine mehrfache Faltung ist also das Mehrfachintegral über ein Produkt von Funktionen<br />

derart, dass die Summe der Argumente auf der rechten Seite dem Argument auf der<br />

linken Seite entspricht.<br />

Beweis: Zum Beweis von Gl. (5.3) wollen wir das Problem auf die folgende noch allgemeinere<br />

Weise formulieren: Seien X1, X2, . . . , Xn Zufallsgrößen mit der Wahrscheinlichkeitsdichte<br />

P (X1, X2, . . . , Xn), d.h. die Zufallsgrößen dürfen sogar korreliert sein. Ferner sei<br />

i=1<br />

S = F (X1, X2, . . . , Xn) (5.4)<br />

eine beliebige Funktion dieser Größen. Offenbar tragen zur Wahrscheinlichkeitsdichte P (S)<br />

an der Stelle S alle jene Konfigurationen der Zufallsgrößen X1, . . . , Xn bei, welche durch<br />

diese Funktion auf S abgebildet werden, d.h.<br />

� � �<br />

�<br />

�<br />

PS(S) = dX1 dX2 . . . dXn P (X1, X2, . . . , Xn) δ S − F (X1, X2, . . . , Xn) , (5.5)<br />

wobei δ die Dirac’sche Deltafunktion ist. Auf der rechten Seite steht also die Zustandssumme<br />

gewichtet mit der Wahrscheinlichkeitsdichte der Zustände unter der Nebenbedingung,<br />

dass die Gl. (5.4) erfüllt ist.<br />

Dieses Integral lässt sich auswerten sofern Gl. (5.4) nach einer der Zufallsgrößen Xi explizit<br />

auflösbar ist. Ohne Beschränkung der Allgemeinheit wollen wir annehmen, dass die<br />

Gleichung nach Xn eindeutig auflösbar sei, also in der Form<br />

Xn = G(X1, X2, . . . , Xn−1, S) (5.6)<br />

geschrieben werden kann. Als notwendige Bedingung da<strong>für</strong> muss die partielle Ableitung<br />

∂F (X1, X2, . . . , Xn)<br />

J(X1, X2, . . . , Xn) =<br />

∂Xn<br />

von Null verschieden sein. Wegen δ(ax) = |a| −1 δ(x) ist also<br />

�<br />

�<br />

δ S − F (X1, X2, . . . , Xn) =<br />

�<br />

�<br />

�<br />

�<br />

�J(X1, X2, . . . , Xn) � −1<br />

δ � Xn − G(X1, X2, . . . , Xn−1, S) �<br />

(5.7)<br />

so dass man nun die Integration über Xn ausführen kann:<br />

� � � � �<br />

��<br />

�<br />

�� −1<br />

PS(S) = dX1 dX2 . . . dXn−1 �J X1, . . . , Xn−1, G(X1, X2, . . . , Xn−1, S)<br />

�<br />

�<br />

× P X1, . . . , Xn−1, G(X1, X2, . . . , Xn−1, S) (5.8)<br />

Wir testen diesen sehr allgemeinen Ausdruck anhand zweier Beispiele:<br />

• Skalierung: Für n = 1 <strong>und</strong> S = F (X) = aX ist J = a <strong>und</strong> G(S) = S/a. Man erhält<br />

in diesem Fall den bekannten Ausdruck PS(S) = |a| −1 PS(S/a) <strong>für</strong> die Umskalierung<br />

einer Wahrscheinlichkeitsdichte.<br />

• Addition zweier Zufallsgrößen: Mit n = 2 <strong>und</strong> S = F (X1, X2) = X1 + X2<br />

erhält man J = 1 <strong>und</strong> G(X1, S) = S − X1, womit man auf das zuvor betrachtete<br />

Faltungsintegral geführt wird:<br />

�<br />

PS(S) = dX1 P (X1, S − X1) . (5.9)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


5.1 Universalität der Gaußverteilung 73<br />

5.1.2 Faltungssatz<br />

Die bei der Addition von Zufallsgrößen auftretenden Faltungsintegrale <strong>für</strong> die Wahrscheinlichkeitsdichten<br />

können mit Hilfe des Faltungssatzes vereinfacht werden. Sei dazu<br />

�Pi(k) = 1<br />

� +∞<br />

√ dXi e<br />

2π<br />

ikXi Pi(Xi) (5.10)<br />

−∞<br />

die Fouriertransformierte von Pi(Xi). Nach dem Faltungssatz ist dann die Fouriertransformierte<br />

des Faltungsprodukts PS(S) = [P1 ∗ P2] (S) bis auf einen Faktor gleich dem<br />

gewöhnlichen Produkt der Fouriertransformierten:<br />

�PS(k) = √ 2π � P1(k) � P2(k) (5.11)<br />

Durch Fouriertransformation lässt sich also ein Faltungsprodukt auf gewöhnliche Multiplikation<br />

zurückführen.<br />

Beweis: Die linke Seite von Gl. (5.11) ist gegeben durch<br />

�PS(k) =<br />

=<br />

1<br />

√ 2π<br />

1<br />

√ 2π<br />

� +∞<br />

−∞<br />

� +∞<br />

−∞<br />

dS e ikS PS(S)<br />

dS e ikS<br />

� +∞<br />

−∞<br />

dX1 P1(X1) P2(S − X1) .<br />

Vertauscht man nun die Integrale <strong>und</strong> substituiert S → S + X1, so erhält man<br />

�PS(k) =<br />

1<br />

√ 2π<br />

= √ 2π<br />

� +∞<br />

−∞<br />

� 1<br />

√2π<br />

dX1<br />

� +∞<br />

−∞<br />

� +∞<br />

−∞<br />

= √ 2π � P1(k) � P2(k) .<br />

dS e ik(S+X1) P1(X1) P2(S)<br />

dX e ikX � �<br />

1<br />

P1(X) √2π<br />

� +∞<br />

−∞<br />

dX e ikX �<br />

P2(X)<br />

Der Faltungssatz ist auch auf die Faltung von mehr als zwei Funktionen wie in Gl. (5.3)<br />

anwendbar <strong>und</strong> lautet:<br />

�PS(k) =<br />

�<br />

�<br />

�<br />

P1 ∗ P2 ∗ . . . ∗ Pn<br />

(k) = (2π)(n−1)/2 P1(k) � � P2(k) · . . . · � Pn(k) (5.12)<br />

Bei identische Verteilungen P1 = P2 = . . . = P läuft dies auf eine Potenzierung der<br />

Fouriertransformierten hinaus:<br />

�PS(k) = (2π) (n−1)/2 ( � P (k)) n . (5.13)<br />

5.1.3 Transformierte Wahrscheinlichkeitsdichte eines Standardgenerators<br />

Um die Anwendung des Faltungssatzes zu demonstrieren, bilden wir zunächst die Fouriertransformierte<br />

der gleichverteilten Wahrscheinlichkeitsdichte<br />

�<br />

1 falls 0 ≤ r ≤ 1<br />

P (r) =<br />

(5.14)<br />

0 andernfalls<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


74 Zufallsbewegung<br />

^<br />

Re(P(k))<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

-10 -5 5 10<br />

-0.1<br />

^<br />

Im(P(k))<br />

-0.2<br />

-0.3<br />

^<br />

|P(k)|<br />

Abbildung 5.1: Betrag sowie Real- <strong>und</strong> Imaginärteil der Fouriertransformierten der Verteilungsfunktion<br />

eines Standard-Zufallszahlengenerators.<br />

eines Standard-Zufallszahlengenerators:<br />

�P (k) = 1<br />

√ 2π<br />

� +∞<br />

−∞<br />

e ikr P (r) dr = 1<br />

√ 2π<br />

� 1<br />

0<br />

k<br />

e ikr dr = i(1 − eik )<br />

k √ 2π<br />

(5.15)<br />

Die Singularität bei k = 0 ist hebbar, so dass man eine stetige Funktion erhält, die in<br />

Abb. 5.1 abgebildet ist. Wie man sehen kann, befindet sich das betragsmäßige Maximum<br />

der Funktion in der Mitte bei k = 0.<br />

Beispiel: Die folgenden Mathematica R○ -Befehle führen die Faltung von n Standardzufallszahlen<br />

mit Hilfe des Faltungssatzes aus:<br />

1. Berechne Fouriertransformierte der Verteilung einer Standard-Zufallszahl<br />

FT =<br />

� 10<br />

e ikr � 10<br />

e dr<br />

√<br />

2π<br />

ikr � 10<br />

e dr<br />

√<br />

2π<br />

ikr dr<br />

√<br />

2π<br />

− i(−1+eik )<br />

k √ 2π<br />

2. Bilde n -te Potenz des Ergebnisses <strong>und</strong> transformiere zurück:<br />

FTP[n_]:=(2π) n−1<br />

2 FT n FTP[n_]:=(2π) ;<br />

n−1<br />

2 FT n FTP[n_]:=(2π) ;<br />

n−1<br />

2 FT n ; P [n_]:=InverseFourierTransform[FTP[n], k, r]<br />

3. Plotte das Ergebnis <strong>für</strong> n =2,3,4,5:<br />

Plot[{P [2], P [3], P [4], P [5]}, {r, −1, 5}, 5},PlotRange PlotRange → {0, 1}];<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


5.1 Universalität der Gaußverteilung 75<br />

^<br />

|P(k)| N<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

-15 -10 -5 5 10 15<br />

k<br />

-15 -10 -5 5 10 15<br />

-2<br />

-4<br />

-6<br />

-8<br />

-10<br />

N ln |P(k)|<br />

^<br />

Abbildung 5.2: Betrag von (2π) (N−1)/2 |PS(k)| N <strong>für</strong> N = 2, 4, 8, 16, 32 in linearer <strong>und</strong> logarithmischer<br />

Darstellung. Durch die Potenzierung überlebt im Limes großer N nur der Bereich in<br />

der Nähe des Maximums der Funktion.<br />

Wie man an diesem Beispiel sehen kann, ist schon die Summe weniger Zufallszahlen an-<br />

nähernd normalverteilt. Wenn es auf quantitative Genauigkeit nicht ankommt, wird in der<br />

Praxis die Summenbildung häufig als Trick benutzt, um quasi-normalverteilte Zufallszah-<br />

len zu erzeugen. Für quantitive Probleme in der <strong>Physik</strong> ist die Box-Müller-Transformation<br />

allerdings besser geeignet.<br />

Mit der fouriertransformierten Wahrscheinlichkeitsdichte des Standardzufallszahlengenerators<br />

<strong>und</strong> dem Faltungssatz sind wir nun in der Lage, die Verteilungsfunktion <strong>für</strong> eine<br />

Summe von N Zufallszahlen auszurechnen <strong>und</strong> den Limes N → ∞ zu untersuchen.<br />

5.1.4 Zentraler Grenzwertsatz<br />

Der zentrale Grenzwertsatz besagt, dass bei Addition sehr vieler Zufallsgrößen die Wahrscheinlichkeitsdichte<br />

der Summe in der Regel gegen eine Gaußverteilung konvergiert.<br />

Ausgedrückt in akustischen Metaphern heißt dies, dass sich das Konzert einer großen<br />

Anzahl unkorrelierter Rauschquellen stets gleich anhört da man stets ein normalverteiltes<br />

sogenanntes weisses Rauschen erhält.<br />

Die Voraussetzungen <strong>für</strong> zentralen Grenzwertsatz sind sehr allgemein. So spielt es beispielsweise<br />

keine Rolle, wie die jeweiligen Verteilungen der Zufallsgrößen konkret aussehen,<br />

sofern diese im Unendlichen nur schnell genug abfallen. Der zentrale Grenzwertsatz<br />

ist damit paradigmatisch <strong>für</strong> Universalität in der statistischen <strong>Physik</strong>. Der Begriff der<br />

Universalität umschreibt die Tatsache, dass mikroskopisch völlig unterschiedliche Systeme<br />

das gleiche makroskopische Verhalten aufweisen können.<br />

Der Einfachheit halber wollen wir annehmen, dass N gleichartig verteilte Zufallsgrößen<br />

aufaddiert werden. Gl. (5.12) wird dann zu<br />

�<br />

P (N)<br />

S (k) = (2π) (N−1)/2 [ � P (k)] N<br />

k<br />

(5.16)<br />

Betrachtet man nun große N, so wird sich der betragsmäßig maximale Bereich der Funktion<br />

� P (k) zunehmend durchsetzen. Dieser Sachverhalt ist in Abb. 5.2 dargestellt. Der<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


76 Zufallsbewegung<br />

linke Graph zeigt verschiedene Potenzen von | � P (k)|, wobei die Kurven bei k = 0 auf den<br />

gleichen Wert normiert sind. Wie man sehen kann, setzt sich <strong>für</strong> große N das betragsmäßige<br />

Maximum der Kurve durch <strong>und</strong> bildet eine zunehmend δ-förmige Verteilung,<br />

während die detailreiche Struktur der Kurve <strong>für</strong> k �= 0 mit zunehmendem N immer<br />

mehr unterdrückt wird. Diese Details sind es aber, welche die rechteckige Struktur der<br />

ursprünglichen Verteilung codieren.<br />

Da die Kurve eine bei k = 0 konzentrierte Form annimmt, ist es nützlich, den Logarithmus<br />

von [ � P (k)] N zu betrachten, dessen Betrag im rechten Graphen dargestellt ist. In dieser<br />

Darstellung bewirkt die Potenzbildung eine Streckung der Kurven um den Faktor N in<br />

senkrechter Richtung. Wie man sehen kann, erhält man <strong>für</strong> große N in der Nähe von<br />

k = 0 annähernd eine nach unten geöffnete Parabel.<br />

Die Beweisidee <strong>für</strong> den zentralen Grenzwertsatz beruht darauf, ln[ � PS(k)] durch eine Parabel<br />

näherungsweise zu beschreiben, also eine Taylorentwicklung zweiter Ordnung<br />

� � �<br />

ln �PS(k) = ln (2π) (N−1)/2 [ � P (k)] N�<br />

= a + bk − ck 2 + O(k 3 ) (5.17)<br />

durchzuführen, wobei a, b <strong>und</strong> c Koeffizienten sind, die von N abhängen. In dieser Näherung<br />

ist<br />

�PS(k) ≈ exp(a) exp(bk − ck 2 ) (5.18)<br />

nämlich eine Gaußverteilung, deren Fouriertransformierte wiederum eine Gaußverteilung<br />

ist. Der lineare Anteil in k kann dabei durch quadratische Ergänzung absorbiert werden.<br />

Da man von den höheren Ordnungen der Taylorentwicklung zeigen kann, dass deren<br />

Beiträge <strong>für</strong> N → ∞ gegen Null skalieren, bleibt in diesem Limes tatsächlich die Normalverteilung<br />

als Grenzwert übrig. Nähere Details dazu sind im Anhang ?? dargestellt.<br />

Beispiel: Bei der Addition von N Standard-Zufallszahlen S = �N i=1<br />

ri mit ri ∈ [0, 1] ist<br />

ln � P (N)<br />

S (k) =<br />

⇒ � P (N)<br />

S (k) �<br />

−∞<br />

N − 1<br />

2<br />

ln 2π + N ln � P (k)<br />

� − 1 ikN<br />

ln 2π −<br />

2 2 − k2N 2<br />

24 + O(k3 )<br />

1<br />

�<br />

√ exp −<br />

2π ikN<br />

2 − k2N 2 �<br />

24<br />

Nach Ausführung der inversen Fouriertransformation erhält man in der Tat die Normalverteilung<br />

P (N)<br />

S = 1<br />

� +∞<br />

√ dk<br />

2π<br />

� P (N)<br />

�<br />

6<br />

S (k) =<br />

Nπ exp<br />

�<br />

− 6<br />

�<br />

(r − N/2)2 (5.19)<br />

N<br />

Wie man leicht zeigen kann, ist diese Verteilung korrekt normiert. Mittelwert <strong>und</strong> Varianz<br />

sind gegeben durch<br />

〈r〉 = N/2 σ 2 = 〈r 2 〉 − 〈r〉 2 = N/12 (5.20)<br />

5.2 Die eindimensionale Zufallsbewegung<br />

Um die gr<strong>und</strong>legenden Begriffe stochastischer Vielteilchensysteme an einem einfachen<br />

Beispiel einzuführen, betrachten wir zunächst eine Zufallsbewegung (random walk) eines<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


5.2 Die eindimensionale Zufallsbewegung 77<br />

Abbildung 5.3: Eindimensionale Zufallsbewegung (random walk). Ein Teilchen springt in jedem Zeitschritt<br />

mit gleicher Wahrscheinlichkeit nach rechts bzw. nach links.<br />

einzigen Teilchens in einer Dimension. Wir wollen annehmen, dass sich das Teilchen auf<br />

einer Kette mit diskreten Plätzen (sites) befindet (siehe Abb. 5.3). Der Zustand, also<br />

die Konfiguration des Systems, ist vollständig durch die Position x(t) ∈ Z des Teilchens<br />

charakterisiert. Die Dynamik des Systems sei nun dadurch definiert, dass in jedem Zeitschritt<br />

das Teilchen mit gleicher Wahrscheinlichkeit nach rechts oder nach links springt.<br />

Die Zeit t ∈ N ist also ganzzahlig <strong>und</strong> gleich der Anzahl der ausgeführten Sprünge.<br />

Die Dynamik lässt sich durch eine stochastische Bewegungsgleichung<br />

x(t + 1) = x(t) + R(t) (5.21)<br />

beschreiben, wobei R(t) eine bimodal verteilte Zufallsgröße ist, d.h. sie nimmt nur zwei<br />

mögliche Werte an. R(t) hat folgende Eigenschaften:<br />

- Wertebereich: R(t) = ±1<br />

- Mittelwert: 〈R(t)〉 = 0<br />

- Korrelationsfreiheit: 〈R(t)R(t ′ )〉 = δt,t ′<br />

Diese Dynamik lässt sich beispielsweise in C++ durch die Befehlszeilen<br />

if (rnd()


78 Zufallsbewegung<br />

<strong>und</strong> hat die Struktur eines normierten Pascal-Dreiecks. Die Fallunterscheidung ist erforderlich,<br />

weil sich das Teilchen sich bei dem betrachteten Prozess zu geraden (ungeraden)<br />

Zeitschritten nur auf geraden (ungeraden) Plätzen aufhalten kann. Für große Zeiten approximiert<br />

die Binomialverteilung wie erwartet die Gaußsche Normalverteilung.<br />

5.2.2 Kontinuumlimes<br />

Zum Verständnis der makroskopischen Eigenschaften eines stochastischen Prozesses ist<br />

es oft nützlich, einen geeigneten Kontinuumlimes zu betrachten, in dem die diskrete Gitterstruktur<br />

<strong>und</strong> die diskreten Zeitschritte nicht mehr sichtbar sind. Dabei geht man zu<br />

kontinuierlichen Parametern über (hier also zu x, t ∈ R) <strong>und</strong> beschreibt die Wechselwirkung<br />

mit benachbarten Plätzen durch geeignete Differentialoperatoren.<br />

Im Fall der eindimensionalen Zufallsbewegung subtrahieren wir zunächst Pt(x) auf beiden<br />

Seiten der Mastergleichung (5.23):<br />

Pt+1(x) − Pt(x)<br />

� �� �<br />

≈ ∂/∂t<br />

= 1<br />

�<br />

�<br />

Pt(x − 1) − 2Pt(x) + Pt(x + 1)<br />

2<br />

(5.25)<br />

� �� �<br />

≈ ∂ 2 /∂ 2 x<br />

Ohne hier auf die mathematisch korrekte Durchführung eines Kontinuumlimes eingehen<br />

zu wollen, sieht man sehr leicht, dass sich auf der linken Seite eine diskretisierte erste<br />

Ableitung nach der Zeit befindet, während auf der rechten Seite eine diskretisierte zweite<br />

Ableitung zu sehen ist. Im Kontinuumlimes erhält man also die Differentialgleichung<br />

∂<br />

∂t Pt(x) = D ∇ 2 Pt(x) , (5.26)<br />

die als Diffusionsgleichung bzw. Wärmeleitungsgleichung bekannt ist. Dabei ist D = 1/2<br />

die sogenannte Diffusionskonstante, welche die Geschwindigkeit des Diffusionsprozesses<br />

bestimmt. Würden x <strong>und</strong> t physikalische Einheiten tragen, hätte D die gleiche Dimension<br />

wie x 2 /t. Man beachte ausserdem, dass Pt(x) nun eine kontinuierliche Wahrscheinlichkeitsdichte<br />

ist. Eine partielle Differentialgleichung wie die obige Diffusionsgleichung, welche<br />

die Zeitentwicklung einer Wahrscheinlichkeitsdichte beschreibt, wird in allgemeineren<br />

Zusammenhängen auch als Fokker-Planck-Gleichung bezeichnet.<br />

Bemerkung: Aus der Quantentheorie kennen Sie die zeitabhängige Schrödingergleichung<br />

eines freien Teilchens<br />

i�∂tψ(�x, t) = ˆp2<br />

�2<br />

ψ(�x, t) = −<br />

2m 2m ∇2ψ(�x, t) . (5.27)<br />

Diese Gleichung ist formal äquivalent zur Diffusionsgleichung bis auf den Faktor i auf der<br />

linken Seite, wobei �/2m die Rolle der Diffusionskonstante spielt. Diese Analogie ist sehr<br />

gr<strong>und</strong>legend. In vielen Fällen lassen sich nämlich Probleme aus der statistischen <strong>Physik</strong><br />

mit reellen Wahrscheinlichkeiten auf Probleme der Quantentheorie mit komplexen Phasen<br />

durch analytische Fortsetzung abbilden <strong>und</strong> umgekehrt. Überspitzt könnte man sagen, dass<br />

sich Quantentheorie <strong>und</strong> statistische <strong>Physik</strong> in formaler Hinsicht nur durch ein i voneinan-<br />

der unterscheiden.<br />

Die Lösung der Diffusionsgleichung (∂t − D∇ 2 )Pt(x) = 0 <strong>für</strong> ein am Ursprung x = 0<br />

startendes Teilchen ist wie erwartet eine Normalverteilung:<br />

Pt(x) =<br />

1<br />

√ 4πDt e −x2 /(4Dt)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

(5.28)


5.2 Die eindimensionale Zufallsbewegung 79<br />

Die Breite (Streuung σ) dieser Gaußglocke wächst wie √ t. Wegen der Normierungsbedingung<br />

wird ausserdem ein zeitabhängiger Vorfaktor erforderlich.<br />

5.2.3 Skalierungseigenschaften der Diffusionsgleichung<br />

Die Diffusionsgleichung (∂t − D∇ 2 )Pt(x) = 0 ist relativ einfach zu lösen, doch nicht<br />

immer wird man im Kontinuumlimes auf eine solch einfache Gleichung geführt. Oftmals<br />

erhält man sogar partielle Differentialgleichungen, <strong>für</strong> die es keine geschlossene Lösung<br />

gibt.<br />

In den meisten Fällen kann man dennoch wesentliche Informationen dadurch gewinnen,<br />

dass man die Skalierungseigenschaften der Differentialgleichung untersucht. Man stellt<br />

sich dabei die Frage, unter welchen Bedingungen die Differentialgleichung unter Reskalierung<br />

x → x ′ = Λx (5.29)<br />

t → t ′ = Λ z t (5.30)<br />

Pt(x) → P ′ t ′(x′ ) = Λ y Pt(x) (5.31)<br />

forminvariant ist, wobei Λ > 0 der Reskalierungsparameter ist, also gewissermaßen ein<br />

Zoomfaktor, mit dem die Ortskoordinate gedehnt oder gestaucht werden kann. Der Zeitparameter<br />

<strong>und</strong> die Wahrscheinlichkeitsdichte werden ebenfalls reskaliert, wobei y <strong>und</strong> z<br />

noch zu bestimmende Exponenten sind. Forminvarianz bedeutet, dass die DGL in den<br />

gestrichenen Größen die gleiche Form wie in den ungestrichenen Größen besitzt, d.h.<br />

Daraus ergibt sich<br />

(∂t ′ − D∂2 x ′)P ′ t ′(x′ ) = 0 . (5.32)<br />

(Λ −z ∂t − DΛ −2 ∂ 2 x)Λ y Pt(x) = 0 . (5.33)<br />

Offenbar ist die Gleichung nur erfüllbar sofern z = 2 ist. Ist in diesem Fall Pt(x) eine<br />

Lösung der DGL, dann ist auch Λ −y P Λ 2 t(Λx) eine Lösung, es gilt also<br />

Pt(x) = Λ −y P Λ 2 t(Λx) <strong>für</strong> alle Λ > 0 . (5.34)<br />

Weil der Reskalierungsparameter Λ frei wählbar ist, darf man eine spezielle Wahl vornehmen.<br />

Mit Λ = t −1/2 ergibt sich<br />

Pt(x) = t y/2 f(x/ √ t) , (5.35)<br />

wobei f(ξ) = P1(ξ) eine sogenannte Skalenfunktion ist. Diese Wahrscheinlichkeitsdichte<br />

muss <strong>für</strong> alle Zeiten normiert sein, d.h.<br />

�<br />

� +∞<br />

1 = dxPt(x) = dx t y/2 f(x/ √ t) = √ t t y/2<br />

� +∞<br />

du f(u) ∀t (5.36)<br />

−∞<br />

woraus folgt, dass y = −1 ist. Skaleninvarianz impliziert also, dass die gesuchte Lösung<br />

die Skalenform<br />

Pt(x) = f(x/√t) √ (5.37)<br />

t<br />

erfüllt. Ein Vergleich mit der Lösung (5.28) bestätigt, dass dies in der Tat der Fall ist.<br />

Die Hypothese der Skaleninvarianz führt also eine Funktion mit zwei Parametern t <strong>und</strong><br />

x auf ein Potenzgesetz multipliziert mit einer Funktion von nur einem Parameter x/ √ t<br />

zurück.<br />

−∞<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


80 Zufallsbewegung<br />

5.3 Diffusion in höheren Dimensionen<br />

5.3.1 Entkopplung orthogonaler Freiheitsgrade<br />

Eine Zufallsbewegung in höherdimensionalen Räumen lässt sich in kartesischen Koordinaten<br />

additiv aus eindimensionalen Zufallsbewegungen zusammensetzen. In zwei Dimensionen<br />

könnte z.B. dies durch die Befehlssequenz<br />

if (rnd()


5.3 Diffusion in höheren Dimensionen 81<br />

5.3.2 Rückkehrwahrscheinlichkeit<br />

Wenn Sie morgens Ihre Kaffeemaschine<br />

anschalten, – wie lange<br />

wird es dauern, bis Sie den<br />

Kaffeeduft zum ersten Mal wahrnehmen<br />

können? Oder: Mit welcher<br />

Wahrscheinlichkeit findet ein<br />

Betrunkener wieder nach Hause?<br />

Fragestellungen dieser Art werden<br />

in der statistischen <strong>Physik</strong><br />

als first-passage oder first-return-<br />

Probleme bezeichnet.<br />

In diesem Buch [13] finden Sie alles zu Rückkehrproblemen.<br />

Wir wollen hier die Frage stellen, mit welcher Wahrscheinlichkeit ein am Ursprung startendes<br />

Teilchen, das eine Zufallsbewegung in einer Dimension ausführt, wieder zum Ursprung<br />

zurückkehrt. Mit dem in Abschnitt 5.2 benutzten Modell wird das Teilchen im<br />

ersten Zeitschritt nach links bzw. rechts springen <strong>und</strong> kehrt dann im zweiten Zeitschritt<br />

mit Wahrscheinlichkeit 1/2 zum Ursprung zurück. Bei zunehmender Zeit nimmt die Rückkehrwahrscheinlichkeit<br />

R(t) immer weiter ab. Mit einem einfachen Programm kann man<br />

sich leicht davon überzeugen, dass die Rückkehrwahrscheinlichkeit im Ensemblemittel<br />

(also gemittelt über viele unabhänge Läufe) algebraisch abnimmt:<br />

Der Exponent − 3<br />

2<br />

R(t) ∼ t −3/2 . (5.39)<br />

wird als Rückkehrexponent (engl. first-passage exponent) bezeichnet.<br />

Beweis: Dieses Ergebnis kann man verstehen, indem man den Kontiuumlimes betrachtet.<br />

Man stellt sich dazu vor, dass ein Ensemble von Teilchen am Ursprung startet <strong>und</strong><br />

diejenigen Teilchen, die den Ursprung wieder erreichen, aus dem System entfernt werden.<br />

Im Kontinuumlimes entspricht das einer Dirichlet-Randbedingung Pt(0) = 0 <strong>für</strong> die<br />

Wahrscheinlichkeitsdichte. Wegen des Verlusts von Teilchen erwartet man keine konstante<br />

sondern eine mit der Zeit abnehmende Normierung, die ein Maß da<strong>für</strong> ist, welcher Anteil<br />

von Teilchen den Ursprung noch nicht wieder erreicht hat.<br />

Mathematisch suchen wir also eine Lösung der Diffusionsgleichung unter der Randbedingungen<br />

Pt(0) = 0. Setzt man den faktorisierenden Ansatz<br />

Pt(x) = g(x)t −α e −x2 /4Dt<br />

(5.40)<br />

in die Diffusionsgleichung (∂t − D∂ 2 x)Pt(x) = 0 ein, so wird man auf die Gleichung (2α −<br />

1)g(x) − 2xg ′ (x) + 2Dtg ′′ (x) = 0 geführt. Diese ist nur dann t-unabhängig wenn g ′′ (x) = 0<br />

ist. Man erhält mit diesem Ansatz zwei unabhängige Lösungen, nämlich <strong>für</strong> g(x) = 1 die<br />

sich sich verbreiternde Gaußglocke in Gl. (5.28) <strong>und</strong> <strong>für</strong> g(x) = x die Lösung<br />

Pt(x) = x t −3/2 e −x2 /4Dt<br />

(5.41)<br />

Diese Lösung ist bis auf Konstante die Ableitung einer Gaußglocke nach x <strong>und</strong> hat eine<br />

Nullstelle bei x = 0. Nur der positive Teil der Lösung <strong>für</strong> x > 0 ist physikalisch. Das<br />

Normierungsintegral ist � ∞<br />

0 dx Pt(x) = 2D/√t, der Anteil der noch nicht zurückgekehrten<br />

Teilchen zerfällt also wie t −1/2 . Die Rückkehrrate ist proportional zur Zeitableitung dieser<br />

Größe, womit man zu Gl. (5.39) gelangt.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


82 Zufallsbewegung<br />

Abbildung 5.4: Links: Experimentell erzeugter DLA-Cluster durch Elektrodeposition in einer Kupfersulfatlösung.<br />

Rechts: Computersimulation des Wachstums eines DLA-Clusters. Ein<br />

Teilchen wird auf einem Kreis gleichverteilt platziert (grüner Punkt), startet dort einen<br />

random walk (rot), bis es den Cluster erreicht <strong>und</strong> sich dort irreversibel anlagert.<br />

5.3.3 Diffusionsbegrenztes Wachstum (DLA)<br />

Diffusionsbegrenztes Wachstum (diffusion-limited aggregation, DLA) ist ein Prozess, bei<br />

dem Teilchen eine Zufallsbewegung vollführen <strong>und</strong> sich dabei an einem Aggregat, auch<br />

Cluster genannt, sukzessive anlagern. Im einfachsten Fall wird dazu ein punktförmiger<br />

Nukleationskeim am Ursprung des Koordinatensystems bzw. in der Mitte des Bildschirms<br />

plaziert. Ein diff<strong>und</strong>ierendes Teilchen, das zufällig mit dem Cluster in Kontakt gerät,<br />

bleibt an diesem irreversibel haften.<br />

Als theoretisches Modell wurde DLA 1981 von Sander <strong>und</strong> Witten eingeführt [14]. In<br />

diesem idealisierten Modell lagern sich aus dem Unendlichen kommende nichtwechselwirkende<br />

Teilchen durch Diffusion an dem bestehenden Cluster an <strong>und</strong> erzeugen auf<br />

diese Weise ein flockenartiges Aggregat. Um einen solchen Cluster in einer Computersimulation<br />

wachsen zu lassen, startet man den random walk des Teilchens gleichverteilt<br />

auf einem Kreis, der den aktuellen Cluster vollständig umschließt. Dann lässt man das<br />

Teilchen diff<strong>und</strong>ieren, bis es einen am Cluster benachbarten Gitterplatz findet, wo es<br />

aggregiert, also dem Cluster als zugehörig markiert wird. In einem einfachen Programm<br />

wird man deshalb zunächst ein Feld s[x][y] definieren, welches aussagt, ob ein Gitterplatz<br />

zum Cluster gehört oder nicht:<br />

const int L=400; // Seitenlänge des Bildschirms<br />

bool s[L][L]; // Array <strong>für</strong> Clusterzugehörigkeit<br />

Anfangs werden alle Einträge dieses Arrays auf false gesetzt <strong>und</strong> ein Nukleationskeim<br />

durch s[L/2][L/2]=true in der Mitte platziert. Der Diffusionsprozess wird dann beispielsweise<br />

von folgender Funktion durchgeführt:<br />

void diffusion (double r=0.9) // Diffusion startend auf Kreis<br />

{ // mit Radius r<br />

bool attached;<br />

double phi=rnd()*2*M_PI;<br />

int x = (int)(L/2+L/2*r*cos(phi)); // Teilchen auf Kreis platzieren<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


5.3 Diffusion in höheren Dimensionen 83<br />

int y = (int)(L/2+L/2*r*sin(phi));<br />

do { // gehört Nachbar zum Cluster?<br />

int xl=(x+L-1)%L, xr=(x+1)%L, yb=(y+L-1)%L, yt=(y+1)%L;<br />

attached = (s[x][yb] or s[x][yt] or s[xl][y] or s[xr][y]);<br />

if (attached) s[x][y]=true; // dann diesen Platz markieren<br />

else switch (rndint(4)) {<br />

case 0: x=xl; break; // andernfalls Diffusion ausführen<br />

case 1: x=xr; break;<br />

case 2: y=yb; break;<br />

case 3: y=yt; break;<br />

}<br />

}<br />

while (not attached);<br />

}<br />

Das obige Codefragment startet das diff<strong>und</strong>ierende Teilchen auf einem Kreis mit einem<br />

Radius, der als Argument der Funktion übergeben wird. Um dieses Programm zu<br />

optimieren, kann man diesen Kreis so eng wie möglich um den aktuellen Cluster herumlegen.<br />

Oft passiert es aber auch, dass sich das Teilchen vom Cluster entfernt <strong>und</strong> wegen<br />

der sehr schnell abnehmenden Rückkehrwahrscheinlichkeit einer Zufallsbewegung in zwei<br />

Dimensionen praktisch nicht zurückkehrt, so dass das Programm zu ‘hängen’ scheint.<br />

Im obigen Codefragment wird dies durch eine endliche Systemgröße mit periodischen<br />

Randbedingungen vermieden. Andere Programme brechen die Diffusion ab, sobald ein<br />

bestimmter Stop-Radius überschritten wird. Beide Mechanismen beeinflussen jedoch die<br />

statistischen Eigenschaften des Clusters, die Systemgröße bzw. der Stopradius sollten<br />

also deutlich größer als der aktuelle Cluster sein.<br />

Spitzeneffekt<br />

Warum bilden sich so schöne Flocken? Um dies zu verstehen, stelle man sich eine dreidimensionale<br />

Flocke aus Metall vor, die elektrisch geerdet ist. Die Flocke befinde sich<br />

in einer Metallkugel, deren Radius sehr groß ist <strong>und</strong> an die eine bestimmte Spannung<br />

angelegt wird. Im Innern der Kugel bildet sich ein elektrostatisches Feld Φ(�r) aus, das<br />

zwischen Flocke <strong>und</strong> Kugel der Poisson-Gleichung ∆Φ = 0 genügt. Diese Gleichung ist also<br />

mit den Dirichlet-Randbedingungen Φ = 0 auf der Oberfläche der Flocke <strong>und</strong> Φ = UO<br />

auf der umgebenden Kugel zu lösen, – ein äußerst anspruchsvolles Problem.<br />

Was hat das mit dem DLA-Problem zu tun? Dazu stellen wir uns die Flocke als ein<br />

Gebilde vor, das Teilchen vernichtet, also bei Kontakt spurlos verschwinden lässt. Den<br />

umgebenden Kreis stellen wir uns als radialsymmetrische Teilchenquelle vor, an der ständig<br />

neue Teilchen mit einer gewissen Rate erzeugt werden. Diese Teilchen diff<strong>und</strong>ieren<br />

nun im Innern der Kugel <strong>und</strong> werden irgendwann die Flocke erreichen <strong>und</strong> dort verschwinden.<br />

Nach einiger Zeit wird sich ein stationärer Zustand mit konstanter Teilchendichte<br />

ρ(�r) einstellen. Da zwischen Flocke <strong>und</strong> Kugel die Diffusionsgleichung gilt, muss ∆ρ = 0<br />

sein. Die Dichte an der Quelle (Kugel) ist konstant <strong>und</strong> positiv, die Dichte an der Senke<br />

(Flocke) dagegen gleich Null. Damit hat man formal die gleiche Situation wie im zuvor<br />

beschriebenen elektrostatischen Problem, nur in zwei statt drei Dimensionen.<br />

Diese formale Identität zeigt uns, dass die Anlagerungswahrscheinlichkeit im DLA-Problem<br />

der Normalableitung des Potentials an der Oberläche der Flocke, also der lokalen Feld-<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


84 Zufallsbewegung<br />

stärke an der Oberfläche entspricht. Diese Feldstärke ist an den exponierten Positionen<br />

der Flocke besonders groß, – ein Umstand, der in der Elektrostatik als Spitzeneffekt bekannt<br />

ist. Die Teilchen werden sich also bevorzugt an den Spitzen der Flocke anlagern,<br />

was letzten Endes zur Ausbildung einer flockenförmigen Struktur führt.<br />

Selbstähnlichkeit<br />

In Abschnitt 5.2.3 wurde gezeigt, dass eine Zufallsbewegung ein skaleninvarianter Prozess<br />

ist, d.h. die Bewegungsgleichung ist invariant unter Reskalierung gemäß Gl. (5.29)-(5.31).<br />

<strong>Physik</strong>alisch hat dies zur Folge, dass in einer Zufallsbewegung zwar eine Beziehung zwischen<br />

Längen- <strong>und</strong> Zeitskalen durch r ∼ √ t besteht, jedoch keine typische Längen- bzw.<br />

Zeitskala als solche ausgezeichnet wird. Mit Ausnahme des elementaren Abstands zwischen<br />

benachbarten Gitterplätzen <strong>und</strong> ggf. der Systemgröße gibt es also in einem random<br />

walk keine ausgezeichnete Länge, bei der sich das physikalische Verhalten signifikant ändern<br />

würde. Einen solchen Prozess bezeichnet man als skalenfrei (scale-free).<br />

Da ein DLA-Cluster durch einen skalenfreien Prozess gebildet wird <strong>und</strong> mit einem (von<br />

der Gitterauflösung abgesehen) punktförmigen Keim beginnt, ist auch der DLA-Cluster<br />

selbst eine skalenfreie Struktur. Dieser Sachverhalt ist in Abb. 5.5 anschaulich dargestellt.<br />

Dort werden drei DLA-Cluster mit 10 5 , 10 6 <strong>und</strong> 10 7 aggregierten Teilchen gezeigt.<br />

Die Abbildungen sind reskaliert, so dass die Aggregate in allen drei Bildern visuell den<br />

gleichen Radius haben. Wie man sehen kann, beeinflusst die Reskalierung zwar etwas<br />

die mikroskopische Körnigkeit der Pixel, doch bleibt die globale Struktur der Flocke als<br />

solche durch die Reskalierung qualitativ unverändert.<br />

Fraktale Dimension<br />

Ein DLA-Cluster ist ein asymptotisch fraktales Gebilde. Wie bereits in Kap. 3.2 auf<br />

S. 43 angesprochen, ist ein Fraktal eine in einen metrischen Raum eingebettete Menge<br />

mit einer im Allgemeinen nicht-ganzzahligen Dimension. Während Linien eindimensional<br />

<strong>und</strong> Flächen zweidimensional sind, ist ein DLA-Cluster gewissermaßen ein Zwischending<br />

5 6 7<br />

10 Teilchen 10 Teilchen 10 Teilchen<br />

Abbildung 5.5: Reskalierte DLA-Cluster mit jeweils 10 5 , 10 6 <strong>und</strong> 10 7 deponierten Teilchen. [Quelle:<br />

Jon Machta, http://people.umass.edu/machta/images/dla.html]<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


5.4 Aufgaben 85<br />

– er ist zwar mehr als eine Linie, jeoch auch nicht in der Lage, eine Fläche auszufüllen.<br />

Es gibt verschiedene Methoden, die fraktale Dimension df einer gegebenen Menge zu bestimmen.<br />

Die vielleicht bekannteste Methode ist das box-counting-Verfahren. Dazu wird,<br />

wie in Abb. 5.6 dargestellt, über die zu untersuchende Menge ein Gitter mit Gitterabstand<br />

∆x gelegt. Dann werden diejenigen Quadrate gezählt, die mindestens ein Element<br />

der Menge enthalten, in diesem Fall also von mindestens einem Pixel des DLA-Clusters<br />

berührt werden. Im Idealfall hängt diese Anzahl n mit ∆x über ein Potenzgesetz<br />

n ∼ (∆x) −df (5.42)<br />

zusammen, wobei der Exponent die fraktale Dimension ist. 1 In der Tat bekäme man<br />

<strong>für</strong> eine Linie (z.B. <strong>für</strong> eine Gerade oder einen Kreis) den Wert df = 1, <strong>für</strong> eine voll<br />

ausgefüllte Fläche dagegen df = 2.<br />

Für fraktale Strukturen, die auf einem Rechner erzeugt werden, ist das Potenzgesetz<br />

(5.42) nur in einem bestimmten Bereich gültig. Auf der einen Seite darf ∆x nicht kleiner<br />

als die Gitterkonstante des DLA-Clusters sein, andererseits darf ∆x aber auch nicht<br />

größer als der Cluster selbst werden. Eine grobe Abschätzung des Potenzgesetzes in<br />

dem dazwischenliegenden Bereich mit dem in Abb. 5.6 gezeigten Verfahren führt auf<br />

df ≈ 1.65. Literaturwerte bewegen sich in der Nähe von df ≈ 1.7. Damit besitzt ein<br />

DLA-Cluster tatsächlich eine fraktale Struktur, – er ist weder eine Line noch eine Fläche,<br />

sondern ein flockenartiges Gebilde mit nicht-ganzzahliger Dimensionalität.<br />

Die Untersuchung von DLA ist gegenwärtig ein aktives Forschungsgebiet. Insbesondere<br />

gibt es zahlreiche Arbeiten, die zu unterschiedlichen Ergebnissen <strong>für</strong> die fraktale Dimension<br />

gelangen. Neuere numerische Untersuchungen haben gezeigt, dass die fraktale<br />

Dimension möglicherweise mit dem relativen Abstand vom Ursprung variiert. Ein umfassendes<br />

theoretisches Verständnis des DLA-Wachstums fehlt noch.<br />

5.4 Aufgaben<br />

Aufgabe 5.11 (Zentraler Grenzwertsatz)<br />

Gegeben sei die Summe<br />

sN =<br />

N�<br />

i=1<br />

r −γ<br />

i ,<br />

wobei ri wie üblich gleichverteilte Zufallszahlen zwischen 0 <strong>und</strong> 1 sind während γ > 0 ein<br />

frei wählbarer Exponent ist. Ziel der Aufgabe ist es herauszufinden, <strong>für</strong> welche γ der zentrale<br />

Grenzwertsatz gültig ist <strong>und</strong> wann er versagt. Ausserdem soll im Gültigkeitsbereich<br />

die zu erwartende Streuung der Gaußverteilung im Limes großer N berechnet werden.<br />

Gehen Sie dazu in folgenden Schritten vor.<br />

(a) Bestimmen Sie mit Hilfe von Mathematica R○ analytisch die Wahrscheinlichkeitsverteilung<br />

P (y), wobei yi = r −γ<br />

i ist.<br />

1 Je nach Verfahren gibt es unterschiedliche fraktale Dimensionen. Die hier definierte wird deshalb in<br />

der Literatur auch häufig als box-counting dimension bezeichnet.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


86 Zufallsbewegung<br />

224 of 256 boxes 737 of 1024 boxes<br />

2266 of 4096 boxes<br />

number of visited boxes<br />

10 -3 10 0<br />

Abbildung 5.6: Veranschaulichung der boxcounting-Methode zur Bestimmung der fraktalen<br />

Dimension.<br />

10 6<br />

10 5<br />

10 4<br />

10 3<br />

10 2<br />

10 1<br />

10 -2<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

∆x<br />

10 -1<br />

10 0


5.4 Aufgaben 87<br />

(b) Berechnen Sie mit Hilfe von Mathematica R○ analytisch die Fourier-Transformierte<br />

˜P (k) von P (y).<br />

(c) Führen Sie mit Hilfe von Mathematica R○ eine Taylorentwicklung von ln( ˜ P (k)) bis<br />

zur zweiten Ordnung in k durch. Für welche γ ist dies eine Parabel? (Nur dann ist<br />

der zentrale Grenzwertsatz anwendbar).<br />

(d) Isolieren Sie im Wertebereich von γ, in dem der zentrale Grenzwertsatz anwendbar<br />

ist, den quadratischen Anteil der Taylornäherung von ln( ˜ P (k)), multiplizieren Sie<br />

laut Faltungssatz mit N <strong>und</strong> führen Sie die inverse Fouriertransformation aus.<br />

(e) Lesen Sie von der resultierenden Gaussverteilung die zu erwartende Streuung σ <strong>für</strong><br />

große N ab.<br />

(f) Schreiben Sie ein C- oder Java-Programm, welches – ähnlich wie in Aufgabe 1 –<br />

die Streuung σ numerisch berechnet <strong>und</strong> verifizieren Sie Ihr analytisches Resultat.<br />

Wenn Sie möchten, lassen Sie dieses Programm auch einmal <strong>für</strong> Werte von γ laufen,<br />

wo der zentrale Grenzwertsatz nicht zutrifft. Sie werden sehen, dass Ihnen die<br />

Abschätzung <strong>für</strong> σ in diesem Fall aus dem Ruder läuft, also nicht konvergiert.<br />

Aufgabe 5.12 (Levy-Flüge)<br />

Die Länge der Flugstrecken d, die Vögel oder Insekten zurücklegen, sind oftmals wie ein<br />

Potenzgesetz verteilt. Schreiben Sie eine Funktion, die unter Verwendung eines Standard-<br />

Zufallszahlengenerators <strong>für</strong> reelle Zahlen r ∈ [0, 1] Flugdistanzen gemäß der Verteilung<br />

� �<br />

(α − 1)d−α falls d > 1<br />

P (d) =<br />

0 falls d ≤ 1<br />

generiert, wobei α > 1 ein reeller Exponent ist. Überprüfen Sie Ihre Funktion, indem Sie<br />

<strong>für</strong> α = 2 das erzeugte Histogramm mit P (d) vergleichen.<br />

Aufgabe 5.13 (Finanzmärkte)<br />

Jeden Tag steigt oder fällt der DAX um den Faktor a = 1.03 mit jeweils gleicher Wahrscheinlichkeit.<br />

Schreiben Sie ein Programm, das diesen Vorgang simuliert. Der DAX habe<br />

einen Anfangsstand von 5000 Punkten. Wie groß ist der Mittelwert <strong>und</strong> die Standardabweichung<br />

des DAX nach einem Jahr? Mitteln Sie dazu über viele unabhängige Simulationen.<br />

Hinweis: Sie können zur Übung das Ergebnis auch analytisch ausrechnen, indem Sie den<br />

DAX logarithmieren.<br />

Aufgabe 5.14 (Brückenmodell)<br />

Lesen Sie die Originalveröffentlichung<br />

M.R. Evans, D.P. Foster, C. Godrèche, and D. Mukamel<br />

Spontaneous Symmetry Breaking in one-dimensional Driven Diffusive Systems<br />

Physical Review Letters 74, 208 (1995).<br />

(in der Bibliothek oder prl.aps.org von Rechnern der Domäne uni-wuerzburg.de)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


88 Zufallsbewegung<br />

<strong>und</strong> schreiben Sie ein Programm, welches das dort beschriebene “Brückenmodell” simuliert.<br />

Reproduzieren Sie damit qualitativ das in Fig. 3 dieses Papiers dargestellte Springen<br />

zwischen links- <strong>und</strong> rechtslaufendem Verkehr (sie dürfen dabei gerne die Parameter variieren).<br />

Aufgabe 5.15 (Rückkehrwahrscheinlichkeit des Random Walks)<br />

Weisen Sie durch numerische Simulation nach, dass die Wahrscheinlichkeit R(t), dass eine<br />

eindimensionale Zufallsbewegung zum ersten Mal an ihren Ausgangspunkt zurückkehrt,<br />

als Funktion der Zeit wie R(t) ∼ t −3/2 abnimmt.<br />

Aufgabe 5.16 (Erzeugung eines deterministischen Fraktals)<br />

Betrachten Sie einen eindimensionalen binären zellulären Automaten, der durch die folgende<br />

deterministische Dynamik definiert ist:<br />

�<br />

1 falls si−1(t) �= si+1(t)<br />

si(t + 1) :=<br />

0 sonst<br />

Starten Sie mit der Konfiguration . . . 000010000 . . ., also mit<br />

si(0) = δi,0<br />

<strong>und</strong> generieren Sie mit Hilfe des zellulären Automaten die oben abgebildete fraktale<br />

Struktur. Berechnen Sie dabei die Gesamtmasse des Clusters<br />

M(T ) =<br />

T� �<br />

si(t)<br />

t=0 i∈Z<br />

als Funktion von T . Welcher asymptotischer Gesetzmäßigkeit folgt M(T ) <strong>für</strong> T → ∞ ?<br />

Hinweis: Sie können diese Gesetzmäßigkeit analytisch überprüfen, indem Sie die Struktur des<br />

Fraktals analysieren.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6 Vielteilchensysteme <strong>und</strong><br />

Reaktions-Diffusionsprozesse<br />

In diesem Kapitel wollen wir Vielteilchensysteme<br />

untersuchen, in denen der<br />

Teilchentransport durch Diffusion realisiert<br />

ist. Die freie Weglänge der Teilchen<br />

wird dabei als extrem klein angenommen,<br />

so dass ballistische Effekte vernachlässigt<br />

werden können <strong>und</strong> die Teilchenbewegung<br />

effektiv durch einen random walk beschrieben<br />

werden kann. Man spricht auch oft<br />

davon, dass man im überdämpften Limes<br />

arbeitet.<br />

Reaktions-Diffusionsmodelle werden in der Regel durch Reaktionsgleichungen <strong>für</strong> verschiedene<br />

Teilchensorten beschrieben, wie man sie aus der Chemie kennt. Der Einfachheit<br />

halber werden wir die Teilchensorten mit Großbuchstaben A, B, C, ... bezeichnet. Die<br />

Reaktionsgleichung AB → C würde beispielsweise eine Reaktion beschreiben, wie sie in<br />

der Abbildung dargestellt ist. Dabei wird angenommen, dass nur Teilchen in unmittelbarem<br />

Kontakt miteinander reagieren können. Damit also eine Reaktion stattfinden kann,<br />

müssen die Reaktionspartner erst durch Diffusion zueinander finden.<br />

6.1 Molekularfeldnäherung<br />

6.1.1 Massenwirkungsgesetz<br />

In der Chemie werden zahlreiche Prozesse zufriedenstellend durch das sogenannte Massenwirkungsgesetz<br />

beschrieben. Das Massenwirkungsgesetz besagt, dass die Änderung<br />

der Konzentration einer Substanz Xi proportional zur effektiven Reaktionsrate multipliziert<br />

mit dem Produkt der Konzentrationen der beteiligten Reaktionspartner ist. 1 Je<br />

nachdem, ob dabei Teilchen verbraucht oder erzeugt werden, kommt es zu Gewinn- <strong>und</strong><br />

Verlusttermen:<br />

d<br />

dt Xi = �<br />

n<br />

kn Xn1 Xn2<br />

� �� �<br />

− �<br />

m<br />

km Xm1 Xm2<br />

� �� �<br />

Gewinne Verluste<br />

(6.1)<br />

Dabei sind die ki die effektiven Reaktionsraten. Für die Reaktion AB → C mit Rate k<br />

1 Das Massenwirkungsgesetz im engeren Sinne geht zusätzlich vom Gleichgewicht eines reversiblen Prozesses<br />

aus, d.h. die linke Seite von Gl. (6.1) wird gleich Null gesetzt.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


90 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

Abbildung 6.1: Periodischer Farbumschlag in der Belousov-Zhabotinsky-Reaktion [6]<br />

wäre beispielsweise<br />

d d<br />

[A] = [B] = −k[A][B] ,<br />

dt dt<br />

d<br />

[C] = +k[A][B] . (6.2)<br />

dt<br />

Die Terme auf der rechten Seite von Gl. (6.1) sind immer dann quadratisch in den Xi,<br />

wenn zwei Teilchensorten <strong>für</strong> eine Reaktion erforderlich sind. Dies ist in realistischen<br />

chemischen Reaktionen fast immer der Fall. Spontane Reaktionen einzelner Teilchen ohne<br />

Reaktionspartner wie z.B. bei einem radioaktiven Zerfall entsprächen linearen Termen.<br />

Sind dagegen <strong>für</strong> eine Reaktion drei Teilchensorten erforderlich (wie z.B. bei katalytischen<br />

Reaktionen) erhielte man kubische Ausdrücke.<br />

6.1.2 Chemische Oszillationen<br />

Welchen Anwendungsbereich hat das Massenwirkungsgesetz <strong>und</strong> wann versagt es? Auf<br />

den ersten Blick scheint es einen recht eingeschränkten Anwendungsbereich zu haben, da<br />

jegliche räumliche Information vernachlässigt wird. Das Massenwirkungsgesetz ist also<br />

beschränkt auf Systeme mit guter diffusiver Durchmischung, deren Konzentrationsfelder<br />

als homogen angenommen werden können. Unter diesen Voraussetzungen erwartet man,<br />

dass das durch partielle Differentialgleichungen erster Ordnung beschriebene System relaxiert<br />

<strong>und</strong> schließlich einen stationären Zustand erreicht.<br />

Trotzdem können auch solche Systeme, <strong>für</strong> die das Massenwirkungsgesetz gültig ist, überraschende<br />

Eigenschaften haben, denn nicht immer relaxiert das System direkt in ein chemisches<br />

Gleichgewicht, so sind z.B. chemische Oszillationen möglich. Das bekannteste<br />

Beispiel ist die Belousov-Zhabotinsky-Reaktion [6], die zu einem periodischen Farbumschlag<br />

einer Lösung führt (siehe Abb. 6.1). Diese Oszillationen können über viele St<strong>und</strong>en<br />

stabil sein, bis sich die Substanzen verbraucht haben, denn natürlich ist auch hier kein<br />

perpetuum mobile möglich.<br />

Theoretische Untersuchungen haben gezeigt, dass man <strong>für</strong> chemische Oszillationen mindestens<br />

drei Substanzen braucht. Ein mögliches Modellsystem [7] ist durch die Raten-<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6.1 Molekularfeldnäherung 91<br />

gleichungen<br />

Abbildung 6.2: Belousov-Zhabotinsky-Reaktion in einer flachen Petri-Schale [6]<br />

˙X = k1AY − k2XY + k3AX − 2k4X 2<br />

˙Y = −k1AY − k2XY + 1<br />

2 fk5BZ (6.3)<br />

˙Z = 2k3AY − k5BZ<br />

gegeben. Dabei sind A,B die Konzentrationen von Hilfssubstanzen <strong>und</strong> f eine numerische<br />

Konstante. Offenbar sind diese Gleichungen von der in Gl. (6.1) angegebenen allgemeinen<br />

Form des Massenwirkungsgesetzes.<br />

6.1.3 Raumzeitliche Strukturbildung<br />

Die Belousov-Zhabotinsky-Reaktion ist noch spektakulärer, wenn man sie nicht in einem<br />

Becherglas, sondern in einer flachen Petrischale durchführt. Es bilden sich dann nicht nur<br />

zeitliche, sondern auch räumliche Oszillationen in Form von wandernden Spiralen (siehe<br />

Abb. 6.2). Je nach Versuchsbedingungen können solche Spiralen auch instabil werden<br />

<strong>und</strong> aufbrechen.<br />

In der Theorie beschreibt man solche musterbildenden Systeme durch Ratengleichungen,<br />

die mit Diffusionstermen erweitert werden, also die allgemeine Form<br />

d<br />

dt Xi = �<br />

n<br />

kn Xn1 Xn2<br />

� �� �<br />

− �<br />

m<br />

km Xm1 Xm2<br />

� �� �<br />

+ Di∇ 2 Xi<br />

Gewinne Verluste Diffusion<br />

(6.4)<br />

besitzen, wobei Di die entsprechenden Diffusionskonstanten sind. Ob die Diffusionsterme<br />

relevant sind, also beispielsweise zu Musterbildung führen, kann man durch lineare<br />

Störungstheorie um die homogene Lösung nachweisen. In Übereinstimmung mit dem Experiment<br />

hängt dies entscheidend von der räumlichen Dimension des Systems ab. Gr<strong>und</strong>sätzlich<br />

sind räumliche Effekte in niedrigdimensionalen Systemen ausgeprägter, da hier<br />

die diffusive Durchmischung geringer ist. Die Untersuchung von Musterbildung (pattern<br />

formation) im Rahmen solcher um Diffusionsterme erweiterter Ratengleichungen hat zur<br />

Entstehung zahlreicher Forschungsgruppen im Bereich der <strong>Physik</strong> komplexer Systeme<br />

geführt.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


92 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

Abbildung 6.3: Computersimulation eines spiral breakup. [M. Bär, PTB Braunschweig]<br />

6.2 Gittermodelle<br />

Da ein Computer kontinuierliche Größen ohnehin nur mit einer diskretisierten Darstellung<br />

approximieren kann, bietet es sich an, die Teilchenpositionen in einem Reaktions-<br />

Diffusionsmodell von vornherein als diskretisierte Größen anzunehmen. Dadurch wird ein<br />

Gitter eingeführt, auf dem sich die Teilchen bewegen können. Je nach Modelldefinition<br />

können dabei Gitterplätze frei bzw. von einem oder auch mehreren Teilchen besetzt sein.<br />

6.2.1 Gittergeometrien<br />

Die Geometrie des Gitters wird definiert durch<br />

- seine Dimension d,<br />

- die mikroskopische Anordnung der Gitterplätze, <strong>und</strong><br />

- eine Relation, die angibt, welche Gitterplätze benachbart sind.<br />

In bildlichen Darstellungen werden die Gitterplätze (sites, nodes) in der Regel durch<br />

Punkte dargestellt, während als benachbart deklarierte Plätze durch Linien (links, bonds)<br />

verb<strong>und</strong>en werden.<br />

Eindimensionale Gittermodelle wie in Abb. 6.4 sind in der Regel als lineare Kette realisiert,<br />

deren Gitterplätze von 0 bis L − 1 durchnumeriert sind, wobei L die Länge der<br />

Kette ist. Da ein numerisch simuliertes Gittermodell immer endlich ist, müssen zudem<br />

die Randbedingungen spezifiziert werden. Die wichtigsten Typen sind<br />

- Dirichlet-Randbedingungen (geschlossene Enden) durch Fixierung des Zustands der<br />

Randplätze, z.B. indem die Randplätze stets als unbesetzt angenommen werden.<br />

Abbildung 6.4: Eindimensionale Kette mit L sites <strong>und</strong> periodischen Randbedingungen.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6.2 Gittermodelle 93<br />

Abbildung 6.5: Verschiedene Gittertypen in zwei Dimensionen.<br />

- von-Neumann’sche Randbedingungen (offene Enden) bei denen die Randplätze keine<br />

linken bzw. rechten Nachbarn haben.<br />

- periodische Randbedingungen bei denen die Gitterplätze an gegenüberliegenden<br />

Ränder als benachbart gelten.<br />

Als Faustregel gilt, dass periodische Randbedingungen die wenigsten Probleme bereiten,<br />

da sie die Translationsinvarianz des Systems nicht zerstören. Oft ist man nämlich am<br />

Limes unendlich großer Systeme interessiert <strong>und</strong> möchte sogenannte finite-size-Effekte<br />

nach Möglichkeit gering halten. Es zeigt sich dabei, dass periodische Randbedingungen<br />

am wenigsten störend wirken. Wir werden deshalb im Folgenden stets periodische Randbedingungen<br />

betrachten.<br />

Bemerkung: Ist x ∈ {0, 1, . . . , L−1} eine räumliche Koordinate, so können die Positionen<br />

der linken bzw. rechten Nachbarn xℓ, xr durch geeignete Modulo-Operationen bestimmt<br />

werden. In C++ ist<br />

xr = (x+1)%L; xl = (x+L-1)%L;<br />

wobei L die Länge der Kette ist. Die Addition der Konstanten L in der zweiten Zuweisung<br />

ist notwendig, um zu verhindern, dass die Modulo-Operation ein negatives Argument erhält,<br />

was in C++ zu einem negativen Ergebnis führen würde.<br />

In Mathematica R○ arbeitet man dagegen mit der Zählung x ∈ {1, 2, . . . , L} <strong>und</strong> die Nachbarn<br />

sind gegeben durch<br />

xl = Mod[x-2,L]+1; xr = Mod[x,L]+1;<br />

Allerdings ist Mathematica R○ wegen der vergleichsweise geringeren Geschwindigkeit nur<br />

bedingt zur Simulation von Reaktions-Diffusionmodellen auf einem Gitter geeignet.<br />

In zwei Dimensionen gibt es eine große Vielfalt verschiedener Gittergeometrien. Die wichtigsten<br />

Typen sind das Quadratgitter (square lattice), das Dreiecksgitter (triangular lattice),<br />

<strong>und</strong> das Honigwabengitter (honeycomb lattice), siehe Abb. 6.5. Das Quadratgitter<br />

ist besonders beliebt, da es sich auf einem Rechner bequem als zweidimensionales Array<br />

realsieren lässt. Periodische Randbedingungen werden in diesem Fall dadurch implementiert,<br />

dass man die Gitterplätze an gegenüberliegenden Gitterplätzen sowohl in x- als<br />

auch in y-Richtung identifiziert. Wie in Abb. 6.6 dargestellt, erhält man dadurch die<br />

Topologie eines Torus, weshalb man auch von torodialen Randbedingungen spricht.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


94 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

Abbildung 6.6: Periodische Randbedingungen in zwei Dimensionen entsprechen einem Torus.<br />

6.2.2 Charakterisierung des Zustandsraums<br />

Während die Gitterstruktur als solche zeitlich konstant ist, können sich die Teilchen von<br />

Gitterplatz zu Gitterplatz bewegen. Ein bestimmtes Arrangement von Teilchen bezeichnet<br />

man als Konfiguration oder auch (Mikro-)Zustand des Systems. Die Menge aller<br />

möglichen Zustände wird als Zustandsraum Ω bezeichnet. Die Anzahl möglicher Zustände<br />

|Ω| ist in der Regel sehr hoch <strong>und</strong> wächst exponentiell mit der Systemgröße. Durch<br />

Anwendung der dynamischen Regeln springt das System gewissermaßen durch seinen<br />

Zustandsraum. Wenn es dabei im Prinzip jeden Zustand erreichen kann, bezeichnet man<br />

das System als Ergodizität.<br />

Beispiel: Als Beispiel wollen wir eine eindimensionale Kette mit nur 20 Gitterplätzen<br />

betrachten, auf denen 10 Teilchen diff<strong>und</strong>ieren, wobei jeder Gitterplatz jeweils leer oder<br />

einfach besetzt sein darf. Da die Teilchen auf � � 20<br />

mögliche Weisen arrangiert werden<br />

10<br />

können, hat dieses System bereits 184756 verschiedene Zustände.<br />

Der Zustand des System, also die aktuelle Konfiguration der Teilchen, wird in der Regel<br />

im Kurzzeitspeicher (random access memory, RAM) 2 des Rechners, also in globalen oder<br />

lokalen Variablen abgelegt. Hier gibt es mehrere Möglichkeiten. Die beiden wichtigsten<br />

sind:<br />

(a) Besetzungszahlorientierte Speicherung: Für jeden Gitterplatz wird der lokale<br />

Zustand, also dessen momentane Belegung mit Teilchen, in einem Array abgespeichert.<br />

(b) Listenbasierte Speicherung: Der Rechner führt eine Liste, ggf. eine dynamisch<br />

erzeugte Liste mit variabler Länge, in der die Teilchen mit ihren entsprechenden<br />

Koordinaten aufgelistet sind.<br />

Bei dem ersten Verfahren benötigt man Schleifen, die über das gesamte Gitter iterieren.<br />

Diese Methode eignet sich deshalb vor allem bei hohen Teilchendichten. Beim listenbasierten<br />

Verfahren iteriert man dagegen über eine Liste der Teilchen <strong>und</strong> hat deshalb einen<br />

Geschwindigkeitsvorteil bei geringen Teilchendichten.<br />

2 Die Speicherung von Daten auf der Festplatte ist sehr viel zeitaufwändiger <strong>und</strong> sollte nur zum Herausschreiben<br />

von Mittelwerten <strong>und</strong> ggf. nur periodischen Sicherung des Systemzustands genutzt werden.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6.2 Gittermodelle 95<br />

Bei Systemen, in denen sowohl hohe als auch niedrige Teilchendichten vorkommen können,<br />

eignet sich ein Hybridverfahren, bei dem man sowohl ein Array <strong>für</strong> die Besetzungszahlen<br />

als auch eine Liste <strong>für</strong> die Teilchenpositionen verwendet.<br />

6.2.3 Dynamiken<br />

Anders als bei einer Zufallsbewegung eines Teilchens finden in einem Vielteilchensystem<br />

eine große Anzahl von mikroskopischen Prozessen pro Zeiteinheit statt. In einer<br />

Computersimulation müssen also bestimmte Annahmen gemacht werden, in welcher Reihenfolge<br />

diese Prozesse abgearbeitet werden. Es gibt da<strong>für</strong> eine Anzahl verschiedener<br />

Update-Schemata. Die wichtigsten sind:<br />

1. Parallele Dynamik (parallel updates): In einem Zeitschritt t → t + 1 werden<br />

alle Plätze des Gitters gleichzeitig aktualisiert. Für diff<strong>und</strong>ierende Teilchen darf<br />

man sich eine solche Dynamik als synchrones Hüpfen vorstellen. Parallele Dynamiken<br />

sind in der Regel sehr effizient <strong>und</strong> eignen sich hervorragend zum Einsatz auf<br />

Parallelrechnern. Ein Einzelrechner wird die Gitterplätze zwar nacheinander aktualisieren,<br />

doch die Reihenfolge spielt dabei keine Rolle. In Modellen mit paralleler<br />

Dynamik kommutieren also die lokalen updates.<br />

Beispiel: Wir wollen parallele Dynamik am Beispiel des Koagulationsprozesses auf<br />

einer eindimensionalen Kette diskutieren. In diesem Prozess diff<strong>und</strong>ieren Teilchen mit<br />

Wahrscheinlichkeit p nach rechts <strong>und</strong> 1 − p nach links. Wenn zwei Teilchen auf einem<br />

Gitterplatz kollidieren, verschmelzen sie zu einem Teilchen, führen also die Reaktion<br />

2A → A aus. Der Zustand der Kette ist in einem eindimensionalen Array bool s[L]<br />

gespeichert. Folgende Codesequenz bildet eine gegebene Konfiguration s[i] auf eine<br />

neue Konfiguration u[i] ab, die dann ggf. nach s[i] zurückkopiert werden muss. Beachten<br />

Sie, dass man die lokale Aktualisierung nicht direkt nach s[i] schreiben darf,<br />

da sonst die lokalen Updates nicht kommutieren würden.<br />

void parallel_dynamics (bool s[], bool u[], double p) {<br />

for (int i=0; i


96 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

3. Sequentielle Dynamik (sequential updates). Kommutieren die lokalen updates<br />

nicht, kann man eine bestimmte Reihenfolge der Aktualisierungen als Teil der Modelldefinition<br />

vereinbaren. Man könnte z.B. vereinbaren, eine lineare Kette von links<br />

nach rechts zu aktualisieren. Damit ist allerdings das Risiko verb<strong>und</strong>en, dass man<br />

die Spiegelsymmetrie des Systems verletzt, also eine Vorzugsrichtung auszeichnet,<br />

ohne dies zu beabsichtigen. Sequentielle Dynamiken sind daher <strong>für</strong> Anfänger nicht<br />

zu empfehlen <strong>und</strong> werden deshalb im Rahmen dieser Vorlesung nicht weiter behandelt.<br />

Beispiel: Folgende Codesequenz demonstriert, was bei sequentiellen Updates passieren<br />

kann. Die Kette wird hier von links nach rechts aktualisiert.<br />

void ordered_sequential_dynamics (bool s[], double p) {<br />

for (int i=0; i


6.3 Zelluläre Automaten 97<br />

t<br />

t+1<br />

lokale Dynamik nichtlokale Dynamik<br />

Abbildung 6.7: Illustration lokale <strong>und</strong> globaler updates in einem zellulären Automaten<br />

diese unregelmäßigen Aktualisierungen oftmals eher dem physikalischen Vorbild <strong>und</strong> können<br />

mit mathematischen Methoden leichter behandelt werden.<br />

6.3 Zelluläre Automaten<br />

Modelle mit paralleler Dynamik, deren Zustände Reihe <strong>für</strong> Reihe konstruiert werden können,<br />

bezeichnet man auch als zelluläre Automaten. Die ‘Zellen’ sind dabei nichts anderes<br />

als die Gitterplätze <strong>und</strong> die Reihen werden mit einem zeitlichen Index t durchnumeriert.<br />

Die dynamischen Regeln erfüllen die sogenannte Markov-Eigenschaft, d.h. die jeweils neu<br />

konstruierte Reihe zur Zeit t + 1 hängt nur vom Zustand der Zellen in der vorherigen<br />

Reihe zum Zeitpunkt t ab. Als Anfangszustand muss also nur eine Reihe (z.B. bei t = 0)<br />

spezifiziert werden.<br />

Man unterscheidet deterministische <strong>und</strong> stochastische zelluläre Automaten, je nachdem,<br />

ob bei der Konstruktion der nächsten Reihe Zufallszahlen involviert sind oder nicht. Ferner<br />

unterscheidet man räumlich lokale <strong>und</strong> nichtlokale Dynamiken. Bei räumlich lokalen<br />

updates hängt der Zustand einer Zelle zum Zeitpunkt t+1 nur von ihrem eigenen Zustand<br />

<strong>und</strong> dem der benachbarten Zellen zum Zeitpunkt t ab (siehe Abb. 6.7).<br />

Beispiel: Als Beispiel betrachteten wir einen deterministischen zellulären Automaten mit<br />

zwei Zuständen per Zelle, dessen lokale Dynamik durch die update-Vorschrift<br />

�<br />

1 falls si−1(t) �= si+1(t)<br />

si(t + 1) :=<br />

0 sonst<br />

gegeben ist. Startet man den Prozess mit nur einem Teilchen am Ursprung, so ergibt sich<br />

dabei das in Abb. 6.8 dargestellte fraktale Gebilde, das als Sierpinski-Fraktal (Sierpinski-<br />

Abbildung 6.8: Deterministischer zellulärer Automat: Sierpinski-Fraktal<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


98 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

r(t)<br />

t1t t t t t t t t t t t<br />

2 3 4 5 6<br />

7 8 9 10<br />

11t12<br />

13<br />

Abbildung 6.9: Unkorrelierte Sprungzeitpunkte einer thermisch induzierten Zufallsbewegung.<br />

gasket) bekannt ist. Die deterministische Konstruktion spiegelt sich in einer hochsymme-<br />

trischen Strukturierung wieder.<br />

6.4 Systeme mit thermisch induzierten Übergängen<br />

Während bei zellulären Automaten mit paralleler Dynamik die Zeit eine diskrete Größe<br />

ist, ist die Zeit in Experimenten eine kontinuierliche Größe. Die Sprünge von einem Zustand<br />

in einen anderen sind dabei oft thermisch induziert. Deponiert man beispielsweise<br />

in MBE-Experimenten (MBE=molecular beam epitaxy) ein Atom auf der Oberfläche eines<br />

Festkörpers, so wird es bei geeigneter Temperatur auf der Oberfläche diff<strong>und</strong>ieren,<br />

also eine Zufallsbewegung ausführen. Dabei springt es von einem lokalen Potentialminimum<br />

zum nächsten, sobald die durch Phononen (Gitterschwingungen) bereitgestellte<br />

Energie da<strong>für</strong> ausreicht. 3<br />

Die Zeitpunkte von thermisch induzierten Übergängen sind unkorreliert <strong>und</strong> gleichen<br />

dem Knattern eines Geigerzählers bei der Messung eines radioaktiven Zerfalls:<br />

• Da die Übergänge als zeitlich punktförmig angenommen werden, ist die Wahrscheinlichkeit<br />

gleichzeitig stattfindender Übergänge gleich Null, so dass die Zeitpunkte<br />

geordnet werden können (siehe Abb. 6.9).<br />

• Die Wahrscheinlichkeit, dass in einem infinitesimalen Zeitintervall [t, t + dt] ein<br />

Übergang stattfindet, ist w dt, wobei w die Reaktionsrate ist.<br />

Wie sind die Zeitintervalle τ = ti+1 − ti zwischen zwei aufeinanderfolgenden Übergängen<br />

statistisch verteilt? Um diese Frage zu beantworten, teilt man das Zeitintervall in<br />

infinitesimale Teilintervalle der Breite dt auf:<br />

ti<br />

dt<br />

ti+1 ti+2<br />

In jedem der infinitesimalen Teilintervalle ist die Wahrscheinlichkeit <strong>für</strong> einen Übergang<br />

gleich w dt. Die Wartezeitverteilung, also die Wahrscheinlichkeit Pw(τ)dt, ein Zeitintervall<br />

τ zu beobachten, ist demnach gleich dem Produkt der Wahrscheinlichkeiten 1 − w dt, in<br />

den dazwischenliegenden infinitesimalen Teilintervallen keinen Übergang festzustellen,<br />

3 Oberflächendiffusion wird also durch thermische Fluktuationen des Festkörpers vermittelt <strong>und</strong> sollte<br />

nicht mit dem quantenmechanischen Tunneleffekt verwechselt werden.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

t


6.5 Fluktuationseffekte im Koagulationsprozess 99<br />

multipliziert mit der Wahrscheinlichkeit w dt, im letzten Teilintervall zum Zeitpunkt ti+1<br />

einen Übergang festzustellen:<br />

Pw(τ) dt = wdt (1 − wdt) τ/dt . (6.5)<br />

Mit der Grenzwertdarstellung der Exponentialfunktion e −x = limn→∞(1 − x/n) n erhält<br />

man im Limes dt → 0 bzw. n = τ/dt → ∞:<br />

Pw(τ) = w(1 − wτ/n) n → w e −wτ . (6.6)<br />

Diese Wartezeitverteilung ist korrekt normiert <strong>und</strong> wird als Poisson-Verteilung bezeichnet.<br />

Bemerkung: In Lehrbüchern wird die Poisson-Verteilung durch<br />

P (k; λ) = e−λ λ k<br />

definiert <strong>und</strong> gibt die Wahrscheinlichkeit an, in einem gegebenen Intervall k Ereignisse zu<br />

beobachten, wobei λ die mittlere Anzahl der zu erwartenden Ereignisse ist. Die Poisson-<br />

Verteilung hat die besondere Eigenschaft, dass Mittelwert 〈k〉 <strong>und</strong> Varianz σ 2 k ≡ 〈k 2 〉−〈k〉 2<br />

identisch <strong>und</strong> gleich λ sind. Poisson-verteilte Ereignisse bezeichnet man in der Experimentalphysik<br />

auch häufig als shot noise.<br />

In Gl. (6.6) fragt man nach der Wahrscheinlichkeit, in einem Intervall τ mit mittlerer<br />

Ereignisanzahl λ = wτ kein Ereignis zu finden, diese Wahrscheinlichkeit ist P (0; λ) =<br />

e −λ . Diese Wahrscheinlichkeit wird mit der Wahrscheinlichkeit wdt multipliziert, dass im<br />

unmittelbar darauf folgenden infinitesimalen Zeitintervall ein Ereignis stattfindet. Auf diese<br />

Weise bekommt man die Verteilung der Zeiten zwischen aufeinanderfolgenden Ereignissen.<br />

6.5 Fluktuationseffekte im Koagulationsprozess<br />

In den folgenden Abschnitten wollen wir ein konkretes Vielteilchensystem betrachten,<br />

bei dem das Massenwirkungsgesetz, also die Molekularfeldtheorie, falsche Vorhersagen<br />

macht. Es handelt sich um einen Reaktionsprozess mit nur einer Sorte diff<strong>und</strong>ierender<br />

Teilchen A, die immer dann, wenn sie paarweise aufeinandertreffen, miteinander verschmelzen,<br />

also die Reaktion 2A → A ausführen. Diesen Verschmelzungsprozess bezeichnet<br />

man als Koagulation. Die Molekularfeldgleichung <strong>für</strong> diesen Prozess lautet<br />

k!<br />

˙ρ(t) = −w ρ 2 (t) , (6.7)<br />

wobei ρ(t) die Teilchendichte <strong>und</strong> w die Koagulationsrate ist. Offenbar zerfällt die Dichte<br />

asymptotisch wie<br />

ρ(t) ∼ 1/t (6.8)<br />

also mit einem Exponenten α = −1. Wir werden jedoch sehen, dass jedoch in eindimensionalen<br />

Systemen diese Vorhersage falsch ist <strong>und</strong> man de facto einen sehr viel langsameren<br />

Zerfall beobachtet.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


100 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

6.5.1 Experimenteller Hintergr<strong>und</strong><br />

Hintergr<strong>und</strong> ist ein Lumineszenzexperiment mit<br />

einer kristallinen Substanz namens Tetramethylammoniummangantrichlorid,<br />

kurz TMMC.<br />

Dieses Material besteht aus Manganchlorid-<br />

Ketten. Wie in der Abbildung (a) zu sehen ist,<br />

befinden sich dabei die Manganionen in der Mitte,<br />

während die Chlorionen in Dreiergruppen arrangiert<br />

sind. Die Ketten sind parallel angeordnet<br />

<strong>und</strong> räumlich durch Tetramethylammoniumionen<br />

getrennt (siehe Querschnitt in Abb. (b)).<br />

Durch Einstrahlung von Laserlicht lassen sich<br />

nun die Manganionen elektronisch anregen, man<br />

spricht bei solchen angeregten Zuständen von sogenannten<br />

Exzitonen.<br />

Benachbarte Mn 2+ -Ionen können miteinander dadurch wechselwirken, dass ein Exziton<br />

von einem Platz zum nächsten springt. Solche Sprünge sind thermisch aktiviert durch die<br />

Wechselwirkung mit Phononen (Gitterschwingungen) <strong>und</strong> folgen deshalb effektiv einem<br />

random walk. Kommt es dabei zu einer Fusion zweier Exzitonen, so entsteht zunächst ein<br />

doppelt angeregter Zustand. Dieser ist jedoch nicht stabil <strong>und</strong> zerfällt unter Abstrahlung<br />

eines Phonons zu einem einfach angeregten Zustand. Im Teilchenbild bedeutet dies, dass<br />

zwei Teilchen zu einem Teilchen plus Wärme reagieren (siehe Abb. 6.11). Da die Wärme<br />

im Material absorbiert wird, erhält man also einen Koagulationsprozess 2A → A. Durch<br />

die großen Abstände zwischen den Ketten können diese als Ensemble eindimensionaler<br />

Systeme aufgefasst werden.<br />

Mit einer sehr viel geringeren Rate zerfallen die Exzitonen auch spontan, wobei sie Licht<br />

emittieren. Die gemessene Intensität dieses Lichtes ist also ein Maß <strong>für</strong> die momentane<br />

Anzahl der Exzitonen. Bestrahlt man das Material mit einem kurzen Laserpuls, kommt<br />

es zu einem Nachleuchten (Lumineszenz), das mit hoher Genauigkeit gemessen werden<br />

LASER<br />

EXZITON<br />

PHONON<br />

Abbildung 6.10: TMMC: Durch Einstrahlung eines Laserpulses werden Exzitonen auf den Mn 2+ -Ionen<br />

angeregt. Diese Exzitonen springen thermisch induziert mit gleicher Wahrscheinlichkeit<br />

nach links <strong>und</strong> nach rechts. Sprünge zwischen den Ketten sind stark unterdrückt.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6.5 Fluktuationseffekte im Koagulationsprozess 101<br />

PHONON<br />

PHOTON<br />

Abbildung 6.11: Oben: Koagulation 2A → A unter Abstrahlung von Wärme. Unten: Lumineszenz<br />

durch spontanen Zerfall einzelner Exzitonen<br />

Abbildung 6.12: Messergebnisse <strong>für</strong> die reziproke Intensität als Funktion der Zeit in einer doppeltlogarithmischen<br />

Darstellung.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

t<br />

t


102 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

kann. Auf diese Weise kann man ρ(t), d.h. die Dichte der Exzitonen, als Funktion der<br />

Zeit messen.<br />

Die von Kroon, Fleurent <strong>und</strong> Sprik [8] gemessenen Daten sind in Abb. 6.12 in doppeltlogarithmischer<br />

Darstellung (’log-log’) aufgetragen. Dabei ist zu beachten, dass die Ordinate<br />

den Kehrwert der Intensität wiedergibt, also proportional zu ρ −1 (t) ist. Wie man<br />

erkennen kann, ergeben sich je nach Pulsintensität parallel verschobene Geraden mit der<br />

Steigung 1/2. Folglich zerfällt die Dichte algebraisch (d.h. nach einem Potenzgesetz) wie<br />

ρ(t) ∼ t −1/2 , (6.9)<br />

widerspricht also dem Meanfield-Resultat in Gl. (6.8). Die experimentellen Daten zeigen<br />

auch, dass das Potenzgesetz nur in einem bestimmten Bereich (gelb markiert) gültig ist.<br />

Für sehr große Dichten von Exzitonen ist die abgegebene Wärme bei der Koagulation<br />

noch so groß, dass sie nicht vernachlässigt werden kann, sondern die Diffusionsrate effektiv<br />

erhöht, womit es zu Abweichungen kommt. Für kleine Dichten finden dagegen Koagulationsprozesse<br />

so selten statt, dass die spontane Teilchenvernichtung durch Lumineszenz<br />

trotz ihrer kleinen Rate relevant wird <strong>und</strong> so die Teilchendichten weiter herabsetzt, womit<br />

die Geraden nach oben abbiegen.<br />

6.5.2 Simulation<br />

Das im Experiment beobachtete 1/ √ t-Verhalten kann mit Hilfe einer einfachen Computersimulation<br />

bestätigt werden. In C++ definiert man dazu eine Kette mit der Länge<br />

const int L=100000 in der Form eines Arrays int s[L], wobei si = 0, 1 die Präsenz<br />

eines Exzitons auf Gitterplatz i angibt. Mit zufällig-sequentiellen Updates selektiert man<br />

zuerst ein zufälliges Paar benachbarter Plätze. Wenn nur ein Platz besetzt ist, wird das<br />

betreffende Exziton zum Nachbarplatz verschoben, wodurch die Teilchen diff<strong>und</strong>ieren.<br />

Sind beide Plätze besetzt, so springt eines der beiden Teilchen <strong>und</strong> koaguliert mit dem<br />

Nachbarn. Ein Zeitschritt (sweep) entspricht einer L-fachen Wiederholung. Diese Dynamik<br />

lässt sich mit folgendem Codefragment realisieren:<br />

void Koagulationsprozess (void) {<br />

int i,links,rechts;<br />

for (i=1; i


6.5 Fluktuationseffekte im Koagulationsprozess 103<br />

t<br />

Abbildung 6.13: Raumzeit-Plot eines Koagulationsprozesses mit einem anfangs voll besetzten Gitters.<br />

bis die Trajektorien sich vereinigen.<br />

Mit dem Codefragment ist es sehr einfach, die Dichte ρ(t) als Funktion der Zeit zu<br />

messen. Das Resultat ist in Abb. 6.14 auf der linken Seite zu sehen. Die Simulation<br />

reproduziert in der Tat den experimentell beobachteten Zerfall ρ(t) ∼ t −1/2 , während die<br />

Meanfield-Lösung ρ(t) ∼ 1/t eindeutig ausgeschlossen werden kann.<br />

Bemerkung: Damit die gemessene Größe nicht zu sehr fluktuiert, ist ein Mittelungsver-<br />

fahren erforderlich. Neben dem bereits besprochenen Ensemblemittel, bei dem man über<br />

viele statistisch unabhängige Abläufe (runs) eines genügend großen Systems mittelt, kann<br />

man hier auch das räumliche Mittel benutzen, also einfach ein extrem großes System in nur<br />

einem Ablauf simulieren. Die in Abb. 6.14 gezeigten Daten wurden beispielsweise durch Si-<br />

mulation eines einzigen runs eines Systems mit 500.000 Gitterplätzen erzeugt. Da man sich<br />

ein solches extrem großes System zu endlichen Zeiten in unkorrelierte Teilsysteme zerlegt<br />

denken kann, sind die beiden Mittelungsprozeduren äquivalent.<br />

6.5.3 Interpretation<br />

Warum zerfällt die Teilchendichte im eindimensionalen Koagulationsprozess so viel langsamer<br />

(ρ ∼ 1/ √ t) als es die Meanfield-Gleichung vorhersagt (ρ ∼ 1/t)? Warum also<br />

versagt die Meanfield-Approximation?<br />

Anschaulich argumentiert sind die Voraussetzungen <strong>für</strong> die Meanfield-Approximation,<br />

nämlich eine homogene korrelationsfreie Mischung von Teilchen, nicht mehr gegeben,<br />

vielmehr kommt es zu Korrelationen zwischen den Teilchen. Der Koagulationsprozess<br />

bestraft nämlich Teilchen, die sich in der Nähe von anderen Teilchen befinden, indem<br />

er sie durch Koagulation entfernt <strong>und</strong> damit die Teilchendichte reduziert. Damit werden<br />

effektiv Antikorrelationen erzeugt, d.h. die Teilchen halten untereinander mehr Abstand,<br />

als dies in einer unkorrelierten (d.h. Poisson-verteilten) Anordnung der Fall wäre. Diese<br />

Antikorrelationen wiederum bremsen den Prozess ab, <strong>und</strong> zwar so stark, dass sich der<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


104 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

ρ(t)<br />

10 0<br />

10 -1<br />

10 -2<br />

10 0<br />

Steigung -1<br />

10 1<br />

ρ(t) t 1/2<br />

10 2<br />

t<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

Steigung -1/2<br />

10 0<br />

10 1<br />

10 2<br />

t<br />

10 3<br />

10 3<br />

10 4<br />

10 4<br />

c(r) = <br />

1×10 -4<br />

8×10 -5<br />

6×10 -5<br />

4×10 -5<br />

2×10 -5<br />

t = 2000<br />

0<br />

0 50 100 150 200 250 300<br />

r<br />

Abbildung 6.14: Links: Teilchendichte als Funktion der Zeit eines Koagulationsprozesses auf einer eindimensionalen<br />

Kette mit 500.000 Plätzen in doppelt-logarithmischer Darstellung. Die<br />

Hilfslinien markieren die Steigungen -1/2 <strong>und</strong> -1. Der eingeschobene Graph zeigt die<br />

selben Daten multipliziert mit t 1/2 . Rechts: Zweipunktkorrelationsfunktion eines Koagulationsprozesses<br />

nach 2000 Zeitschritten gemittelt über eine Kette mit 5.000.000<br />

Plätzen.<br />

Exponent des Zerfallsgesetzes dramatisch ändert. Wie wir sehen, ist dieser Effekt von<br />

der räumlichen Dimension des Systems abhängig <strong>und</strong> in niedrigdimensionalen Systemen<br />

besonders ausgeprägt.<br />

Um diese anschauliche Deutung zu verifizieren, wollen wir numerisch feststellen, ob die<br />

Teilchen tatsächlich antikorreliert sind. Dazu messen wir die Dichte-Zweipunktfunktion<br />

c(r) = 〈sisi+r〉, wobei der Wert des Index i wegen der räumlichen Translationsinvarianz<br />

keine Rolle spielt. Per Defintion ist diese Korrelationsfunktion stets positiv. Bestimmt<br />

man diese Zweipunktfunktion zu einem gegebenen Zeitpunkt t, so wird man <strong>für</strong> sehr<br />

große Abstände r erwarten, dass die Wahrscheinlichkeit, an diesen Punkten Teilchen zu<br />

finden, unkorreliert ist, also faktorisiert:<br />

lim c(r) = lim<br />

r→∞ r→∞ 〈sisi+r〉 = lim 〈si〉〈si+r〉 = (〈si〉)<br />

r→∞ 2 = ρ(t) 2<br />

(6.10)<br />

Bei großen Abständen wird man also eine Konstante erwarten, die gleich dem Quadrat der<br />

mittleren Dichte ist. Für kleine Abstände r wird die Zweipunktfunktion jedoch von diesem<br />

Wert abweichen. Abweichungen nach oben bezeichnet man als (positive) Korrelationen,<br />

Abweichungen nach unten als Antikorrelationen.<br />

Bemerkung: Um Korrelationen <strong>und</strong> Antikorrelationen am Vorzeichen unterscheiden zu<br />

können, zieht man häufig die asymptotische Konstante ab <strong>und</strong> definiert so den sogenannten<br />

zusammenhängenden Anteil (connected part) der Korrelationsfunktion<br />

〈sisi+r〉conn. = 〈sisi+r〉 − 〈si〉〈si+r〉.<br />

Die Bezeichnung ’zusammenhängend’ bezieht sich dabei auf die entsprechende Struktur<br />

von Feynman-Graphen in Feldtheorien.<br />

Der rechte Graph in Abb. 6.14 zeigt die Zweipunktkorrelationsfunktion nach einer Simulation<br />

von 2000 Zeitschritten mit räumlicher Mittelung über 5 × 10 5 Gitterplätze. Trotz<br />

etwa 10-minütiger Rechenzeit sind die Fluktuationen noch erheblich. Dennoch bestätigt<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6.6 Aufgaben 105<br />

das Ergebnis die Existenz von Antikorrelationen <strong>für</strong> kleine r <strong>und</strong> den crossover zu einem<br />

konstanten Wert. Man kann aus den Daten schließen, dass die Korrelationslänge nach<br />

2000 Zeitschritten in der Größenordnung von knapp 100 Gitterplätzen liegt.<br />

6.5.4 Exakte Lösung<br />

Erst 1995 gelang es, das Koagulationsmodell in einer Dimension mit zufällig-sequentieller<br />

Dynamik exakt zu lösen [9]. Zur Lösung gelangt man durch Betrachtung der Verteilungsfunktion<br />

<strong>für</strong> leere Intervalle (empty-interval distribution functions) Iℓ, welche die<br />

Wahrscheinlichkeit angeben, dass ein zufällig auf der Kette ausgewähltes Intervall von<br />

ℓ aufeinanderfolgenden Gitterplätzen keine Teilchen enthält. Man kann zeigen, dass die<br />

Master-Gleichung des Prozesses in dieser Basis als<br />

∂tIℓ(t) = Iℓ−1(t) − Iℓ(t)<br />

� �� �<br />

Gewinne<br />

− Iℓ(t) + Iℓ+1(t)<br />

� �� �<br />

Verluste<br />

(6.11)<br />

geschrieben werden kann, wobei I0(t) ≡ 1. Die Teilchendichte ist dann einfach durch<br />

ρ(t) = 1 − I1(t) gegeben. Geht man nun in den Kontinuumlimes über, erhält man die<br />

Differentialgleichungen<br />

(∂t − ∂ 2 ℓ ) I(ℓ, t) = 0 , I(0, t) = 1 , (6.12)<br />

wobei ρ(t) = ∂ℓI(ℓ, t)| ℓ=0 ist. Diese Gleichung hat die Form einer Diffusionsgleichung (5.26).<br />

Deren Lösung impliziert, dass ρ(t) asymptotisch wie t −1/2 zerfällt, womit die experimentelle<br />

<strong>und</strong> numerische Beobachtung bewiesen ist. Für endliche Zeiten gibt es allerdings<br />

kleine Abweichungen, die auch deutlich in den numerischen Daten zu sehen sind.<br />

6.5.5 Dimensionsabhängigkeit<br />

Die skizzierte exakte Lösung ist nur in einer räumlichen Dimension korrekt. In höheren<br />

Dimensionen erhält man dagegen<br />

⎧<br />

⎨ t<br />

ρ(t) ∼<br />

⎩<br />

−1/2 <strong>für</strong> d = 1<br />

log(t)/t<br />

1/t<br />

<strong>für</strong> d = 2<br />

<strong>für</strong> d > 2 .<br />

(6.13)<br />

Offenbar ist die Meanfield-Approximation in d > 2 Dimensionen korrekt, während d = 2<br />

ein Grenzfall ist, <strong>für</strong> den man Meanfield-Verhalten kombiniert mit einer logarithmischen<br />

Korrektur erhält. Diese Grenzdimension bezeichnet man als obere kritische Dimension dc.<br />

Diese Situation ist paradigmatisch <strong>für</strong> Reaktions-Diffusionsprozesse: Während in niedrigen<br />

Dimensionen Korrelationseffekte einen erheblichen Einfluss haben <strong>und</strong> sogar die<br />

Exponenten verändern können, ist in genügend hohen Dimensionen die diffusive Durchmischung<br />

so gut, dass die Teilchen tatsächlich weitgehend unkorreliert <strong>und</strong> homogen<br />

verteilt sind, womit die Voraussetzungen <strong>für</strong> die Meanfield-Näherung erfüllt sind.<br />

6.6 Aufgaben<br />

Aufgabe 6.17 (Straßenverkehr)<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


106 Vielteilchensysteme <strong>und</strong> Reaktions-Diffusionsprozesse<br />

Die Bewegung von Fahrzeugen auf einem einspurigen Kreis läßt sich auf stark vereinfachte<br />

Weise durch einen zellulären Automaten beschreiben. Dazu wird der Kreis in N<br />

Abschnitte unterteilt. In jedem dieser Abschnitte befindet sich maximal eines von M ≤ N<br />

Fahrzeugen. Während des Zeitschritts t → t + 1 rücken diejenigen Fahrzeuge, die einen<br />

freien Abschnitt vor sich haben, mit der Wahrscheinlichkeit p um jeweils einen Abschnitt<br />

vor. Simulieren Sie diesen Prozess <strong>für</strong> p = 1<br />

2<br />

<strong>und</strong> bestimmen Sie das sogenannte F<strong>und</strong>a-<br />

mentaldiagramm, indem Sie <strong>für</strong> hinreichend große N den zeitlich gemittelten Strom der<br />

Fahrzeuge 〈j〉 bestimmen <strong>und</strong> als Funktion der Fahrzeugdichte ρ = M/N auftragen.<br />

Aufgabe 6.18 (Mastergleichung)<br />

Stellen Sie <strong>für</strong> den Koagulations-Dekoagulationsprozess<br />

- Koagulation AA → ∅A <strong>und</strong> AA → A∅ mit Rate λ<br />

- Dekoagulation ∅A → AA <strong>und</strong> A∅ → AA mit Rate µ<br />

- Diffusion ∅A ↔ A∅ mit Rate D<br />

mit zufällig-sequentieller Dynamik auf einer eindimensionalen Kette mit 3 Plätzen <strong>und</strong><br />

periodischen Randbedingungen die Mastergleichung auf. Bestimmen Sie mit Hilfe von<br />

Mathematica <strong>für</strong> λ = D = 1 <strong>und</strong> µ = 0.5 durch numerische Diagonalisierung des<br />

Liouville-Operators die Relaxationszeiten des Systems.<br />

Aufgabe 6.19 (Finite-size Scaling)<br />

Der eindimensionale Koagulationsprozess 2A → A ist asymptotisch invariant unter Reskalierung<br />

• der Länge �r → Λ�r<br />

• der Zeit t → Λ z t<br />

• der Teilchendichte ρ → Λ χ ρ<br />

mit dem Dichteexponenten χ = −1 <strong>und</strong> dem dynamischen Exponenten z = 2. Ziel der<br />

Aufgabe ist es, den Koagulationsprozess mit endlicher Systemgröße L <strong>und</strong> periodischen<br />

Randbedingungen zu simulieren <strong>und</strong> dabei die Teilchendichte ρ(L, t) über viele Abläufe<br />

gemittelt zu bestimmen. Wie Sie sehen werden, geht dabei das anfängliche algebraische<br />

Zerfallsgesetz ρ(t) ∼ t −1/2 wegen der endlichen Systemgröße nach einer gewissen Zeit in<br />

ein anderes Verhalten über. Solche finite-size-Effekte skalieren mit den Systemparametern<br />

<strong>und</strong> lassen sich deshalb gut kontrollieren.<br />

(a) Drücken Sie ρ(L, t) unter Ausnutzung der Skaleninvarianz durch eine Funktion mit<br />

nur einem Argument aus, indem Sie Λ := 1/L setzen <strong>und</strong> annehmen, dass L wie<br />

eine Länge skaliert.<br />

(b) Simulieren Sie den eindimensionalen Koagulationssprozess <strong>für</strong> die folgenden Systemgrößen<br />

L bis zur Zeit tmax = L 2 :<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


6.6 Aufgaben 107<br />

L tmax<br />

16 256<br />

32 1024<br />

64 4096<br />

128 16384 (optional)<br />

256 65536 (optional)<br />

<strong>und</strong> messen Sie die Teilchendichte ρ(L, t) gemittelt über hinreichend viele unabhängige<br />

Simulationsabläufe, so dass Sie einigermassen glatte Kurven erhalten (Achtung:<br />

Die Simulationszeiten <strong>für</strong> L = 128, 256 können lang werden).<br />

(c) Führen Sie wie in der Vorlesung besprochen einen Datenkollaps dieser Kurven in<br />

doppellogarithmischer Darstellung gemäß der in (a) ermittelten Skalenform durch.<br />

(d) Wie groß muss Ihr System mindestens sein, damit bei einer (auf Ihrem Computer<br />

nicht realisierbaren) Simulationszeit von 10 20 Zeitschritten noch keine finitesize-Effekte<br />

sichtbar werden, also noch keine nennenswerten Abweichungen vom<br />

Potenzgesetz ρ(t) ∼ t −1/2 zu erwarten sind ?<br />

(e) Wie <strong>und</strong> warum unterscheiden sich die beobachteten finite-size-Effekte von denen<br />

der in der Vorlesung untersuchten kritischen gerichteten Perkolation?<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


7 Phasenübergänge in<br />

Reaktions-Diffusionsprozessen<br />

Der Begriff des Phasenübergangs beschreibt kollektive Phänomene in Vielteilchensystemen,<br />

die mit einer abrupten Veränderung der Eigenschaften des Systems bei nur geringen<br />

Veränderungen der Außenbedingungen einhergehen. Man spricht dabei von unterschiedlichen<br />

Phasen, die am Phasenübergang ineinander übergehen. Beispielsweise geht reines<br />

Wasser bei Normaldruck am Siedepunkt bei 100 ◦ C von der flüssigen in die gasförmige<br />

Phase über. Ebenso verlieren Permanentmagnete bei einer bestimmten kritischen<br />

Temperatur ihr Magnetfeld. Auch in der Kosmologie gibt es Phasenübergänge. So rekombinierten<br />

etwa 500000 Jahre nach dem Urknall die bis dahin freien Ladungsträger<br />

zu elektrisch neutralen Atomen, das Universum wurde schlagartig durchsichtig <strong>und</strong> das<br />

damals emittierte Licht gibt es noch heute in Form des Mikrowellenhintergr<strong>und</strong>s.<br />

Phasenübergänge werden durch einen oder mehrere Kontrollparameter (z.B. Temperatur)<br />

gesteuert, wobei der Phasenübergang bei bestimmten kritischen Werten des Kontrollparameters<br />

stattfindet. Die unterschiedlichen Phasen werden durch einen sogenannten<br />

Ordnungsparameter (z.B. Aggregatszustand oder Magnetfeld) charakterisiert. Zur Darstellung<br />

von Phasenübergängen benutzt man Phasendiagramme, wobei die jeweilge Art<br />

der Phase über die Kontrollparameter aufgetragen wird. Phasenübergänge finden an den<br />

Grenzen dieser Phasen statt. Ist der Ordnungsparameter stetig im Phasenübergang, so<br />

spricht man von einem kontinuierlichen Phasenübergang oder auch von einem Phasenübergang<br />

zweiter Ordnung 1 . Ist der Ordnungsparameter allerdings unstetig, zeigt also<br />

einen endlichen Sprung, so spricht man von einem diskontinuierlichen Phasenübergang<br />

bzw. einem Phasenübergang erster Ordnung.<br />

Während Phasenübergänge erster Ordnung in der Natur häufiger anzutreffen sind, befasst<br />

sich die Mehrzahl der Veröffentlichungen mit Phasenübergängen zweiter Ordnung. Während<br />

nämlich diskontinuierliche Phasenübergänge stark von den jeweiligen System- oder<br />

Modelleigenschaften abhängen, können kontinuierliche Phasenübergänge in sehr verschiedenen<br />

Systemen in ihren langreichweitigen Eigenschaften identisch sein. Solche universellen<br />

Eigenschaften erlauben es, Äquivalenzklassen von Phasenübergängen zu identifizieren<br />

<strong>und</strong> wecken damit das Interesse der theoretischen <strong>Physik</strong>. Ziel ist es dabei, alle möglichen<br />

Universalitätsklassen unter gegebenen Rahmenbedingungen zu klassifizieren. Dabei stellt<br />

sich heraus, dass die jeweilige Universalitätsklasse im wesentlichen durch die Symmetrien<br />

des Systems festgelegt wird <strong>und</strong> durch einen Satz sogenannter kritischer Exponenten gekennzeichnet<br />

werden kann. Mit Universalitätsklassen verhält es sich also ähnlich wie bei<br />

1 Die sog. Ehrenfest-Klassifikation von Phasenübergängen erster, zweiter, dritter Ordnung usw., abhängig<br />

davon ob die erste zweite oder höhere partielle Ableitung eines thermodynamischen Potentials<br />

unstetig ist, hat sich als unzureichend herausgestellt, da sie auf Molekularfeldtheorien beruht <strong>und</strong><br />

thermische Fluktuationen nicht berücksichtigt, die jedoch am kritischen Punkt nicht vernachlässigbar<br />

sind.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


110 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

Elementarteilchen, die durch wenige Parameter <strong>und</strong> ihre Symmetriegruppe vollständig<br />

charakterisiert werden können.<br />

Das klassische Standardbeispiel eines Phasenübergangs zweiter Ordnung ist der Magnetisierungsübergang<br />

in Ferromagneten. Dazu benötigt man aber Gr<strong>und</strong>lagen in der statistischen<br />

<strong>Physik</strong> des thermodynamischen Gleichgewichts. Viel einfacher ist dagegen das<br />

folgende Modellsystem, das in der Literatur als gerichtete Perkolation bekannt ist.<br />

7.1 Gerichtete Perkolation<br />

Der Ausdruck Perkolation (lat. per=durch <strong>und</strong> colare=fließen,leiten) bezeichnet das Hindurchleiten<br />

einer Flüssigkeit durch ein poröses Medium <strong>und</strong> wird oft im Zusammenhang<br />

mit Filtrierungsprozessen verwendet. Ein Filter ist ein poröses Material aus Zellstoff, Papier,<br />

Sand oder Aktivkohle, mit dem man Schwebeteilchen <strong>und</strong> andere Verunreinigungen<br />

zurückhalten kann. Das zurückgehaltene Material sammelt sich in den Poren des Filters<br />

an, so dass dieser nach einiger Zeit verstopft <strong>und</strong> ausgetauscht werden muss. Es ist deshalb<br />

von Interesse, den Übergang vom durchlässigen (perkolierenden) in den verstopften<br />

(nicht perkolierenden) Zustand zu verstehen.<br />

Mit dieser Motivation hat man verschiedene Modelle <strong>für</strong> Perkolation entworfen. In solchen<br />

Modellen werden die Poren durch die Plätze (sites) eines Gitters repräsentiert.<br />

Benachbarte Gitterplätze sind dabei durch Kanäle (bonds) miteinander verb<strong>und</strong>en. Um<br />

die Unregelmäßigkeit eines echten Filtermaterials nachzubilden, wird dabei angenommen,<br />

dass diese Kanäle mit der Wahrscheinlichkeit p durchlässig <strong>und</strong> andernfalls <strong>und</strong>urchlässig<br />

sind. Man stellt sich dann die Frage, wie sich der Parameter p, der die mikroskopische<br />

Durchlässigkeit bestimmt, auf die makroskopische Durchlässigkeit des Materials auswirkt.<br />

Es zeigt sich dabei, dass es in einem genügend großen System zu einem Phasenübergang<br />

von einem makroskopisch durchlässigen in einen verstopften Zustand kommt. Dieser<br />

Phasenübergang tritt bei einer wohldefinierten kritische Schwelle pc auf. Wie wir<br />

sehen werden, sind die langreichweitigen Eigenschaften eines solchen Perkolationsmodells<br />

universell, d.h. sie sind durch Symmetrien bestimmt, hängen jedoch nicht von den<br />

mikroskopischen Details des Modells ab. Die Situation ist ähnlich wie bei einer Zufallsbewegung,<br />

die in der Regel asymptotisch durch eine Normalverteilung beschrieben wird,<br />

unabhängig von der Art der Sprünge.<br />

7.1.1 Isotrope vs. gerichtete Perkolation<br />

Es gibt zwei gr<strong>und</strong>sätzlich verschiedene Versionen von Perkolationsmodellen. In isotroper<br />

Perkolation kann sich das Medium (Wasser) durch offene Kanäle in alle Richtungen<br />

ausbreiten, während in gerichteter Perkolation das Medium nur entlang einer vorgegebenen<br />

räumlichen Richtung fließen kann. In einem porösen Medium könnte eine solche<br />

gerichtete Ausbreitung beispielsweise durch ein Gravitationsfeld hervorgerufen werden.<br />

Wie man in Abbildung 7.1 sehen kann, erhält man unterschiedliche Cluster.<br />

Die Vorzugsrichtung hat eine strikte Ordnung des Clusters nach Ursache <strong>und</strong> Wirkung<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


7.1 Gerichtete Perkolation 111<br />

Isotrope Perkolation Gerichtete Perkolation<br />

Abbildung 7.1: Ungerichtete (isotrope) <strong>und</strong> gerichtete Perkolation. Die Abbildung zeigt ein endliches<br />

Gitter mit einer bestimmten Konfiguration von durchlässigen <strong>und</strong> <strong>und</strong>urchlässigen<br />

Kanälen. In der Mitte wird nun eine Flüssigkeit injiziert. Links: Im isotropen Fall<br />

perkoliert das Wasser durch die offenen Kanäle in jede beliebige Richtung <strong>und</strong> erzeugt<br />

dabei einen Cluster benetzter Poren. Rechts: Bei gerichteter Perkolation kann das<br />

Wasser nur entlang einer Vorzugsrichtung perkolieren, was zu einem kleineren länglichen<br />

Cluster führt. Diese Vorzugsrichtung kann als zeitliche Dimension interpretiert<br />

werden.<br />

zur Folge, so dass die ausgezeichnete Koordinate als Zeit interpretiert werden kann. So<br />

kann man beispielsweise in einem gerichteten Perkolationsprozess, in dem die Kanäle mit<br />

Wahrscheinlichkeit p geöffnet sind, die horizontalen Reihen mit einem zeitlichen Index<br />

t markieren (siehe Abb. 7.2). Ist also die Konfiguration benetzter Zellen zum Zeitpunkt<br />

t bekannt, kann man die nächste Konfiguration zum Zeitpunkt t + 1 durch einfache<br />

probabilistische Regeln bestimmen.<br />

7.1.2 Interpretation als Reaktions-Diffusionsprozess<br />

Interpretiert man nun benetzte (=aktive) Gitterplätze als Teilchen A <strong>und</strong> unbenetzte<br />

(=inaktive) Gitterplätze als Leerstellen ∅, so können diese probabilistischen Regeln als<br />

lokale Dynamik eines Reaktions-Diffusionsprozesses interpretiert werden. Sind z.B. beide<br />

Kanäle eines aktiven Platzes blockiert, so endet die Trajektorie des Teilchens, was<br />

einer spontanen Teilchenvernichtung A → ∅ entspricht. Ist nur einer der beiden Kanäle<br />

durchlässig, springt das Teilchen mit gleicher Wahrscheinlichkeit nach links <strong>und</strong> nach<br />

rechts, führt also effektiv einen Diffusionsprozess aus. Wenn beide Kanäle offen sind,<br />

kommt es zu einer Teilchenvermehrung A → 2A. Diese wird aber begrenzt durch die<br />

Tatsache, dass es pro Gitterplatz nur zwei Zustände (benetzt <strong>und</strong> unbenetzt) gibt, dass<br />

sich also an jedem Gitterplatz höchstens ein Teilchen befinden darf. Dies kann man<br />

in einem Reaktions-Diffusionsmodellen dadurch berücksichtigen, dass zwei Teilchen instantan<br />

zu einem verschmelzen. Eine solche Verschmelzung 2A → A bezeichnet man<br />

als Koaleszenz. Zusammenfassend wird also gerichtete Perkolation durch das effektive<br />

Reaktions-Diffusionsschema<br />

• spontane Teilchenvernichtung A → ∅<br />

• Vermehrung A → 2A<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


112 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

t<br />

Startpunkt<br />

t N(t)<br />

0 1<br />

Abbildung 7.2: Gerichtete Perkolation interpretiert als ein stochastischer zeitlicher Prozess. Der abgebildete<br />

Cluster startet mit nur einem benetzten Platz am Ursprung <strong>und</strong> entwickelt sich<br />

dann als Sequenz von Konfigurationen benetzter Plätze entlang horizontaler Reihen,<br />

die mit dem zeitlichen Index t durchnummeriert sind. Eine interessante Größe ist die<br />

Anzahl N(t) benetzter Gitterplätze zur Zeit t.<br />

• Koaleszenz 2A → A<br />

in Kombination mit Diffusion ∅A ↔ A∅, wie in Abb. 7.3 zu sehen ist. Wie wir sehen<br />

werden, zeigt jeder Prozess, der dem Geist dieses Reaktions-Diffusionsschemas folgt, einen<br />

Phasenübergang, der zur Universalitätklasse der gerichteten Perkolation gehört.<br />

7.1.3 Algorithmische Implementierung<br />

Mit der dynamischen Interpretation ist es sehr einfach, gerichtete Perkolation auf einem<br />

Rechner zu simulieren. Um einen Zeitschritt von t nach t + 1 auszuführen, iteriert man<br />

über die aktiven (benetzten) Gitterplätze entlang der Reihe t <strong>und</strong> aktiviert die nächsten<br />

Nachbarn in der Reihe t + 1 unabhängig voneinander mit Wahrscheinlichkeit p. Ein<br />

nicht-optimierter Code zur Erzeugung der Cluster ist oft weniger als eine Seite lang. Das<br />

folgende Programm berechnet beispielsweise den Mittelwert der Teilchenanzahl N(t) <strong>und</strong><br />

schreibt das Ergebnis in eine Datei namens N.dat:<br />

const int T=1000; // number of updates<br />

const int R=10000; // number of independent runs<br />

const double p=0.6447001; // percolation probability<br />

int main (void) {<br />

int s[T][T],N[T],i,t,r; // array of sites, N(t), indices<br />

for (t=0; t


7.1 Gerichtete Perkolation 113<br />

for (i=0; i


114 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

<br />

100<br />

10<br />

1<br />

0,1<br />

1 10 100 1000<br />

t<br />

Abbildung 7.5: Mittlere Teilchenanzahl 〈N(t)〉 als Funktion der Zeit t <strong>für</strong> verschiedene Perkolationswahrscheinlichkeiten<br />

p.<br />

p=0.7<br />

p=0.6<br />

p=0.65<br />

p=0.64<br />

p=0.6447<br />

Darstellung als Gerade, was einem Potenzgesetz entspricht. In der Tat findet man,<br />

dass 〈N(t)〉 am kritischen Punkt <strong>für</strong> große t wie t θ ansteigt, wobei θ ≈ 0.302 nichts<br />

anderes als die Steigung der Geraden im log-log plot ist. Dieses Potenzgesetz ist vor<br />

allem <strong>für</strong> große t mit hoher Genauigkeit erfülllt, während es <strong>für</strong> kleinere Werte von<br />

t, insbesondere während der ersten Zeitschritte, zu Abweichungen kommt. Diese sogenannten<br />

Transienten werden durch die diskrete Struktur des Gitters verursacht<br />

<strong>und</strong> hängen damit von nicht-universellen Details des Modells ab.<br />

Ein asymptotisches Potenzgesetz wird oft mit Hilfe des Symbols ∼ ausgedrückt 2 , das<br />

so viel wie ‘asymptotisch proportional’ bedeutet <strong>und</strong> deshalb transiente Abweichungen<br />

sowie die Proportionalitätskonstante mit Absicht ignoriert. Im obigen Fall schreibt man<br />

also<br />

〈N(t)〉 ∼ t θ . (7.1)<br />

Der Exponent θ ≈ 0.302 ist ein sogenannter kritischer Exponent, der in allen Realisierungen<br />

von DP den gleichen Wert besitzt. Diese Universalität <strong>und</strong> die extrem einfache<br />

Modelldefinition sind wohl die Hauptgründe da<strong>für</strong>, warum DP eine so starke Faszination<br />

ausstrahlt.<br />

Die unterschiedlichen Eigenschaften von 〈N(t)〉 unterhalb <strong>und</strong> oberhalb der kritischen<br />

Schwelle können als Kriterium zur iterativen Approximation des kritischen Punktes herangezogen<br />

werden. Dazu bestimmt man zunächst eine unter- <strong>und</strong> eine überkritische<br />

Schranke bei einer Simulationszeit von einigen Minuten, z.B. 0.64 < pc < 0.65 in dem<br />

oben diskutierten Modell. Dieses Intervall wird dann halbiert <strong>und</strong> eine Simulation am<br />

Halbierungspunkt (z.B. p = 0.645) durchgeführt. Wenn die entsprechende Kurve in einem<br />

doppelt-logarithmischen Graphen nach unten (oben) abweicht, wird das Teilungsverfahren<br />

iterativ im oberen (unteren) Intervall fortgesetzt. Zur Bestimmung solcher Abweichungen<br />

ist übrigens das menschliche Auge sehr gut geeignet. Ist keine Krümmung zu<br />

erkennen, so ist die Simulationszeit entsprechend zu erhöhen. Sind dagegen die Fluktuationen<br />

zu stark, muss die Anzahl der Läufe, über die gemittelt wird, erhöht werden. Das<br />

Verfahren wird so lange fortgesetzt, bis der Rechenaufwand zu groß wird. Die Fehlergrenzen<br />

der Abschätzung sind durch das jeweils letzte Intervall festgelegt. Der Exponent<br />

2 Mathematiker benutzen dieses Symbol <strong>für</strong> ‘asymptotisch gleich’ statt ‘asymptotisch proportional’.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


7.1 Gerichtete Perkolation 115<br />

Infektion: Heilung:<br />

Abbildung 7.6: Gerichtete Perkolation als epidemischer Prozess (siehe Text).<br />

ergibt sich aus der Steigung der Geraden.<br />

Bemerkung: Um die Fehlergrenzen <strong>für</strong> den kritischen Exponenten, also <strong>für</strong> die Steigung<br />

der Geraden, zu bestimmen, darf man sich NIE auf den χ 2 -Fehler einer Standardregression<br />

verlassen. Für die in Abb. 7.5 gezeigten Daten würde eine lineare Regression mit xmgrace<br />

das Resultat θ = 0.3017(2) ergeben, der beste Literaturwert θ = 0.313686(8) liegt jedoch<br />

weitab dieser Fehlergrenzen. Eine zuverlässige Abschätzung des Fehlers erhält man durch<br />

Vergleich der Steigungen in der höchsten Dekade gemessen an der unteren <strong>und</strong> oberen<br />

Schranke von pc. Als Faustregel gilt, dass der relative Fehler eines Exponenten mindestens<br />

10× höher als der relative Fehler der kritischen Schwelle ist.<br />

Es sollte betont werden, dass das beschriebene Verfahren voraussetzt, dass der Phasenübergang<br />

asymptotisch durch ein sauberes Potenzgesetz beschrieben wird. Für DP ist<br />

das in der Tat der Fall. In anderen Modellklassen ist das allerdings nicht selbstverständlich,<br />

so können zum Beispiel logarithmische Korrekturen überlagert sein, so dass die<br />

tatsächliche kritische Kurve leicht gekrümmt ist. Da man mit dem oben beschriebenen<br />

Verfahren aber nach einer Geraden sucht, ist man möglicherweise der Versuchung erlegen,<br />

diese Krümmung durch Veränderung des Kontrollparameters zu ’kompensieren’, was zu<br />

schwer einschätzbaren systematischen Fehlern führt. 3<br />

7.1.4 Epidemische Prozesse<br />

Die gerichtete Perkolation wird auch oft als einfaches Modell <strong>für</strong> die Ausbreitung von Epidemien<br />

herangezogen. Dabei befinden sich auf den Gitterplätzen Individuen, die entweder<br />

ges<strong>und</strong> (∅) oder infiziert (A) sind. Der Prozess A → 2A entspricht dabei der Ansteckung<br />

des nächsten Nachbarn, während Individuen durch den Prozess A → ∅ wieder ges<strong>und</strong><br />

werden (siehe Abb. 7.6). Bei großer Ansteckungsrate kann sich die Infektion über die gesamte<br />

Population ausbreiten, während sie bei kleiner Ansteckungsrate räumlich begrenzt<br />

bleibt. Der Phasenübergang in einem solchen Modell gehört zur Universalitätsklasse der<br />

gerichteten Perkolation.<br />

Während Forscher, die oft mit zellulären Automaten arbeiten, das oben besprochene<br />

bond-Perkolationsmodell mit paralleler Dynamik bevorzugen, favorisieren Epidemiker<br />

3 Einen solchen Fehler konnten wir in der Testphase des CIP-Pools mit zwei Wochen Rechenzeit auf<br />

allen 80 CPU’s aufdecken, Details dazu finden Sie in [10].<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


116 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

<strong>und</strong> auch Mathematiker eine andere Realisierung der gerichteten Perkolation, die als<br />

Kontaktprozess bekannt ist. Der Kontaktprozess ist auf einem d-dimensionalen Gitter<br />

definiert, dessen Plätze entweder aktiv (si(t) = 1) oder inaktiv (si(t) = 0) sind. Im<br />

Gegensatz zum obigen Modell benutzt der Kontaktprozess eine zufällig-sequentielle Dynamik,<br />

d.h. die elementaren Prozesse (Ansteckung <strong>und</strong> Ges<strong>und</strong>ung) treten spontan mit<br />

gewissen Raten auf. Obwohl sich der Kontaktprozess in mikroskopischer Hinsicht erheblich<br />

von dem oben eingeführten bond-DP-Modell unterscheidet, zeigt er ebenfalls<br />

einen Phasenübergang mit asymptotisch identischen Eigenschaften. Wie wir sehen werden,<br />

gehören also die Phasenübergänge in beiden Modellen zur Universalitätsklasse der<br />

gerichteten Perkolation.<br />

Auf einem Rechner kann der d+1-dimensionale Kontaktprozess folgendermaßen implementiert<br />

werden. Für jeden Aktualisierungsversuch wird zunächst ein Gitterplatz zufällig<br />

ausgewählt. Je nachdem, ob dieser Platz besetzt (infiziert) ist <strong>und</strong> in Abhängigkeit von<br />

der Anzahl der besetzten Nachplätze ni(t) = �<br />

j∈ sj(t) wird diesem Platz ein neuer<br />

Zustand si(t + dt) = 0, 1 mit bestimmten Übergangsraten w[si(t) → si(t + dt), ni(t)]<br />

zugewiesen. Diese Übergangsraten sind definiert durch:<br />

w[0 → 1, n] = λn/2d , (7.2)<br />

w[1 → 0, n] = 1 . (7.3)<br />

Dabei spielt der Parameter λ die gleiche Rolle wie die Öffnungswahrscheinlichkeit p im<br />

bond-DP-Modell. Wie zuvor hängt die kritische Schwelle λc von der Dimension d ab. Die<br />

zur Zeit beste Abschätzung wird mit λc = 3.29785(8) [11] angegeben.<br />

Um von Raten (Wahrscheinlichkeiten pro Zeiteinheit) zu den im Programmcode benötigten<br />

Übergangswahrscheinlichkeiten zu gelangen, muss man die Raten geeignet normieren,<br />

so dass sie alle kleiner oder gleich 1 sind. Am einfachsten ist es, die Raten durch die Summe<br />

aller Raten, also in diesem Fall durch 1 + λ, zu dividieren. Jeder Update entspricht<br />

dann einem Zeitinkrement von 1/(1 + λ).<br />

In einer räumlichen Dimension kann der Kontaktprozess mit folgendem Programmfragment<br />

realisiert werden. Zunächst definiert man sich die Systemgröße, das Gitter <strong>und</strong><br />

eine Zeitvariable, die wegen der zufällig-sequentiellen Updates eine Fließkommazahl sein<br />

muss.<br />

const int L=128; // Systemgröße<br />

int s[L]; // die eindimensionale Kette<br />

double t; // <strong>Physik</strong>alische Zeit<br />

Der Updateschritt folgt dann der in Abb. 7.7 dargestellten Dynamik: Ein Platz auf der<br />

Kette wird zufällig ausgewählt. Wenn dieser besetzt ist, wird das Teilchen mit Wahrscheinlichkeit<br />

1/(1 + λ) entfernt, andernfalls wird an einem der beiden Nachbarplätze ein<br />

t<br />

t+dt<br />

Infektion Selbstheilung<br />

λ/2 λ/2 1<br />

Abbildung 7.7: Dynamik des 1+1-dimensionalen Kontaktprozesses.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


7.1 Gerichtete Perkolation 117<br />

Teilchen erzeugt, sofern dieser Platz noch frei ist:<br />

void Update (double lambda)<br />

{<br />

int i = rndint(L);<br />

if (s[i]) // wenn dort ein Teilchen ist<br />

{<br />

if (rnd() λc) eines sehr großen Systems mit einem<br />

anfangs voll besetzten Gitter wird sich diese Dichte auf einen stationären Wert ρstat > 0<br />

einpendeln. Nähert man sich dem kritischen Punkt, an dem der Phasenübergang stattfindet,<br />

so geht diese Dichte gegen Null <strong>und</strong> folgt dabei einem Potenzgesetz<br />

i<br />

ρstat ∼ (p − pc) β , (7.5)<br />

wobei β ein kritischer Exponent ist. Für p > pc ist der sich einstellende stationäre Zustand<br />

durch eine bestimmte Korrelationslänge ξ⊥ <strong>und</strong> eine Korrelationszeit ξ � charakterisiert.<br />

Diese beiden Korrelationsskalen sind im Allgemeinen verschieden <strong>und</strong> sind in Abb. 7.8<br />

anschaulich dargestellt.<br />

Nahe am kritischen Punkt divergieren die beiden Korrelationsskalen algebraisch (d.h. als<br />

Potenzgesetz)<br />

ξ⊥ ∼ (p − pc) −ν⊥ , ξ� ∼ (p − pc) −ν � (7.6)<br />

wobei ν⊥ <strong>und</strong> ν � zwei weitere Exponenten sind. Deren Verhältnis<br />

z = ν �/ν⊥<br />

(7.7)<br />

wird als dynamischer Exponent bezeichnet, da er beschreibt, wie die zeitliche Korrelationsskala<br />

ξ� ∼ ξz ⊥ als Funktion der räumlichen Korrelationslänge am kritischen Punkt<br />

wächst. In einem diffusionsartigen Prozess wie z.B. einem random walk ist z = 2, während<br />

an einem Phasenübergang wie dem der gerichteten Perkolation im Allgemeinen z < 2 ist.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


118 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

ξ<br />

ξ||<br />

Abbildung 7.8: Korrelationsskalen ξ⊥ <strong>und</strong> ξ�.<br />

Exponent d = 1 d = 2 d = 3 d > 4<br />

β 0.276486(8) 0.584(4) 0.81(1) 1<br />

ν⊥ 1.096854(4) 0.734(4) 0.581(5) 1/2<br />

ν� 1.733847(6) 1.295(6) 1.105(5) 1<br />

1.580745(10) 1.76(3) 1.90(1) 2<br />

δ = β/ν� 0.159464(6) 0.451 0.73 1<br />

θ 0.313686(8) 0.230 0.12 0<br />

Tabelle 7.1: Werte der kritischen Exponenten in der gerichteten Perkolation.<br />

Man geht davon aus, dass die drei Exponenten (β, ν⊥, ν�) eine gegebene Universalitätsklasse<br />

vollständig charakterisieren <strong>und</strong> nur von der Dimension des Systems abhängen<br />

(siehe Tabelle 7.1). Alle anderen universellen Exponenten können durch einfache Formeln,<br />

sogennanten Skalenrelationen auf diese drei Standardexponenten zurückgeführt<br />

werden. Als Beispiel betrachten wir einen DP-Prozess, der mit einem einzigen aktiven<br />

Gitterplatz startet <strong>und</strong> einen Cluster erzeugt. Die mittlere Anzahl der aktiven Gitterplätze<br />

zum Zeitpunkt t,<br />

N(t) = 〈 �<br />

si(t)〉 (7.8)<br />

wächst am kritischen Punkt wie<br />

i<br />

ξ<br />

N(t) ∼ t θ . (7.9)<br />

Dabei kann θ durch die sogenannte verallgemeinerte Hyperskalenrelation ausgedrückt<br />

werden:<br />

θ = dν⊥ − 2β<br />

.<br />

ν� (7.10)<br />

7.2 Phänomenologische Skalentheorie<br />

Wir haben bereits an verschiedenen Beispielen gesehen, dass fraktale Strukturen durch<br />

Potenzgesetze charakterisiert werden. Solche Systeme bezeichnet man als skalenfrei (scale<br />

free), d.h. abgesehen von der makroskopischen Systemgröße <strong>und</strong> der mikroskopischen<br />

Gitterkonstante gibt es keine ausgezeichnete typische Länge im System. Ebenso gibt es<br />

abgesehen von der gesamten Simulationszeit <strong>und</strong> der mikroskopischen Update-Zeit keine<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

ξ ||


7.2 Phänomenologische Skalentheorie 119<br />

weitere typische Zeitskala im System. Beispiele sind DLA-Cluster, Sierpinski-Fraktale, der<br />

Annihilations- <strong>und</strong> Koagulationsprozess, sowie die gerichtete Perkolation am kritischen<br />

Punkt. Skalenfreiheit verbietet beispielsweise einen exponentiellen Zerfall einer Korrelationsfunktion,<br />

denn das Argument der Exponentialfunktion muss immer dimensionslos<br />

sein, also von der Form exp(r/r0) sein, wobei r0 aber eine ausgezeichnete Länge wäre,<br />

die es in einem skalenfreien System nicht gibt.<br />

Skaleninvariante Systeme können sehr erfolgreich durch eine phänomenologische Skalentheorie<br />

beschrieben werden. ‘Phänomenologisch’ bedeutet dabei, dass die Gültigkeit der<br />

Theorie bis auf wenige exakt lösbare Fälle nicht streng bewiesen werden kann, sondern<br />

vielmehr postuliert <strong>und</strong> dann numerisch verifiziert wird.<br />

7.2.1 Skaleninvarianz<br />

Ausgangspunkt der phänomenologischen Skalentheorie <strong>für</strong> Phasenübergänge wie den in<br />

der gerichteten Perkolation ist die Annahme, dass die makroskopischen (d.h. langreichweitigen)<br />

Eigenschaften eines Systems nahe am Phasenübergang unter einer Skalentransformation<br />

invariant ist. Konkret bedeuted dies, dass eine Reskalierung der Zeit-, Längen,<strong>und</strong><br />

Kontrollparameter<br />

∆ → a ∆, �x → a −ν⊥ �x, t → a −ν �t, (7.11)<br />

zu einer Änderung des Ordnungsparameters (der Teilchendichte)<br />

ρ → a β ρ (7.12)<br />

führt, wobei a > 0 ein Skalenfaktor (Zoomfaktor) <strong>und</strong> ∆ = p − pc der Abstand vom<br />

kritischen Punkt ist. Es stellt sich heraus, dass eine solche postulierte Skaleninvarianz<br />

die Form von Funktionen stark einschränkt. Als Beispiel betrachteten wir den Zerfall der<br />

Dichte aktiver Gitterplätze ρ(t) bei einem anfangs voll besetzten Gitter am kritischen<br />

Punkt. Das obige Postulat führt hier auf die Gleichung<br />

a β ρ(t) = ρ(a −ν � t) . (7.13)<br />

Da der Zoomparameter a frei wählbar ist, darf man eine spezielle Wahl vornehmen. Wählt<br />

man a derart dass t a −ν � = 1 ist, erhält man ρ(t) = t −β/ν �ρ(1), also einen algebraischen<br />

Zerfall von der Form<br />

ρ(t) ∼ t −δ , δ = β/ν � . (7.14)<br />

In einem endlichen System mit N = L d Gitterplätzen nahe am kritschen Punkt hängt<br />

die Dichte ρ(t, ∆, L) von drei Parametern ab. Eine analoge Rechnung führt hier auf die<br />

Bestimmungsgleichung<br />

a β ρ(t) = ρ(a −ν � t, a∆, a −ν⊥ L) , (7.15)<br />

denn L ist eine Länge <strong>und</strong> skaliert demzufolge wie �x. Man erhält dann<br />

ρ(t, ∆, L) ∼ t −β/ν � f(∆ t 1/ν �, t d/z /L) . (7.16)<br />

Dabei hängt die Funktion f nur von zwei skaleninvarianten Quotienten ab. Die Funktion<br />

f ist universell, d.h. (bis auf Proportionalitätskonstanten) identisch <strong>für</strong> alle Modelle in<br />

der gleichen Universalitätsklasse, <strong>und</strong> wird deshalb auch als universelle Skalenfunktion<br />

bezeichnet.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


120 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

Bemerkung: Eine Funktion g(x1, . . . , xn) mit der Eigenschaft g(x1, . . . , xn) = af(ax1, . . . , axn)<br />

heisst homogen. Dementsprechend wird eine Funktion, die eine Bestimmungsgleichung von<br />

der Form (7.13) <strong>und</strong> (7.15) erfüllt, in der also die Skalenfaktoren mit individuellen Poten-<br />

zen versehen sind, als verallgemeinerte homogene Funktion bezeichnet. Dabei kann durch<br />

spezielle Wahl des Skalenparameters einer der Funktionsparameter auf einen konstanten<br />

Wert gesetzt werden. Die Funktion g lässt sich damit ausdrücken als ein Potenzgesetz<br />

multipliziert mit einer Skalenfunktion, die von nur n − 1 skaleninvarianten Quotienten der<br />

Parameter abhängt.<br />

7.2.2 Universalität<br />

Wie bereits mehrfach erwähnt, ist die sogenannte Universalität von Phasenübergängen<br />

ein gr<strong>und</strong>legender Begriff. Mit diesem Begriff umschreibt man die Annahme, dass das<br />

kritische Verhalten von Systemen mit kontinuierlichen Phasenübergängen einer endlichen<br />

Anzahl möglicher Universalitätsklassen zugeordnet werden kann.<br />

Bemerkung: Für die Experten: Universalitätsklassen sind bestimmten Feldtheorien zuge-<br />

ordnet. Diese Feldtheorien werden durch die Symmetrien des Systems <strong>und</strong> die relevanten<br />

Terme im Wirkungsfunktional charakterisiert. Die mikroskopischen Details des Modells<br />

wie z.B. die konkrete Gitterstruktur führen dagegen zu Termen höherer Ordnung, die im<br />

feldtheoretischen Sinne irrelevant sind, also unter Reskalierung gegen Null gehen. Die Irre-<br />

levanz fast aller Terme mit Ausnahme einiger weniger relevanter Terme ist die Ursache <strong>für</strong><br />

Universalität.<br />

Die gerichtete Perkolation ist die wichtigste Klasse im Bereich der statistischen <strong>Physik</strong><br />

fernab vom Gleichgewicht. Sie tritt in unzähligen Modellen auf <strong>und</strong> ist in unzähligen<br />

Publikationen untersucht worden. Die extreme Robustheit dieser Klasse führten Janssen<br />

<strong>und</strong> Grassberger auf die sogenannte DP-Vermutung (DP conjecture). Diese besagt, dass<br />

ein System zur Universalitätsklasse der gerichteten Perkolation gehören sollte, sobald die<br />

folgenden Bedingungen erfüllt sind:<br />

1. Das Modell besitzt einen kontinuierlichen Phasenübergang von einer fluktuierenden<br />

aktiven Phase in einen absorbierenden fluktuationsfreien Zustand.<br />

2. Der Phasenübergang wird durch einen nicht-negativen einkomponentigen Ordnungsparameter<br />

charakterisiert (in der Regel die Dichte der aktiven Gitterplätze)<br />

3. Die Dynamik ist kurzreichweitig, Wechselwirkungen finden also nur lokal statt.<br />

4. Das System hat keine unkonventionellen Eigenschaften wie z.B. zusätzliche Symmetrien<br />

oder eingefrorene Unordnung 4 .<br />

Obwohl diese Vermutung nicht streng bewiesen ist, sind bislang keine Gegenbeispiele<br />

bekannt. Vielmehr scheint die gerichtete Perkolation sogar in Fällen zu existieren, bei<br />

denen eine oder mehrere dieser vier Bedinungen verletzt sind.<br />

4 Die Untersuchung von Systemen mit eingefrorener Unordnung (engl. quenched disorder) ist ein aktuelles<br />

Forschungsgebiet <strong>und</strong> geht über den Rahmen dieser Vorlesung hinaus.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


7.3 Andere stochastische Prozesse 121<br />

7.3 Andere stochastische Prozesse<br />

Die oben skizzierte phänomenologische Theorie der Skaleninvarianz ist nicht nur auf<br />

Reaktions-Diffusionsprozesse beschränkt, sondern in sehr vielen weiteren Fällen anwendbar.<br />

Als Beispiele wollen wir Wachstumsprozesse <strong>und</strong> das sogannte Wählermodell betrachten.<br />

7.3.1 Wachstumsprozesse<br />

Unter einem Wachstumsprozess versteht man ein<br />

vereinfachtes Modell <strong>für</strong> Oberflächenwachstum durch<br />

Deposition einzelner Atome bzw. Moleküle. Im Experiment<br />

gibt es verschiedene Realisierungsmöglichkeiten.<br />

In <strong>Würzburg</strong> wird vor allem Molekularstrahlepitaxie<br />

(MBE) betrieben, wobei Teilchen in einer<br />

thermischen Quelle (Ofen) freigesetzt <strong>und</strong> danach gezielt<br />

auf einer Probe deponiert werden. Dieses Verfahren<br />

wird vor allem <strong>für</strong> die Herstellung von dünnen<br />

Schichten im Monolagenbereich <strong>und</strong> Nanostrukturen<br />

eingesetzt.<br />

MBE-Experiment, EP III<br />

Arbeitsgruppe Prof. Brunner<br />

Je nachdem, ob das Material des Substrats <strong>und</strong> der aufzubringenden Strukturen gleich<br />

oder verschieden sind, spricht man von Homo- bzw. Heteroepitaxie. Alternativ kann man<br />

eine Oberfläche in eine gasförmige Umgebung bringen, wobei sich allein durch die thermische<br />

Dynamik des Gases Teilchen auf der Oberfläche absetzen. Neben der Deposition von<br />

Teilchen ist bei genügend hohen Temperaturen auch der umgekehrte Prozess, nämlich<br />

die Verdamfung (Desorption) von Teilchen möglich. Beide Prozesse, spontane Deposition<br />

<strong>und</strong> Desorption, konkurrieren miteinander, wodurch es zu interessanten Effekten kommt.<br />

Im einfachsten Fall modelliert man die zu deponierenden Atome bzw. Moleküle durch<br />

würfelförmige Teilchen. Die Konfiguration eines solchen solid-on-solid (SOS)-Modells<br />

wird durch eine Grenzfläche (interface) vollständig beschrieben. Sofern man die Bildung<br />

von Überhängen verbietet, wird die Grenzfläche eindeutig durch eine Höhenfunktion<br />

h(�r) beschrieben, welche die Höhe der Grenzfläche am (zweidimensionalen) Ort �r auf der<br />

Oberfläche in Bezug auf ein willkürlich festgelegtes Höhenniveau angibt (siehe Abb. 7.9).<br />

Abbildung 7.9: Modellierung eines Wachstumsprozesses durch stoachstische Deposition <strong>und</strong> Verdampfung<br />

würfelförmiger Teilchen. Die Konfiguration wird dabei durch eine Grenzfläche<br />

beschrieben.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


122 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

Das einfachste Wachstumsmodell dieser Art ist die zufällige Deposition (random deposition):<br />

Teilchen ‘regnen’ zufällig von oben herab <strong>und</strong> stapeln sich auf der Oberfläche.<br />

Ein solches Programm <strong>für</strong> das Wachstum einer eindimensionalen Oberfläche ist denkbar<br />

einfach:<br />

int main (void)<br />

{<br />

InitRandom();<br />

XWindow W; W.Open(L,Y); // Fester öffnen<br />

for (int i=0; i=h[i] and h[(i+L-1)%L]>=h[i]) h[i]++;<br />

Dabei wurden periodische Randbedingungen angenommen. Wie man in Abb. 7.10 sehen<br />

kann, ergeben sich erheblich glattere Oberflächen.<br />

Die mikroskopische Beschaffenheit einer wachsenden Oberfläche wird experimentell vor<br />

allem durch Streuung von Röntgenstrahlen analysiert. Eine wichtige experimentell messbare<br />

Größe ist die Rauigkeit (engl. roughness) w der Oberfläche, die als Standardabweichung<br />

der Höhen definiert ist:<br />

w 2 = (h − h) 2 = h 2 − h 2 = 1<br />

N<br />

w 2 = 〈(h − 〈h〉) 2 〉 = 〈h 2 〉 − 〈h〉 2 = 1<br />

N<br />

�<br />

h(�r) 2 �<br />

1<br />

−<br />

N<br />

�r<br />

�<br />

h(�r) 2 �<br />

1<br />

−<br />

N<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

�r<br />

�2 �<br />

h(�r)<br />

�r<br />

�2 �<br />

h(�r)<br />

�r<br />

(7.18)<br />

(7.19)


7.3 Andere stochastische Prozesse 123<br />

Abbildung 7.10: Grenzfläche eines eindimensionalen solid-on-solid (SOS) <strong>und</strong> eines restricted-solidon-solid<br />

(RSOS)-Modells nach etwa 600 Zeitschritten.<br />

Dabei wird über alle N = L d Gitterplätze der Oberfläche summiert. Die Rauigkeit ist<br />

sehr viel interessanter als die (linear wachsende) Höhe, da sie den Einfluss der Oberflächenspannung<br />

quantitativ widergibt. Eine einfache Simulation zeigt, dass die Rauigkeit<br />

in den beiden betrachteten Modellen wie<br />

w(t) ∼<br />

� t 1/2 <strong>für</strong> das SOS-Modell<br />

t 1/3 <strong>für</strong> das RSOS-Modell<br />

(7.20)<br />

ansteigt. Im Fall des SOS-Modells ist dieses Ergebnis einfach zu verstehen, denn hier<br />

gibt es keine Wechselwirkung zwischen benachbarten Plätzen, vielmehr wächst jede Säule<br />

unabhängig durch stochastische Deposition. Das Histogramm der Höhen, auch Höhenprofil<br />

genannt, ist deshalb wie bei einem random walk Gauß-verteilt mit einer Breite von<br />

√ h ∼ √ t. Wegen der fehlenden Wechselwirkung spielt die Systemgröße dabei keine Rolle.<br />

Im Fall des RSOS-Modells wechselwirken benachbarte Plätze durch die Restriktion. Das<br />

obige Potenzgesetz ist deshalb nur gültig <strong>für</strong> eine unendlich große Oberfläche. Ist das<br />

System dagegen endlich, gibt es eine maximale Rauigkeit, die nicht überschritten werden<br />

kann. Die Kurve <strong>für</strong> w(t) saturiert also nach gewisser Zeit.<br />

Es zeigt sich, dass auch <strong>für</strong> Wachstumsprozesse das im vorangegangenen Abschnitt diskutierte<br />

Konzept der dynamischen Skaleninvarianz erfolgreich angewandt werden kann.<br />

Dabei muss die Höhe, aufgefasst als kontinuierlicher Freiheitsgrad, geeignet mitskaliert<br />

werden. Es sei an dieser Stelle nur erwähnt, dass beispielsweise die Rauigkeit in einem<br />

endlichen System mit Seitenlänge L einer Skalenform<br />

w(L, t) = L α f(t/L z ) (7.21)<br />

genügt, wobei α der sogeannte Rauigkeitsexponent ist. Dynamisches Scaling ist also ein<br />

sehr allgemeines Konzept, das auf eine Vielzahl unterschiedlicher Systeme angewandt<br />

werden kann. Auch hier lassen sich Wachstumsprozesse je nach ihren Symmetrieeigenschaften<br />

verschiedenen Universalitätsklassen zuordnen. Als Einführung in die Theorie der<br />

Wachstumsprozesse eignet sich das Buch von Barabasi <strong>und</strong> Stanley [16] an.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


124 Phasenübergänge in Reaktions-Diffusionsprozessen<br />

Abbildung 7.11:<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


7.4 Aufgaben 125<br />

7.3.2 Voter Modell<br />

7.4 Aufgaben<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


Literaturverzeichnis<br />

[1] W. Kinzel and G. Reents, Physics by Computer, Springer, Berlin (1998), zu beziehen<br />

über Prof. Reents.<br />

[2] Siehe beispielsweise http://mathworld.wolfram.com/FourierTransform.html<br />

oder http://de.wikipedia.org/wiki/Fourier-Transformation<br />

[3] Bevan M. Baas, A Low-Power, High-Performance, 1024-point FFT Processor,<br />

IEEE Journal of Solid-State Circuits (JSSC), pp. 380-387, March 1999, vgl.<br />

http://nova.stanford.edu/ bbaas/spiffee.html<br />

[4] G. Marsaglia and A. Zaman, A new class of random number generators, The Annals<br />

of Applied Probability 1, No. 3, 462-480 (1991).<br />

[5] R. M. Ziff, Four-tap shift-register-sequence random-number generators, Computers<br />

in Physics 12, No. 4, 385-392 (1998), im Internet frei unter<br />

http://arxiv.org/abs/cond-mat/9710104.<br />

[6] zu chemischen Oszillationen siehe:<br />

http://de.wikipedia.org/wiki/Belousov-Zhabotinsky-Reaktion Die gezeigten<br />

Abbildungen stammen ebenfalls von dort.<br />

[7] R. Field, E. Körös, and R. Noyes, Oscillations in Chemical Systems. II. Thorough<br />

Analysis of Temporal Oscillation in the Bromate-Cerium-Malonic Acid System, J.<br />

Am. Chem. Soc. 94, 8649 (1972).<br />

[8] R. Kroon and H. Fleurent and R. Sprik, Diffusion-limited exciton fusion reaction<br />

in one-dimensional tetramethylammonium manganese trichloride (TMMC), Phys.<br />

Rev. E 47, 2462 (1993).<br />

[9] D. ben-Avraham, The method of inter-particle distribution functions for diffusionreaction<br />

systems in one dimension, Mod. Phys. Lett. B 9, 895 (1995).<br />

[10] H. Hinrichsen The phase transition of the diffusive pair contact process revisited,<br />

Physica A 361, 457 (2006), als Zeitschrift in der Bibliothek vorhanden, im Internet<br />

frei unter http://arxiv.org/abs/cond-mat/0501075.<br />

[11] R. Dickman and J. K. da Silva, Moment ratios for absorbing-state phase<br />

transitions, Phys. Rev. E 58, 4266 (1998), im Internet frei unter<br />

http://arxiv.org/abs/cond-mat/9805294.<br />

[12] A. L Barabási and H.E. Stanley, Fractal concepts in surface growth, Cambridge<br />

University Press, U.K., 1995.<br />

[13] S. Redner, A Guide to First-Passage Processes, Cambridge University Press, Cam-<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


128 Literaturverzeichnis<br />

bridge, UK (2001), vorhanden in der Lehrstuhlbibliothek von TP III.<br />

[14] T. A. Witten and L. M. Sander, Phys. Rev. Lett. 47, 1400 (1981), als Zeitschrift in<br />

der Bibliothek vorhanden,<br />

[15] B. B. Mandelbrot, B. Kol, and A. Aharony, Angular gaps in radial diffusion-limited<br />

aggregation: Two fractal dimensions and nontransient deviations from linear selfsimilarity,<br />

Physical Review Letters 88, 055501 (2002), als Zeitschrift in der Bibliothek<br />

vorhanden, im Internet frei unter http://arxiv.org/abs/cond-mat/0109426.<br />

[16] A. L Barabási and H.E. Stanley, Fractal concepts in surface growth, Cambridge<br />

University Press, U.K., 1995.<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


Index<br />

„ 2<br />

Abbildung<br />

chaotische, 58<br />

iterative, 44, 59<br />

logistische, 49<br />

Adams-Bashforth-Methode, 16<br />

Aggregat, 82<br />

Algorithmus<br />

leapfrog,leapfrog-Algorithmus, 14<br />

symplektischer,Iteration<br />

symplektische, 14<br />

Anfangswerte, 17<br />

Antikorrelationen, 58<br />

Apfelmännchen, 50<br />

asymptotisch proportional, 114<br />

Attraktor, 42<br />

seltsamer, 43<br />

Automat<br />

zellulärer, 97<br />

Belousov-Zhabotinsky-Reaktion, 90<br />

Bewegungsgleichung<br />

stochastische, 77<br />

Bifurkation, 46<br />

Billard, 35<br />

Box-Muller-Transformation, 65<br />

Chaos, 35<br />

deterministisches, 35<br />

chaotische Abbildung, 58<br />

Cluster, 82<br />

unendlicher, 113<br />

diffusionsbegrenztes Wachstum, 82<br />

Diffusionsgleichung, 78<br />

Diffusionskonstante, 78<br />

Dimension<br />

fraktale, 85<br />

kritische, 105<br />

Diskretisierung, 8<br />

DLA, 82<br />

Dreiecksgitter, 93<br />

Dynamik<br />

lokale, 97<br />

nichtlokale, 97<br />

zufällig-sequentielle, 116<br />

dynamischer Exponent, 117<br />

Einschrittverfahren, 8, 15<br />

Ensemblemittel, 57<br />

ergodisch, 94<br />

Euler-Verfahren,Interationsverfahren<br />

Euler, 9<br />

Exponent<br />

kritischer, 114<br />

Exponenten<br />

kritische, 109<br />

Exzitone, 100<br />

Faltung<br />

mehrfache, 72<br />

Faltungsintegral, 71<br />

Faltungsprodukt, 71<br />

Faltungssatz, 73<br />

Fehlerfunktion, 65<br />

Feigenbaumkonstante, 48<br />

Fenster<br />

chaotisches, 41<br />

Fixpunkt, 44<br />

Fokker-Planck-Gleichung, 78<br />

Forminvarianz, 79<br />

Fraktal, 43, 84<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics<br />

Gaußverteilung, 65<br />

gewöhnliche Differentialgleichungen,Differentialgleichung<br />

gewöhnliche, 7<br />

Gitter, 92<br />

Gittergeometrien, 93<br />

Grenzfläche, 121


130 Index<br />

Heteroepitaxie, 121<br />

Heun<br />

Verfahren von, 9<br />

Homoepitaxie, 121<br />

homogene Funktionen, 120<br />

Honigwabengitter, 93<br />

Hyperskalenrelation, 118<br />

Integration<br />

numerische, 1<br />

Iteration<br />

einstufige, 59<br />

Tiefe, 61<br />

Iterationsfehler, 9<br />

Iterationsindex, 8<br />

iterative Abbilung, 59<br />

Koagulation, 99<br />

Konfiguration, 94<br />

Kontaktprozess, 116<br />

Kontinuumlimes, 78<br />

Kontrollparameter, 109<br />

Korrektor, 9<br />

Korrelationen<br />

Anti-, 103<br />

Korrelationsfreiheit, 56<br />

Korrelationsfunktion, 57<br />

Zweipunkt-, 57<br />

kritischen Schwelle, 110<br />

Lösung<br />

einfach-periodische, 40<br />

mehrfach-periodische, 41<br />

Limes<br />

überdämpfter, 89<br />

Liouville<br />

Satz von, 38<br />

Lyapunov-Exponent, 38, 39<br />

mittlerer, 39<br />

Lyapunov-Exponenten<br />

Spektrum, 38, 39<br />

Lypunov-Exponent<br />

maximaler, 39<br />

Mandelbrotmenge, 50<br />

Markov-Eigenschaft, 97<br />

Massenwirkungsgesetz, 89<br />

Mastergleichung, 77<br />

Mehrschrittverfahren, 8, 15<br />

explizites, 16<br />

implizites, 16<br />

lineares, 16<br />

Mittel<br />

arithmetisches, 57<br />

Enseble-, 57<br />

Modenzerlegung, 22<br />

Molekularstrahlepitaxie, 121<br />

Musterbildung, 91<br />

Newton-Cotes-Verfahren, 3<br />

Niveauabstoßung, 36<br />

Niveaukreuzungen, 36<br />

Normalverteilung, 65<br />

Numerov-Verfahren, 20<br />

Oberflächenspannung, 122<br />

Ordnungsparameter, 109<br />

Oszillationen<br />

chemische, 90<br />

Periode, 58<br />

Periodenverdopplung, 41, 46<br />

Perkolation, 110<br />

gerichtete, 110<br />

isotrope, 110<br />

phänomenologische Skalentheorie, 119<br />

Phasenübergang, 109, 110<br />

diskontinuierlicher, 109<br />

erster Ordnung, 109<br />

kontinuierlicher, 109<br />

zweiter Ordnung, 109<br />

Phasendiagramm, 109<br />

Poincaré-Schnitt, 42<br />

Prädikator, 9<br />

Pseudozufallszahlen, 58<br />

Quadratgitter, 93<br />

Quantenbillard, 36<br />

Quantenchaos, 35<br />

Quantenzustand, 18<br />

Rückkehrexponent, 81<br />

Randbedingungen<br />

Dirichlet-, 92<br />

periodische, 93<br />

torodiale, 93<br />

von Neumann, 93<br />

random walk, 76<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics


Index 131<br />

Randwerte, 17<br />

Raten, 116<br />

Rauigkeit, 122<br />

Rauigkeitsexponent,Exponent<br />

Rauigkeits, 123<br />

Rauschen<br />

weisses, 75<br />

Reaktions-Diffusionsmodelle, 89<br />

Rechteckverfahren, 1<br />

Reskalierung, 79, 119<br />

Runge-Kutta Verfahren<br />

klassisches, 11<br />

Runge-Kutta-Fehlberg Verfahren, 12<br />

Runge-Kutta-Verfahren,Iterationsverfahren<br />

RungeKutta, 10<br />

Runge-Lenz-Vektor,Vektor<br />

Runge-Lenz, 15<br />

Schmetterlingseffekt, 35<br />

Schrödingergleichung, 16, 78<br />

stationäre, 19<br />

zeitabhängige, 22<br />

Schrittweite, 8<br />

Selbstähnlichkeit, 43<br />

Simpsonregel, 3<br />

Skalenform, 79<br />

Skalenfreiheit, 118<br />

Skalenfunktion, 79<br />

Skaleninvarianz, 113<br />

Skalenrelationen, 118<br />

Skalentransformation, 119<br />

Skalierungseigenschaften, 79<br />

Spitzeneffekt, 84<br />

Stützstellen, 1<br />

System<br />

-zustand, 94<br />

Transformation<br />

Box-Muller, 65<br />

Transienten, 114<br />

Trapezregel, 2<br />

Umkehrfunktion, 64<br />

Unitarität, 27<br />

Universalität, 75, 109, 110, 120<br />

der Feigenbaumkonstante, 49<br />

Universalitätsklasse, 109, 120<br />

universelle Skalenfunktion, 119<br />

Updates<br />

alternierende, 95<br />

ordered-sequential, 96<br />

parallele, 95<br />

random-sequential, 96<br />

verallgemeinerte homogene Funktionen,<br />

120<br />

Verteilung<br />

bimodale, 77<br />

Vielteilchensysteme, 89<br />

Wärmeleitungsgleichung, 16, 78<br />

Wachstum<br />

diffusionsbegrenztes, 82<br />

Wachstumsprozess, 121<br />

Wahrscheinlichkeitsdichte, 57<br />

Wahrscheinlichkeitsverteilung, 77<br />

faktorisierende, 56<br />

Wellenfunktion, 18<br />

Wellengleichung, 16<br />

Wellenpaket<br />

Zerfließen, 24<br />

Zellulärer Automat, 97<br />

deterministischer, 97<br />

stochastischer, 97<br />

Zerfließen des Wellenpakets, 29<br />

Zufallsbewegung, 76<br />

Zufallsgröße, 77<br />

Zufallszahlen<br />

Fließkomma, 57<br />

Pseudo, 58<br />

reelle, 57<br />

System von Differentialgleichungen,Differentialgleichungen<br />

Zufallszahlengenerator, 56<br />

System, 7<br />

Zustand, 61, 77<br />

Systeme<br />

stationärer, 83<br />

integrable, 19<br />

Zustandsraum, 94<br />

Haye Hinrichsen — Vorlesungsskript Computational Physics

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!