Computational Physics (Material)

Computational Physics

Lorenz von Smekal, Markus Huber
SS 2013
Projekte Vorlesung Uebungen Literatur Hinweise

Projekte

  • Die Terminbestätigungen wurden alle versandt. Sollten Sie keine erhalten haben, setzen Sie sich bitte mit Markus Huber in Verbindung.
  • Bis Freitag, 5.7.2013, 12 Uhr haben Sie Zeit, in den Notebooks nachzubessern, falls die Projektbetreuer Ihnen Verbesserungsvorschläge gemacht haben. Schicken Sie die Notebooks wieder an die jeweiligen Projektbetreuer. Sollten Sie bis dahin nicht abgegeben haben, können Sie kein Testat ablegen.
  • Ablauf der Testate:
    • Die Dauer der Testate ist mit 10-15 Minuten angesetzt.
    • In den Testaten sollen Sie Ihre Projektausarbeitung erklären. Es wird auch Wert drauf gelegt, dass Sie die verwendeten Methoden verstehen und erklären können.
  • Für die Abgabe der Projekte gilt folgende Vorgehensweise (Achtung: Änderungen):
    • Die Termine werden am 2.7.2013 per Email bestätigt.
    • Die Projekte müssen bis 1.7.2013, 7:00 per Email abgegeben werden.
    • Schicken Sie das fertige Notebook als X0i_Name1_Name2.nb oder sonstigen Programmcode an die beiden Projektexperten. Achten Sie darauf, dass die Notebooks nicht zu groß werden, indem Sie zum Beispiel große Plots entfernen. Die Notebooks sollten kleiner als 2 MB sein. Die entfernten Plots sollten innerhalb kurzer Zeit (1 Minute) wieder berechnet werden können. Ansonsten exportieren Sie diese und schicken Sie sie separat als Bilddatei mit. Nennen Sie die Namen und Matrikelnummern der Projektbeteiligten.
    • Schicken Sie Ihre Terminwünsche für das Testat mit der unten angeführten Nummer (3a, ...) an Markus Huber. Geben Sie drei Terminwünsche an, vorzugsweise für Termine, an denen Ihre Projektnummer angegeben ist (min. ein entsprechender Terminwunsch). Falls Sie eine Note benötigen, vermerken Sie das in der Email. Bei Zweiergruppen schickt der oder die Einreichende diese Email bitte mit CC an seinen/ihren Kollegen/Kollegin, sodass wir beiden den Testatstermin bestätigen können. Verwenden Sie diese Vorlage.
    • Abweichungen von den vorgeschlagenen Terminen sind nur mit guter Begründung möglich.
    • Sie erhalten eine Email, in der ein genauer Termin und der Ort der Prüfung genannt werden.
    • Sollten Mängel am eingereichten Notebook festgestellt werden, haben Sie bis 5.7.2013 Zeit, diese zu beheben.
    • Wir behalten uns vor, verschiedene Einreichungen untereinander auf Übereinstimmungen zu vergleichen.
    • Die angebotenen Termine decken sich mit den Übungsstunden und sind wie folgt:
      Nummer Datum Uhrzeit Projekt
      3a 3.7.2013 9:45 - 11:30 X03
      3b 3.7.2013 13:30 - 15:15 X05
      4a 4.7.2013 9:45 - 11:15 X01
      4b 4.7.2013 15:15 - 16:45 X04
      8a 8.7.2013 11:45 - 13:30 X02
      8b 8.7.2013 15:15 - 17:00 X02
      9a 9.7.2013 9:45 - 11:15 X03
      9b 9.7.2013 11:45 - 13:30 X05
      9c 9.7.2013 13:30 - 15:15 X01
      10a 10.7.2013 9:45 - 11:30 X03
      10b 10.7.2013 13:30 - 15:15 X05
      11a 11.7.2013 9:45 - 11:15 X01
      11b 11.7.2013 15:15 - 16:45 X04
      15a 15.7.2013 11:45 - 13:30 X02
      15b 15.7.2013 15:15 - 17:00 X02
      16a 16.7.2013 9:45 - 11:15 X03
      16b 16.7.2013 11:45 - 13:30 X05
      16c 16.7.2013 13:30 - 15:15 X01
  • Es gibt hier eine Trial-Version von Mathematica 9. Diese läuft für 30 Tage. Für die Ausarbeitung Ihres Projekts könnte diese von Nutzen sein.
  • Im Rechnerpool gibt es jetzt Mathematica 9.
  • Melden Sie sich per Email bei dem mit * markierten Projektexperten an. Die maximale Anzahl an Projektgruppen beträgt 20. Projekte mit grauer Nummer sind bereits voll.
  • Hier finden Sie die vorgegebenen Projekte:
    Titel Notebook Experte/in
    X01 Gezeitenreibung
    Die Rotation der Erde wird kontinuierlich durch ein Zusammenspiel von Gezeiten und Reibung abgebremst. Ziel dieses Projekts ist es, ein Modell für die Dynamik des Erde-Mond-Systems zu entwickeln, das die gravitative Wirkung und die Reibung der Flutberge auf der Erde berücksichtigt und die Erdabbremsung erklärt.
    Johan Eggers*, Carlos Mattes
    X02 Epidemieausbreitung
    Durch die vermehrte Reisetätigkeit breiten sich Infektionskrankheiten sehr schnell und großflächig aus. Die zeitliche und rämliche Entwicklung solcher Epidemien wird in diesem Projekt durch eine lokale Populationsdynamik gekoppelt mit einer Reisebewegung auf einem Netzwerk (z.B. Städte in Europa) modelliert und simuliert.
    Nikolaus Lorenz, Matthias Bartelmeß*
    X03 Diffusions-Quanten-Monte-Carlo
    Es gibt eine Reihe von Verfahren zur numerischen Lösung der stationären Schrödingergleichung - eines der interessantesten und leistungsfähigsten ist der sog. Diffusions-Monte-Carlo-Algorithmus. In diesem Projekt soll der Algorithmus entwickelt, implementiert und angewendet werden. Zu den möglichen Anwendungen gehören recht komplexe Probleme, wie z.B. das H3+-Ion.
    Lukas Holicki*, Micha Ober
    X04 Anharmonischer Oszillator
    In diesem Projekt soll der anharmonische Oszillator mittels einer sogenannten Flussgleichung gelöst werden.
    Stefan Finkbeiner, Markus Huber*
    X05 Primordiale Nukleosynthese
    Als primordiale Nukleosynthese bezeichnet man eine physikalische Theorie, die die Bildung der ersten Atomkerne kurz nach dem Urknall beschreibt. Die primordiale Nukleosynthese dauerte nur etwa 3 Minuten; danach fielen Temperatur und Dichte des Universums unter die kritischen Werte, die für die Kernfusion nötig sind. Die kurze Zeitdauer erklärt zum einen, warum sich schwerere Elemente nicht schon beim Urknall gebildet haben, und zum anderen, warum reaktive leichte Elemente wie Deuterium übrig bleiben konnten.
    Sven Möller*, Peter Neuroth

