### Table of Contents

# Seminar „Particle Methods“

## News

- 9 April: Timeline and topics have slightly shifted. Since there are now only two seminar sessions, everybody should really attend both sessions!
- 4 April: Final discussions with Studienbüro have been made. The seminar will definitely take place! The time line and topics per date are listed in section "Timeline and Topics".

## Contents

Particle simulations are used to describe various physical systems. Examples comprise molecular dynamics, the simulation of fluid flow using coarse-grained fluid descriptions or even astrophysics. Besides, particle systems may be of great help to visualize simulation results and to investigate, e.g., flow patterns.

This seminar covers the fundamental ideas of particle simulations, including

- the underlying discretization processes: how to transform physical laws into meaningful particle-based algorithms that can be implemented efficiently on current hardware and supercomputers,
- different particle simulation approaches and applications, including molecular dynamics and smoothed particle hydrodynamics,
- particles for visualization and tracing: pathline visualization and unidirectional coupling examples connecting grid- and particle-based simulation approaches,
- short-range vs. long-range interactions: accuracy considerations and efficient implementation on supercomputers,
- software frameworks for particle simulations.

## Seminar Structure, Guidelines and Rules

- Every participant is expected to participate in all seminar sessions; missing 1 session is OK.
- Every participant prepares a 35-minute presentation and a 10-page seminar paper (including references).
- Typically, 2-3 feedback rounds with the advisor are advisable before the submission of the final material (see below for important submission dates). The amount of requested feedback, however, lies in the responsibility of every participant.
- Each seminar session comprises
- a brief repetition on the topics discussed in the last session,
- 2 student talks,
- after each student talk: question round and discussion on the topic, as well as a short feedback round on the presentation style of the speaker.

- A preliminary session takes place: 4.4.2018,12-14; the regular seminar session take place Mondays, 14-16, and start on 14.5.
- In the preliminary session, a short introduction to every topic is given.
- Topics are distributed in the preliminary session after the introduction.
- Algorithm for topic distribution:
- Every participant chooses the favorite topic. If there is only one participant choosing a particular topic: END; otherwise go to next step
- If two or more participants choose the same topic, they may provide a second choice (if applicable). If this solves the problem: END; otherwise go to next step
- If still two or more participants want the same topic, we flip the coin/role the dice. Afterwards the loser needs to switch to another topic that is still open: END
- After the topics have been assigned, every participant once again confirms the participation in the seminar and his/her topic choice via e-mail to Dr. Philipp Neumann until 11 April

- Important Dates:
- Every participant delivers a FIRST DRAFT of the presentation and its contents TWO WEEKS BEFORE THE OWN PRESENTATION.
- Every participant delivers a FINAL DRAFT of the slides ONE WEEK
- Every participant delivers a 10-page seminar paper BY THE END OF THE LECTURE PERIOD.

- For additional information on seminars, see Hinweise zu Seminaren. In case of discrepancies between the descriptions on that site and the current one, the rules from the current site apply.

## Target Group

Students from Master programs in Informatics, Mathematics, Physics with an interest in computational methods.

## Venue and Times

## Lecturers

- Dr. Philipp Neumann (Contact)

## Timeline and Topics

Timeline:

- Preliminary meeting and topic distribution: 4.4., 12-14 Slides
- 14.05., 14-16: Introduction to Particle Dynamics
- 14.05., 14-16: Molecular Dynamics
- 28.05., 14-16: Adaptive Resolution Scheme
- 28.05., 14-16: Smoothed Particle Hydrodynamics

Topics:

- Introduction to Particle Dynamics
- Newton's equations of motion
- Discretization of the underlying ordinary differential equations using Euler and Verlet methods
- Discussion of the accuracy of Euler and Verlet
- Implementation of simple toy problem

- Molecular Dynamics
- Description of the problem
- Molecule representations: rigid molecules vs. internal degrees of freedom (and respective extension of equations of motion by rotations)
- Implementation for short-range systems: complexity considerations, Verlet lists and linked-cell method
- Example applications from process engineering, chemistry and polymer dynamics
- Restrictions and limitations of the method

- Parallelization and High-Performance Computing for Particle Systems on Current Hardware Architectures
- Domain and force decomposition
- Parallelization for linked-cells and Verlet lists
- Load balancing approaches for heterogeneous particle systems/hardware
- Performance evaluation based on literature review
- SIMD, shared- and distributed-memory parallelism

- Adaptive Resolution Scheme
- From fine-grained molecular dynamics to coarse-grained particle representations
- Changing degrees of freedom on the fly
- Features and drawbacks of AdResS
- Hamiltonian AdResS

- Long-Range Particle Interactions
- Discussion of short-range and long-range effects
- Approaches to long-range particle interactions: barnes-hut and fast multipole methods
- Application examples

- Smoothed Particle Hydrodynamics
- Description of the method
- Application in astrophysics and fluid dynamics
- Restrictions and limitations of the method

- Software Frameworks for Particle Dynamics
- Discussion and presentation of software packages, including (self-made) toy simulation setups
- ESPResSo, LAMMPS, GROMACS, NAMD, ls1 mardyn, GADGET, …

- Unidirectional coupling of particles and fluid flow
- Examples (respiration in human lungs, KIT, etc)
- Mapping mesh-based quantities to particle descriptions
- Visualization: path line visualization, using, e.g., ParaView with own flow data