Institut für Theoretische Physik
Start / Lehre / Übungblätter und Gruppen / ThermoDynamik / 02 / blatt6
Prof Dr. R. Kree Sommersemester 2002
Dr. A. Hartmann Blatt 6

Übungen zur Thermodynamik und Statistik
Abgabe am Montag, den 3. Juni 2002, 11:00 Uhr (Übungskästen)

Aufgabe 14: Markov-Ketten I (13 Punkte)

Im folgenden werden Markov-Ketten mit zeitunabhängigen Übergangsraten, dargestellt durch Matrizen ${\bf g}$, betrachtet. Die Aufgabe dient dazu, mit dem Konzept des Markov-Prozesses sowie den Begriffen Ergodizität und Stationarität vertrauter zu werden.

  1. Betrachten Sie folgende drei Übergangsmatrizen. Begründen Sie, welche zugehörigen Markov-Prozesse ergodisch sind!

    \begin{eqnarray}
{\bf g}_1=\left(
\begin{array}{cccc}
0 & 0 & \frac{1}{4} & 0 \\...
...\
\frac{1}{2} & 0 & 0 & \frac{1}{2}
\end{array}\right)
\nonumber
\end{eqnarray}

    TIP: Stellen Sie die Prozesse als Graphen dar.
  2. Berechnen Sie für die ergodischen Matrizen die stationären Zustände $\underline{P}_{\rm st}$ aus ${\bf g}\underline{P}_{\rm st}=\underline{P}_{\rm st}$.
  3. Welche der ergodischen Matrizen erfüllen detaillierte Balance?
  4. Gegeben sei folgender Vektor: $\underline{P}_{\rm st}=(0.2,0.2,0.3,0.3)^t$. Konstruieren Sie eine ergodische Matrix, die $\underline{P}_{\rm st}$ als stationären Zustand hat. Beweisen Sie es.
    TIP: Versuchen Sie, mit möglichst wenig Übergängen auszukommen und benutzen Sie detaillierte Balance.

Aufgabe 15: Markov-Ketten II (21 Punkte)

Betrachten Sie nebenstehende durch einen Übergangsgraphen teilweise gegebene Markov-Kette. Sie ist bis auf die Übergangsraten $g(i,i)$ definiert.
\includegraphics[width=5cm]{kette2.eps}

  1. Berechnen Sie die fehlenden Raten $g(i,i)$ und geben Sie die gesamte Übergangsmatrix an.
  2. Schreiben Sie ein Programm markov, das das Übergangsverhalten der Markov-Kette ausrechnet, indem es $n$-mal von links die Matrix ${\bf g}$ an den Startvektor $\underline{P}^0$ multipliziert. Das Programm gebe dann $\underline{P}^n\equiv {\bf g}^n\underline{P}^0$ aus. Sie können $n$ und $\underline{P}^0$ als Parameter an das Programm übergeben oder auch fest kodieren. Die Übergangsmatrix sollte der Einfachheit halber fest kodiert sein.
  3. Ermitteln Sie numerisch den stationären Zustand?
  4. Starten Sie im Zustand 0 mit $\underline{P}^0=(1,0,0,0,0,0)^t$ und lassen Sie das Programm $P^n(5)$ als Funktion von $n$ ausgeben.
    Ändern Sie dann die Markov-Kette, indem Sie die Übergangsraten zwischen den Zuständen 0 und 3 auf ein Zehntel reduzieren ($g(0,3)=0.01$, $G(3,0)=0.07$ und $g(0,0)$ und $g(3,3)$ entsprechend anpassen.) Wie ändert sich der stationäre Zustand? Geben Sie wieder$P^n(5)$ aus.
    Plotten Sie in einem Graphen (z.B mit gnuplot) für beide Fälle $P^n(5)$ für $n\in[0,100]$. Wie erklären Sie sich den Unterschied?

Projekt-Aufgabe 16: zweidimensionales Ising Modell (33 Punkte)