Hier noch einige Hinweise:

  • Aus den fünf Themen können Sie sich eines aussuchen. Die Themen haben unterschiedliche Gewichtungen was die Programmierung und den physikalischen Hintergrund angeht. Wählen Sie sich ein Thema aus, das ihnen machbar erscheint - aber unterschätzen Sie sich nicht.

  • Sie können die Projekte entweder allein oder in Zweiergruppen bearbeiten, wobei dann nur ein Notebook abgegeben werden muß. Natürlich können und sollten Sie auch mit anderen Gruppen diskutieren (und wetteifern), die das gleiche Projekt bearbeiten. Sollten bei einem Projekt zu viele Einzelne angemeldet sein, behalten wir uns Zusammenlegungen vor.

  • Die Projekte können in den angestammten Übungsgruppen mit Betreuung durch die Übungsgruppenleiter bearbeitet werden. Natürlich können Sie auch außerhalb der Übungszeiten im Pool oder zuhause an den Projekten arbeiten.

  • Sollte Ihr Übungsgruppenleiter Ihnen bei einem speziellen Problem nicht weiterhelfen können, dann wenden Sie sich an einen der Experten für Ihr Projekt (siehe oben), d.h. gehen Sie einmalig einfach in seine Übungsgruppe.

  • Die angegeben Leitfragen sollen nur als Orientierung und Minimalziel dienen, d.h. ihre richtige Bearbeitung ist notwendig aber nicht hinreichend für das Testat. Sie sollten kreativ werden und zusätzliche Fragen untersuchen bzw. eigene Schwerpunkte entwickeln.

  • Das Endprodukt der Projektarbeit sollte ein ausführlich dokumentiertes Mathematica-Notebook sein. Neben dem eigentlichen Programm, das in der Regel aus wenigen Modulen besteht, sollte eine ausführliche Dokumentation des Programmcodes und eine detaillierte Diskussion der physikalischen Anwendungen enthalten sein. Diese Punkte sind der häufigste Grund für nicht gegegebene Testate.

  • Das Notebook sollte so gestaltet sein, daß es von "jedem" bedient und verstanden werden kann - entsprechend ausführlich muß die Dokumentation sein. Idealerweise sollte sich das Notebook von oben nach unten ausführen lassen, wobei am Ende einige interessante Beispiele für das jeweilige Problem enthalten sein müssen.

  • Nach Abgabe werden die Übungsgruppenbetreuer oder ich mit Ihnen über Ihr Notebook diskutieren, d.h. Sie stellen uns Ihre Arbeit in einem ca. 10-minütigen Gespräch vor.

  • Nach Rücksprache mit dem Projektexperten dürfen Projekte auch in anderen Programmiersprachen abgearbeitet werden.

