Computational Physics (Materialen)

Computational Physics

Gabriel Martínez-Pinedo
SS 2017
The course is taught in English. Most of the material is provided in German.

Projektarbeiten

Die Bearbeitungszeit für die Projekte ist abgelaufen. Zum Abschluss der Veranstaltung soll nun jede Gruppe ihre Ausarbeitung in einem kurzen Gespräch (etwa 20-25 Minuten) mit den Tutoren vorstellen. Dazu haben wir Termine in den Wochen vom 05.09.2017 bis zum 13.09.2017 verteilt. Die Termine finden Sie hier . Bitte überprüfen Sie, ob Sie einen Termin erhalten haben.
Die Gepräche werden im Raum S 2|11 103 (Theoriezentrum) stattfinden.
Sollten Sie zu dem angegebnen Zeitpunkt verhindert sein, so melden Sie sich bitte so bald wie möglich per Email an compphys2017 at theorie.ikp.physik.tu-darmstadt.de, damit wir einen Ausweichtermin vereinbaren können.

Bis zum 25.08. (23:55) können Sie ihre Ausarbeitungen zu den Projekten bei moodle hochladen. Bitte denken Sie daran Ihre Namen und Matrikelnummern im Notebook oder der Ausarbeitung bzw. dem Quellcode anzugeben. Sollten Probleme beim Hochladen auftreten, so können Sie Ihre Ausarbeitung auch per Email an compphys2017 at theorie.ikp.physik.tu-darmstadt.de senden.

Am 07. Juli beginnen die abschließenden Projektarbeiten, die die Grundlage für die Prüfungsleistung bilden.
Das Einschreiben zu den Projekten wird über das moodle System erfolgen und kurz vor Beginn der Bearbeitungszeit freigeschaltet.
Sollten Sie organisatorische Fragen oder Probleme bei der Nutzung von moodle haben, dann können Sie eine Nachricht an compphys2017 at theorie.ikp.physik.tu-darmstadt.de senden.
Es gibt fünf verschiedene Themen aus verschiedenen Bereichen der Physik mit verschiedenen Schwerpunkten und Schwierigkeiten zur Auswahl. Die folgenden Notebooks enthalten eine kurze Beschreibung der Themen mit einigen Leitfragen und weiterführenden Anregungen.

Titel Notebook Experte/in
X01 Orbits um Schwarze Löcher
Einsteins Allgemeine Relativitätstheorie ist eine fundamentale Beschreibung der Gravitation und erklärt auch die winzigen Abweichungen der Planetenbahnen von den Vorhersagen der Newtonschen Graviation und die Ablenkung von Licht durch massive Objekte. Um diese Aspekte zu untersuchen, werden in diesem Projekt die Bewegungsgleichungen für massive und masselose Testteilchen im Gravitationsfeld nicht rotierender, sphärische Körper, wie z.B. der Sonne, eines Neutronensterns oder eines Schwarzen Loches, gelöst.
Andre Sieverding
X02 Fußgängerdynamik
Die Dynamik von Fußgängermassen ist ein wichtiger Aspekt bei der Planung von Verkehrswegen und Veranstaltungsstätten. In diesem Projekt soll diese Dynamik mit einem einfachen zellulären Automaten modelliert werden. Damit lassen sich verschiedene Fluchtsituationen simulieren und verfeinerte Modelle entwickeln.
Daniel Hofmann
Andreas Lohs
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 sogar recht komplexe Probleme, wie z.B. das H3+-Ion.
Tobias Wolfgruber
X04 Weiße Zwerge und Neutronensterne
Weiße Zwerge und Neutronensterne sind das Endstadium vieler Sterne. Die Materie unterliegt hier extremen Bedingungen, sodass relativistische und quantenmechanische Effekte eine wichtige Rolle spielen. In diesem Projekt geht es darum, Zustandsgleichungen zur Beschreibungen der Materie zu entwickeln und damit die Struktur solcher kompakter Objekte zu modellieren.
Alexander Arzhanov
Malte Cordts
X05 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.
Dag Fahlin Strömberg
Andreas Lohs

Hier noch einige Hinweise:

  • Die Anmeldung erfolgt in zwei Schritten. Im moodle System können Sie zunächst eines dieser Themen auswälen und sich dann maximal zu zweit als Team einschreiben. Bitte beachten Sie, dass es eine Obergrenze für die Zahl der Teilnehmer bei jedem Projekt geht. Daher sollten Sie erst mit der Bearbeitung beginnen wenn Sie sich erfolgreich für das Projekt eingeschrieben haben.

  • 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.

  • Während der Bearbeitungszeit Projekte können Sie sich an Ihren angestammten Übungsgruppenleiter oder den jeweiligen Experten für Ihr Projekt wenden. Die Tutoren können mit Ihnen individuelle Termine vereinbaren oder Fragen soweit wie möglich per Email klären. Falls Bedarf besteht, können Sprechstuden, besonders gegen Ende der Bearbeitungszeit, vereinbart werden.

  • 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.

  • Sie können die Aufgaben natürlich auch mit einer anderen Programmiersprache bearbeiten. Dann geben Sie am Ende bitte den vollständigen Quellcode und eine ausreichende Ausarbeitung der physikalischen Ergebnisse ab. Außerdem sollten Sie dafür sorgen, dass das Programm auf einer standard Linux Installation lauffähig ist. Besprechen Sie dies am Besten rechtzeitig mit dem Betreuer.

  • 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.

  • Die Abgabefrist für die Ausarbeitungen ist der 25.08.2017 (23:59 Uhr), genaueres hierzu später.

  • 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. Diese Gespräche finden vorausichtlich ab dem 4. September statt (genaueres später). Sollten Sie unbedingt früheren Termin benötigen, so schreiben Sie bitte frühzeitig an compphys2017 at theorie.ikp.physik.tu-darmstadt.de.


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 II
Exakte vs. approximative Arithmetik - Symbolische Manipulation - Gleichungen und Gleichungssysteme - Lineare Algebra
  