Abgabe dieser Aufgabe bis zum Montag den 10, Juni 2002!

  1. Schreiben Sie ein Monte-Carlo Simulationsprogramm, das das zweidimensionale Ising-Modell der Größe $L\times L$ mit periodischen Randbedingungen (ohne äußeres Feld) simuliert. Sie können ein komplett eigenes Programm schreiben oder auch die Vorlage mc_sample.c ergänzen, die unter http://www.theorie.physik.uni-goettingen.de/lehre/Uebungen/ThermoDynamik/02/ zum Download bereit steht. Achtung: Wg. technischer Probleme ggf. Verzögerung. Dann versuchen unter
    http://www.theorie.physik.uni-goettingen.de/~hartmann/mc_sample.c.

    • Das Beispielprogramm wird mit cc -o mc_sample mc_sample.c -lm compiliert.
    • Es wird in der Form mc_sample <random> aufgerufen
    • Es initialisiert eine Spinkonfiguration entweder zufällig (<random>=1) oder all Spins 'hoch` (<random>=0). Dann gibt es die Energie der Spinkonfiguration und die Konfiguration selbst aus.
    • Das Programm realisiert die periodischen Randbedingungen mittels eines Makros NEXT(), das in dem Beispielprogramm erklärt ist. Eine Unterroutine zur Initialisierung von NEXT() ist in dem Programm enthalten und wird als Black-Box verwendet. Weiter ist eine Unterroutine double energy(int dim, int N, int *next, short int *spin) enthalten, die die Energie des Systems pro Spin ausrechnet. Die Parameter sind Dimension des Systems (hier 2), Anzahl der Spins, ein Array next, das die Daten für das Makro NEXT() enthält, sowie die Spinkonfiguration, näheres wird in dem Programm erläutert.
    • In dem Programm sind die Spins von 1 bis $N$ nummeriert, d.h. das Array spin[] hat die Größe $N+1$ und das Element 0 bleibt ungenutzt.
    Das Programm soll in der folgenden Form aufrufbar sein:
    monte_carlo <random> <T> <num_sweeps>
    Es soll die Simulation bei Temperatur $T$ durchführen, genau <num_sweeps> mal durch Gitter gehen und nach jedem Durchlauf die aktuelle Schrittzahl, die Energie pro Spin und den Absolutwert der Magnetisierung pro Spin $\vert\sum_i$spin[i]$/N\vert$ ausgeben. TIP: Schreiben Sie eine Unterroutine für einen Monte-Carlo Sweep durch das Gitter, die die Form int mc_sweep(int dim, int N, int *next, short int *spin, double temp) hat.
  2. Lassen Sie das Programm für $L=10$ bei den Temperaturen $T=0.5,1,2,3,4,5$ jeweils mit zufällig sowie systematisch initialisierten Spins für 100 Sweeps laufen. Plotten Sie für $T=0.5$ und $T=3.0$ Graphen mit Magnetisierung $m(t)$ und Energie $e(t)$ als Funktion der Schrittzahl $t$. Hier können Sie das System als equilibriert ansehen, wenn $e$ bzw. $m$ im Rahmen ihrer Schwankungen für die beiden Startkonfigurationen übereinstimmen. Was für Equilibrierungszeiten finden Sie (ungefähr) für die verschiedenen Temperaturen?
  3. Lassen Sie das Programm nun für $L=30$ bei $T=0.5$ für 1000 Sweeps laufen, wieder mit den beiden Startkonfigurationen. Was beobachten Sie? Wie erklären Sie sich das Ergebnis? Drucken Sie dazu die End-Spinkonfigurationen für die beiden Startbedingungen aus.

Hinweis: Bitte achten Sie darauf, dass Ihre Lösungen stets mit Ihrem Namen und mit Name des Leiters und Nummer Ihrer Übungsgruppe beschriftet und zusammengeheftet sind. Werfen Sie die Lösungen am Montag jeweils bis spätestens 11:00 Uhr in die dafür bestimmten Kästen ein! Die Kästen werden um diese Zeit geleert, und die Lösungen unmittelbar an die Leiter der einzelnen Übungsgruppen weitergegeben. Senden Sie bis zum gleichen Zeitpunkt Ihre erstellten Programme per E-mail an Ihren Betreuer.





Diese Beschreibung in PostScript
hartmann
Mon May 27 15:35:44 CEST 2002