Vorlesung

An dieser Stelle werden die in den Vorlesungen verwendeten Mathematica-Notebooks zur Nachbereitung als pdf-File () und als Mathematica-nb-File () bereitgestellt.

Sektion Titel Notebook
L01 Mathematica Crash-Kurs I
Zehn Überlebensregeln - Variablen und Zuweisungen - Funktionen - Listen und Ersetzungsregeln
  
L02 Mathematica Crash-Kurs I
Exakte vs. approximative Arithmetik - Symbolische Manipulation - Gleichungen und Gleichungssysteme - Lineare Algebra
  
L03 Mathematica Crash-Kurs III
Differentiation und Taylorentwicklung - Integration - Differentialgleichungen
  
L04 Mathematica Crash-Kurs IV
Funktions- und Listenplots - Grafikprogrammierung - Manipulatoren
  
L05 Mathematica Crash-Kurs V
Prozedurale Programmierung - Daten-I/O - Datenmodellierung und Analyse
  
L06 Mathematica Crash-Kurs VI
Funktionale Programmierung - Regelbasierte Programmierung - Parallelisierung
  
L07 Gewöhnliche Differenzialgleichungen und Anfangswertprobleme
Erzwungene Schwingung und Chaos - Lorenz-Attraktor - Algorithmen und Genauigkeit
  
L08 Gewöhnliche Differenzialgleichungen und Anfangswertprobleme
Randwertprobleme und Shooting-Methode - Flugbahn eines Golfballs - Eindimensionale Schrödingergleichung
  
L09 Partielle Differenzialgleichungen
Differenzenquotienten - zeitabhängige Probleme - Wärmeleitung, FTCS und Stabilität - Wellengleichung in 2D
  
L10 Partielle Differenzialgleichungen und Randwertprobleme
Poissongleichung auf dem Gitter - Relaxationsmethoden - Eigenmoden einer 2D Membran
  
L11 Monte-Carlo-Methoden
Pseudo-Zufallszahlen - Zufallszahlen mit verschiedenen Verteilungen - Monte-Carlo-Integration - Random Walk
  
L12 Mathematica vs. C
Diskretisierung der Schrödingergleichung - Diagonalisierung auf dem Gitter - Vergleich Mathematica- vs. C-Implementation
  
L13 Ising Modell
Ising-Modell - Markov-Kette - Importance Sampling - Metropolis
  

Übungen

Folgende Übungsgruppen werden angeboten. Alle Übungen finden im Raum S206/25 statt.
Kontakt zu Betreuern

Termin Betreuer Sprechstunde
Mo. 11:40 - 13:20 Nikolaus Lorenz Do. 13:30 - 14:30, S206/25
Mo. 15:20 - 17:00 Matthias Bartelmeß Do. 14:00 - 15:00, S206/25
Di. 9:50 - 11:30 Micha Ober Do. 10:00 - 11:00, S209/02
Di. 11:40 - 13:20 Sven Möller Mo. 17:00 - 18:00, S206/25
Di. 13:30 - 15:10 Carlos Mattes Do. 13:30 - 14:30, S206/25
Mi. 9:50 - 11:30 Lukas Holicki Di. 16:00 - 17:00, S206/25
Mi. 13:30 - 15:10 Peter Neuroth Di. 16:00 - 17:00, S206/25
Do. 9:50 - 11:30 Johan Eggers Mi. 15:00 - 16:00, S207/162
Do. 15:20 - 17:00 Stefan Finkbeiner Di. 15:30 - 16:30, S206/25

