Advanced Computational Physics Lab

Scope and Goals

In the advanced computational lab module (M.Phy.1405), students will become acquainted with advanced computational methods and implement these methods themselves using standard programming languages (Python). They will have to demonstrate the correctness of the implementation, apply the methods to a given physics problem, discuss and analyze numerical errors and interpret the numerical data. Students enrolled into the Theoretical physics strand in the Master of Physics program are encouraged to take this module.

The course is divided into 3 topical blocks, and students will work on three programming projects for 4 weeks each. The programming topics will be selected from different branches of theoretical physics such as:

  • High-Energy Physics
  • Statistical Physics
  • Condensed Matter Theory
  • Quantum Many-Body Systems
  • Soft Condensed Matter Physics
  • Theoretical Biophysics
  • Theoretical Astrophysics
  • Theoretical Geophysics
The specific topics and projects will vary from year to year.

Prerequisites (recommended)

  • Programming experience with e.g., Python, C++ or similar languages
  • Advanced Quantum Mechanics or equivalent
  • Advanced Statistical Physics or equivalent
  • Methods of Computational Physics or equivalent

Course credit

Credit (6ECTS) is earned by passing an oral exam (30mins).
For the oral exam, the students can choose the examiner from the list of instructors posted in Stud.IP and Uni.VZ.

The prerequisites for being admitted to the oral exam are:
  • Successful implementation of codes in the three different programming projects. The codes need to be submitted.
  • Submission of a written report on each project. 50% of the point total are required for each report to be admitted to the oral exams. The reports need to be prepared individually by each participant.
  • One meeting per project with the tutor to discuss the reports.

Important dates

  • Onsite course times: Wed., 2-6pm, Fri., 2-4pm
  • Organizational Meeting: See Stud.IP announcement.
  • Introductory lectures project 1: See Stud.IP announcement.
  • Introductory lectures project 2: See Stud.IP announcement.
  • Introductory lectures project 3: See Stud.IP announcement.

Programing projects

Details will be provided in the organizational meeting at the beginning of each term.

In each term, projects are offered by three instructors from this list:
  • Prof. Dr. Fabian Heidrich-Meisner
  • Prof. Dr. Stefan Klumpp
  • Prof. Dr. Marcus Müller
  • Prof. Dr. Steffen Schumann
  • Prof. Dr. Peter Sollich

Project from Particle Physics

Prof. Dr. Steffen Schumann


Another project will stem from the field of particle physics. The students will have to implement, validate and apply an algorithm to simulate parton cascades, i.e. the subsequent emission process of strongly interacting particles. This accounts for the semi-classical evolution of final states produced in high-energetic particle collisions.

Project from Quantum Many-Body Physics

Prof. Dr. Fabian Heidrich-Meisner


The figure shows a matrix product state and unitary gates U, which one can use for time evolution. Adapted from Stolpp et al. Phys. Rev. B 101, 035134 (2020).

One Project will cover quantum many-body physics. The students will learn how to efficiently implement exact diagonalization routines or Lanczos methods for lattice Hamiltonians such as Heisenberg models or Hubbard models. The project will deal with either the thermodynamics, real-time evolution, dynamical quantities of such systems.

Project from Statistical Physics (a)

Prof. Dr. Marcus Müller


One project will study a problem of statistical physics, biophysics, or polymer physics. The students will use classical particle-based simulations or continuum models. The task consists in implementing and validating a simulation strategy to investigate the dynamics of structure formation or rare events in soft mater systems like e.g., the thermally activated diffusion in a self-assembled nanostructure.

Project from Statistical Physics (b)

Prof. Dr. Peter Sollich

This project will provide an introduction to disordered systems and techniques for analysing them. Students will learn to implement the Cavity Method, which allows the numerical solution of disordered models on suitable random networks. They will use their code to study e.g. the Anderson Model of noninteracting electrons or the Bouchaud trap model, one of the paradigmatic models of glassiness, both defined on sparse networks. The discussion will be organized around the statistical properties of the eigenvalues and eigenvectors associated with the random (Hamilton or master) operator for each physical problem.

Project from Statistical Physics & Theoretical Biophysics

Prof. Dr. Stefan Klumpp

Snapshot of active particles with dipolar interactions at low density

This project will cover molecular dynamics simulations, common in material science and biophysics. The students will implement their own simulation for the case of active (i.e., self-propelled) Brownian particles, a class of models used to describe swarms of birds or suspensions of bacteria. They will learn how to treat interactions between the particles efficiently. The simulation will be used to study dynamics and phase transitions in such systems.