Christoph's photo Christoph Pfrommer
Back to Lectures overview

    Modern Computational Astrophysics: Concepts and Applications

    Nearly all theoretical astrophysics research as well as a substantial part of observational astronomy requires an expert knowledge of computational techniques. The topics range from ordinary and partial differential equations which find applications in the laws of gravitation, hydrodynamics or diffusion, to Fourier techniques, to collisionless systems. The objectives of this course are to endow students with the capacity to identify and classify common numerical problems in modern astrophysics. The course aims at an active understanding of numerical methods and algorithms, their ranges of applicability and teaches the underlying physical concepts. Solving basic astrophysical problems with adequate numerical techniques and determining the range of validity is an essential part of the course.


    Prof. Christoph Pfrommer & Dr. Marcel Pawlowski

    Place and Dates:

    The lectures take place every Thursday, at 10:15-11:45 in room (starting on November 5, 2020). The exercise classes take place right before, every Thursday, at 08:15-09:45 in room (starting in the second week on November 12, 2020).

    Note that this course is complemeted by a Seminar on Computational Astrophysics that takes place on Thursday evening, at 18:15 bis 19:45. The first meeting will be on Nov 5 on zoom.

    The lectures are based on the revised lecture notes originally written by Prof. Springel (Max-Planck Institute for Astrophysics) and are available as a PDF file (password protected).


    • Reviewing basic concepts of numerical simulations (preparatory course)
      • Integer arithmetic
      • Floating point arithmetic

    • Integration of ordinary differential equations
      • The Euler method: explicit and implicit
      • Runge-Kutta methods and adaptive step sizes
      • The leapfrog and symplectic integrators

    • Basic gas dynamics
      • Basic conservation laws
      • Euler and Navier-Stokes equations
      • Shocks, fluid instabilities and turbulence

    • Eulerian hydrodynamics
      • Types and solution schemes of partial differential equations
      • Advection and the Riemann problem
      • Finite volume discretization
      • Godunov's method and Riemann solvers
      • Extensions to multiple dimensions and high-order accuracy

    • Smoothed particle hydrodynamics (SPH)
      • Kernel interpolants
      • Variational derivation of SPH
      • Artificial viscosity
      • Advantages and disadvantages of SPH

    • Diffusion equation
      • Explicit method
      • Implicit methods

    • Fourier transform techniques
      • Convolution problems
      • The discrete Fourier transform
      • Non-periodic problems with 'zero padding'

    • Collisionless particle systems
      • N-particle ensembles
      • Uncorrelated (collisionless) systems
      • N-body models of collisionless systems

    • Tree algorithms
      • Multipole expansion
      • Hierarchical grouping
      • Tree walk

    • The particle-mesh technique
      • Mass/charge assignment
      • Solving for the potential and force calculation
      • Interpolating from the mesh to the particles

    • Paralellization techniques
      • Hardware overview
      • Shared memory parallelization with OpenMP
      • Distributed memory parallelization with MPI

    Homework Assignments

    All homework assignments and sample code can be obtained via this link (password protected).

    Python Preparatory Course:

    If you would like to refresh your python knowledge, there are many good tools on the web. We recommand the following Online Python Course (password protected).

    Credit Points:

    Credit points for this lectures can be used for the Master Science Astrophysics Modules PHY-765.

    Grades and credit points are given on the basis of an oral exam. To be eligible for this exam, you need to obtain at least 50% of the points of your homework assignments.