L03 Mathematica Crash-Kurs III
Differentiation und Taylorentwicklung - Integration - Differentialgleichungen - Verschiedenes
  
L04 Mathematica Crash-Kurs IV
Funktions- und Listenplots - Graphikprogrammierung - Graphische Manipulatoren
  
L05 Mathematica Crash-Kurs V
Programmierung - Daten-I/O - Datenmodellierung und Analyse
  
L06 Mathematica Crash-Kurs VI
Funktionale Programmierung - Regelbasierte Programmierung - Parallelisierung
  
L07 Gewöhnliche Differenzialgleichungen und Anfangswertprobleme
Algorithmen und Genauigkeit [notes, notebook (nb,pdf)] - Erzwungene Schwingung und Chaos - Lorenz-Attraktor
  
L08 Gewöhnliche Differenzialgleichungen und Anfangswertprobleme
Randwertproblem und Shooting-Methode - Flugbahn eines Golfballes - Eindimensionale Schrödingergleichung - Numerov algorithm (notes)
  
L09 Partielle Differenzialgleichungen auf dem Gitter (notes)
Differenzenquotienten - zeitabhängige Probleme - Wärmeleitung, FTCS-Methode und Stabilität - Wellenausbreitung in 2D
  
L10 Partielle Differenzialgleichungen und Randwertprobleme
Poissongleichung auf dem Gitter - Relaxationsmethoden (notes) - 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
  
L14 Time-dependent Schrödinger equation
Evolution wave packet - Fixed and periodic boundary conditions - bouncing quantum ball
  
L15 Adaptative methods for ordinary differential equations
Adaptative step size control for Runge-Kutta - Rössler Attractor - Restricted three-body problem
  

Übungen

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

Termin Betreuer/in email
Mo. 11:40 - 13:20 Alexander Arzhanov aarz at theorie.ikp.physik.tu-darmstadt.de
Mo. 15:20 - 17:00 Andre Sieverding asiever at theorie.ikp.physik.tu-darmstadt.de
Di. 9:50 - 11:30 Daniel Hoffmann danielhofmann92 at t-online.de
Di. 11:40 - 13:20 Dag Fahlin Strömberg dagfahstr at gmail.com
Di. 13:30 - 15:10 Samuel Giuliani giuliani at theorie.ikp.physik.tu-darmstadt.de
Mi. 9:50 - 11:30 Sofija Antic s.antic at gsi.de
Mi. 13:30 - 15:10 Tobias Wolfgruber tobias.wolfgruber at stud.tu-darmstadt.de
Do. 9:50 - 11:30 Andreas Lohs alohs at theorie.ikp.physik.tu-darmstadt.de
Do. 15:20 - 17:00 Malte Cordts cordtsmalte at googlemail.com

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
24.4. P00 Mathematica Tour
1.5. P01 Mathematica Crash-Kurs I
Mathematica-Knobelei
8.5. P02 Mathematica Crash-Kurs II
Variablen und Funktionen - Listen - Rekursive Funktionen
15.5. P03 Mathematica Crash-Kurs III
Ersetzungsregeln - Symbolische Manipulation - Gleichungen
Lineare Algebra - Newton-Raphson Verfahren - Normalmoden
22.5. P04 Mathematica Crash-Kurs IV
Ableitungen und Integrale - Numerische Integrationsmethoden
Cantor Mengen - Dipol- und Quadrupolfelder - Kugelflächenfunktionen
29.5. P05 Mathematica Crash-Kurs V
Textverschlüsselung - Sortierung - Kartenspiel
5.6. P06 Gewöhnliche Differenzialgleichungen - Anfangswertprobleme
Rössler Attraktor - Senkrechter Wurf
12.6. P07 Gewöhnliche Differenzialgleichungen - Anfangswertprobleme II
Lotka-Voltera Model - Jäger-Beute-Dynamik - Achterbahn im Lagrange Formalismus
19.6. P08 Numerov Algorithmus
Poisson Gleichung - Eindimensionale Schrödingergleichung
26.6. P09 Schrödingergleichung auf dem Gitter
Diskretisierung der Schrödingergleichung - Matrix-Eigenwertproblem - Potentialtopf und Bindungszustände
03.07. P10 Zeitabhängige eindimensionale Schrödingergleichung für ein Wellenpaket
Crank-Nicolson Schema

Speichern sie das gewünschte Notebook in ihrem Home-Verzeichnis bzw. einem geeigenten Unterverzeichnis (bei Firefox z.B. per Klick mit der rechten Maustaste und 'Save Link As...') und öffnen sie es anschließlend 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 (1996) - 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 zur Computational Physics und zu 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 Mathematica installiert. Das Frontend kann durch den Aufruf mathematica gestartet werden (z.B. mit dem Alt-F2 Dialog von KDE).

  • Studenten des Fachbereichs Physik haben die Möglichkeit für Studienzwecke eine Lizenz zur Verwendung von Mathematica auf ihrem privaten PC zu erhalten. Sie müssen sich dazu mit Ihrer TU-Id anmelden und finden weitere Informationen hier.

  • 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/