Cosmological Simulations

Structure formation is a process driven by the gravitational force between Dark Matter particles. This can be relatively easily transferred into a computer simulation. In numerical analysis this is called the N-body problem. The computer needs to calculate the force between N particles, each representing a galaxy or a part of it.

A small cosmological DM simulation run with a simple tree code.

Cosmological simulations start with a homogenous distribution of particles that is a little bit disturbed, similarly to the conditions when the Universe was 30 Million years old. The gravitational attraction between the particles then collapses them into the structures seen on the left. Like Dark Matter, the particles do not “hit” each other, they behave like a "collionless fluid"

Normal matter (Baryons) are treated as a fluid physicists call that an “ideal gas”. Because there is only little normal matter, these Baryons follows the collapse of the Dark Matter into sheets, filaments and spherical haloes.

The underlying equations pose two fundamental algorithmic challenges: The N-body problem for the Dark Matter particles and the solution of hyperbolic conservation laws for normal matter. Today numerical Astrophysicists have a large variety of algorithms available to solve these problems efficiently.

The implementation of these solvers becomes a problem of software engineering and algorithmic design. Most Astrophysicist have not been trained in this field, nonetheless the quality of many popular implementations is good enough for moderately sized computers of a few 10.000 cores. Unfortunately, most of these codes will not be able to benefit from upcoming "exaflop" machines, where core counts will approach 1 Million or more. This is independent of execution speed on a single node, because scalability is an entirely different problem.

In this project, we are building an exascale cosmological code. In collaboration with engineers from Cray Inc. we carefully approach code design, techniques and algorithms to scale to the next generation of supercomputers.

Next