Computational Physics

Robert Roth
Sommer 2023
Am 19. Juni beginnen die abschließenden Projektarbeiten, die die Grundlage für die Prüfungsleistung bilden. Es gibt vier 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 Klassiches N-Körper-Problem
Bei diesem Projekt geht es um die numerische Beschreibung klassischer Vielteilchenprobleme und ihrer Dynamik. Als konkretes Beispiel wird die Dynamik von Galaxien bzw. deren Kollision unter der Wirkung der Graviationskraft untersucht. Da dazu sehr viele Körper nötig sind, wird ein spezieller Fraktal-Gitter-Algorithmus entwickelt, um die Berechnung der Kraft aller anderen Körper auf eine der Massen effizient zu gestalten.
Tobias Neumann
tobias_francis.neumann@stud.tu-da...

Lennart Voß
lennart.voss@stud.tu-da...

X02 Quantenmechanische Zeitentwicklung
In diesem Projekt soll die exakte quantenmechanische Zeitentwicklung eines eines Wellenpakets in ein bzw. zwei Dimensionen in verschiedenen Potentialen untersucht werden. Dabei wird eine besonders eleganter und effizienter Algorithmus, die Split-Operator Fast-Fourier-Transform Methode verwendet, um den Zeitentwicklungsoperator auf einem Gitter anzuwenden.
Quynh Nhu Bao
Bao-QN2001@hotmail.com
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.
Maurice Brezavsek
maurice.brezavsek@stud.tu-da...
X04 Nagel-Schreckenberg-Modell
Bei diesem Projekt geht es um die Simulation von Verkehrsstaus mit Hilfe eines einfachen regelbasierten zellulären Automaten im Rahmen des Nagel-Schreckenberg-Modells. Es gibt viele Varianten dieses Modells und Sie können es selbst leicht erweitern und für viele verschiedene alltagsrelevante Unteruchungen verwenden. Dabei ist eine geschickte algorithmische Implementation wichtig.
Robin Schwäch
robin.schwaech@stud.tu-da...

Timon Feldbusch
timon.feldbusch@stud.tu-da...

 

Hier noch einige Hinweise:

  • Aus den vier 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 muss;. Natürlich können und sollten Sie auch mit anderen Gruppen diskutieren (und wetteifern), die das gleiche Projekt bearbeiten.

  • 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/e Übungsgruppenleiter/in 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/ihre Übungsgruppe. Die studentischen Emailadressen der Experten sind oben angegeben.

  • Die angegeben "Leitfragen" sollen nur als 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. Beispiele dafür sind in den "Weiterführenden Fragen" angegeben. Sie sollten mindestens ein Thema jenseits der Leitfragen untersuchen!

  • 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, dass es von "jedem" bedient und verstanden werden kann - entsprechend ausführlich muss die Dokumentation sein. Idealerweise sollte sich das Notebook von oben nach unten ausführen lassen.

  • Die ausgearbeiteten Projekt-Notebooks müssen bis zum 28. Juli 2023 (23:59 Uhr) per Email "abgegeben" werden (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. Die Testate werden zeitlich gestaffelt vom 31. Juli bis 4. August stattfinden. Dazu gibt es später eine individuelle Terminbuchung.

An dieser Stelle werden die in den Vorlesungen verwendeten Mathematica-Notebooks zur Vor- und 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 - Unsicherheiten und Fehlerrechnung
  
L06 ODEs & Anfangswertprobleme
Erzwungene Schwingung mit Reibung - Lorenz-Attraktor - Algorithmen und Genauigkeitsfragen
  
L07 ODEs & Randwertprobleme
Randwertproblem und Shooting-Methode - Flugbahn eines Golfballes - Eindimensionale Schrödingergleichung
  
L08 PDEs auf dem Gitter
Differenzenquotienten - zeitabhängige Probleme - Wärmeleitung, FTCS-Methode und Stabilität - Wellenausbreitung in 2D
  
L09 PDEs & Randwertprobleme
Poissongleichung auf dem Gitter - Relaxationsmethoden - Eigenmoden einer 2D Membran
  
L10 FFT, Split-Operator & Cooling
Gitter im Impulsraum und FFT - Split-Operator Methode - Entwicklung in imaginärer Zeit
  
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
  
Folgende Übungsgruppen werden angeboten. Alle Übungen finden im PC-Pool S206|25 bzw. S201|2 statt (neben dem Großen Physikhörsaal im oberen Stockwerk).

Termin Raum Betreuer/in Bemerkung
A Mo. 11:40 - 13:20 S206|25 Lennart Voß
B Di. 9:50 - 11:30 S201|2 Maurice Brezavsek
C Mi. 15:20 - 17:00 S206|25 Timon Feldbusch Übung geschlossen!
D Mi. 13:30 - 15:10 S206|25 Robin Schwäch
E Di. 9:50 - 11:30 S206|25 Quynh Nhu Bao
F Di. 11:40 - 13:20 S206|25 Tobias Neumann

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
10.4. P01 Mathematica Warm-Up
Frontend und Dokumentation - Erste Schritte
17.4. P02 Mathematica Crash-Kurs I
Variablen und Funktionen - Listen - Rekursive Funktionen
24.4. P03 Mathematica Crash-Kurs II
Ersetzungsregeln - Symbolische Manipulation - Gleichungen
1.5. P04 Mathematica Crash-Kurs III
Gleichungen - Lineare Algebra - Normalmoden einer linearen Kette
8.5. P05 Mathematica Crash-Kurs IV
Ableitungen und Integrale - Senkrechter Wurf mit Reibung - Gauß-Gymnastik
15.5. P06 Mathematica Crash-Kurs V
Allgemeine Plots - Dipol- und Quadrupolfelder - Plots der Kugelflächenfunktionen
22.5. P07 Mathematica Crash-Kurs VI
Simulierte Versuchsauswertung -- Theorie der Zufalssmatrizen
29.5. P08 Lotka-Volterra-Modell
ODEs & Anfangswertprobleme - Jäger-Beute-Populationsdynamik
5.6. P09 Shooting-Methode
Eindimensionale Schrödingergleichung - Morse Oszillator
12.6. P10 Schrödingergleichung auf dem Gitter
Diskretisierung der Schrödingergleichung - Matrix-Eigenwertproblem - Potentialtopf und Bindungszustände
19.6. P11 Eigenschwingungen einer 2D Membran
Diskretisierung - Randbedingungen - Matrix-Eigenwertproblem

Speichern sie das gewünschte Notebook in ihrem Home-Verzeichnis bzw. einem geeigenten Unterverzeichnis und öffnen sie es anschließend im Mathematica-Frontend.

Der Fachbereich Physik finanziert (u.a., aus Mitteln für die Qualitätssicherung in der Lehre) ein Mathematica-Lizenzpaket, das sog. Home-Use Lizenzen f ür alle Mitglieder und Studierende des Fachbereichs beinhaltet. Sie können damit auf einfache Weise eine offizielle Mathematica Lizenz für Ihren eigenen Laptop oder PC (Windows, Linux, oder MacOS) erhalten. Weitere Informationen finden Sie unter:

https://www.physik.tu-darmstadt.de/einrichtungen/software

Es wird sehr empfohlen, von diesem Angebot Gebrauch zu machen!

Einen exzellenten Einstieg in Mathematica bieten die folgenden kostenlosen Online-Bücher:
  • An Elementary Introduction into the Wolfram Language
    Online Book
  • The Wolfram Language: A Fast Introduction for Programmers
    Online Book

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

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