Welcome to the documentation for DREAM!

DREAM (for Disruption and Runaway Electron Avoidance Model) is a scientific code which solves a system of equations describing the evolution of a tokamak plasma during a disruption. The tool is primarily designed for studying the evolution of runaway electrons in the disruption.

The code is separated into two parts: a C++ library, which constitutes the computational kernel of the code, and a Python interface for easy access and configuration of simulations. This documentation describes both parts of the code, with the documentation for the former being mostly intended for code developers, while the latter is intended for code users.

For more details on the physical models implemented in DREAM, please consult the physics manuals available in the DREAM GitHub repository.

The DREAM code is developed and maintained by the Plasma Theory group at Chalmers University of Technology, Gothenburg, Sweden.


The full code is freely available on GitHub.

Table of contents


Step-by-step guide for setting up DREAM

Getting started

Examples of how to work with DREAM

Settings documentation

Browse all settings available in DREAM

Output documentation

Browse the Python output interface documentation


View examples of DREAM simulations


The Disruption Runaway Electron Avoidance Model DREAM is designed to simulate runaway electron generation during a tokamak disruption.

For users

If you would like to run simulations with DREAM, you should have a look at the documentation of the Python frontend. In particular, options for setting up the equation can be found on the EquationSystem settings page.

For developers

If you are trying to understand how DREAM works on a deeper level, you are most likely interested in the documentation for the The C++ kernel.

For physicists

If you are curious about the physical model implemented in DREAM, you should have a look at the physics notes located under doc/notes/ in the DREAM git repository.

Indices and tables