Hier finden Sie die Aufgabenblätter zu den Übungen in Form von Mathematica- Notebooks. Bitte speichern Sie das entsprechende File in ihrem Benutzerverzeichnis und bearbeiten Sie es. Nach den jeweiligen Übungsterminen werden die vervollständigten Notebooks an dieser Stelle veröffentlicht.

Datum Sektion Titel Notebook Lösung
15.4. P00 Mathematica Tour
22.4. P01 Mathematica Crash-Kurs I
Mathematica-Knobelei
29.4. P02 Mathematica Crash-Kurs II
Variablen und Funktionen - Listen
6.5. P03 Mathematica Crash-Kurs III
Ersetzungsregeln - Symbolische Manipulation - Gleichungen - Lineare Algebra - Normalmoden
13.5. P04 Mathematica Crash-Kurs IV
Ableitungen und Integrale - Senkrechter Wurf mit Reibung - Gauß-Gymnastik - Dipol- und Quadrupolfelder - Kugelflächenfunktionen - Numerische und analytische Integration
20.5. P05 Mathematica Crash-Kurs V
Textverschlüsselung - Sortierung - Kartenspiel
27.5. P06 Anfangswertprobleme
Lotka-Voltera-Modell - Jäger-Beute-Populationsdynamik
3.6. P07 Anfangswertprobleme
Kugelstoßpendel
10.6. P08 Shooting-Methode
Eindimensionale Schrödingergleichung - Morse-Oszillator
17.6. P09 Schrödingergleichung auf dem Gitter
Diskretisierung der Schrödingergleichung - Potentialtopf und Bindungszustände

Speichern Sie das gewünschte Notebook in ihrem Home-Verzeichnis bzw. einem geeigneten Unterverzeichnis (bei Firefox z.B. per Klick mit der rechten Maustaste und 'Save Link As...') und öffnen Sie es anschließend im Mathematica-Frontend.

Literatur

Hier einige Bücher zum Einsatz von Mathematica in der Physik:

  • R. L. Zimmerman, F.I. Olness - Mathematica for Physics
    Addison-Wesley (2002) - ISBN 0 805 38700 5
  • G. Baumann - Mathematica in Theoretical Physics
    Springer (2005) - ISBN 0 387 94424
  • J. M. Feagin - Quantum Methods with Mathematica
    Springer (2002) - ISBN 0 387 95365 5

Allgemeine Literatur zu Mathematica:

  • P. Wellin, R. Gaylord, S. Kamin - An introduction to programming with Mathematica (sehr gut für Einsteiger)
    Cambridge University Press (2005)
  • M. Trott - The Mathematica Handbook for Programming (sehr umfangreich)
    Springer (2004)
  • M. Trott - The Mathematica Handbook for Symbolics (sehr umfangreich)
    Springer (2005)
  • M. Trott - The Mathematica Handbook for Numerics (sehr umfangreich)
    Springer (2005)
  • M. Trott - The Mathematica Handbook for Graphics (sehr umfangreich)
    Springer (2004)

Und ein paar Bücher zu Computational Physics und numerischen Methoden allgemein:

  • T. Pang - An Introduction to Computational Physics
    Cambridge Univ. Press (2002) - ISBN 0 521 48592 4
  • A. L. Garcia - Numerical Methods for Physics
    Prentice Hall (2000) - ISBN 0 13 906744 2
  • W. H. Press et al. - Numerical Recipes: The Art of Scientific Computing
    Cambridge Univ. Press (2007) - ISBN 0 521 88068 8

Hinweise

  • Auf den Rechnern im Physik-Rechnerpool ist derzeit Mathematica 7.0 installiert. Das Frontend kann durch den Aufruf mathematica gestartet werden (z.B. mit dem Alt-F2 Dialog von KDE).
  • Zum Anzeigen von Notebooks auf anderen Rechnern kann der MathPlayer direkt bei Wolfram Research heruntergeladen werden: http://www.wolfram.com/products/player.
  • Viele nützliche Information rund um Mathematica finden sich unter http://www.wolfram.com/services/
zum Seitenanfang