Computer simulations of complex particle systems have a strongly increasing impact in a broad field of physics, e.g. in astrophysics, statistical physics, plasma physics, material sciences or physical chemistry and biophysics. Along with the development of computer hardware, which nowadays shows a performance in the range of PFlop/s, it is essential to develop efficient and scalable algorithms which solve the physical problem. Since with more powerful computer systems usually also the problem size is increased, it is important to implement optimally scaling algorithms, which increase the computational effort proportionally to the number of particles. Especially in fields, where long-range interactions between particles have to be considered the numerical effort is usually very demanding.

Lectures:

1. Overview Lecture "High Performance Computing on the way to Exascale"

2. Introduction "Particle Simulation Methods"

3. Introduction to parallel computing "Introduction to MPI"

4. General Overview "Long Range Interactions"

5. Introduction to "Parallel Methods for Particle Simulations"

6. The Fast Multipole Method (FMM)

6.1. Introduction into the Method for open boundary conditions

6.2 FMM for Periodic Boundary Conditions in 1d-, 2d- and 3d.

6.3. Parallelization of the Method

7. Tree Methods

7.1. Overview of Tree-Methods

7.2. The Barnes-Hut Method

7.3. Parallelization of Tree-Methods

8. Multigrid Methods

8.1. Introduction to Multigrid

8.2. Multigrid for Long-Range Interactions in Particle Simulations

8.3. Parallelization of Multigrid

9. Fourier-Transform Methods

9.1. Overview over FFT methods

9.2. Minimizing the discretization errors

9.3. Non-Equidistant FFT (NFFT)

9.4. NFFT and Fast Summation

9.5. Parallelization of P3M and NFFT

Hands-on:

MPI - Parallel Programming

ScaFaCoS - a parallel library for Fast Coulomb Solvers

Integrating Fast Solvers into User Codes

Applications of FMM, NFFT, Tree-Codes, Multigrid