AngelFP / Wake-T

A fast tracking code for plasma accelerators
https://wake-t.readthedocs.io
GNU General Public License v3.0
34 stars 14 forks source link
accelerator-physics openpmd particle-tracking plasma-acceleration plasma-wakefields

Wake-T: A fast tracking code for plasma accelerators.

tests badge Documentation Status CodeFactor PyPI License

Highlight image

Overview

Wake-T (Wakefield particle Tracker) is a tracking code for laser- and beam-driven plasma wakefield accelerators which aims at providing a fast alternative to Particle-in-Cell (PIC) simulations. Instead of relying on the computationally-expensive PIC algorithm for simulating the plasma wakefields and the beam evolution, Wake-T uses a Runge-Kutta solver to track the evolution of the beam electrons in the wakefields, which, at the same time, are computed from reduced models. This allows for a significant speed-up of the simulations, which can be performed in a matter of seconds instead or hours/days. An overview of this strategy can be seen in the following figure:

Wake-T logo

In addition to plasma-acceleration stages, Wake-T can also simulate active plasma lenses, drifts, dipoles, quadrupoles and sextupoles, allowing for the simulation of complex beamlines. The tracking along the drifts and magnets is performed using second-order transfer matrices, and CSR effects can be included by using a 1D model. This matrix approach and the CSR model are based on a streamlined version of the Ocelot implementation.

Installation

If you don't have Python 3 already installed, download the latest version, for example, from here. It is recommended to create a virtual environment for Wake-T (you can see how here, for example). Remember to activate the new environment before proceeding with the installation.

Installing from PyPI

Simply type

pip install Wake-T

in your terminal.

Manual installation from GitHub

1) Clone this repository to a directory in your computer using git

git clone https://github.com/AngelFP/Wake-T.git

or simply download the code from here and unzip it.

2) If you haven't already, open a terminal in the newly created folder and perform the installation with

pip install .

References

[1] - P. Baxevanis and G. Stupakov, Novel fast simulation technique for axisymmetric plasma wakefield acceleration configurations in the blowout regime, Phys. Rev. Accel. Beams 21, 071301 (2018).

[2] - A. Ferran Pousa et al., Wake-T: a fast particle tracking code for plasma-based accelerators, J. Phys.: Conf. Ser. 1350 012056 (2019).