Skip to main content

A fast particle tracking code for plasma wakefield acceleators

Project description

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

Build Status CodeFactor PyPI License

Wake-T logo

Overview

Wake-T (Wakefield particle Tracker) is a tracking code for 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 an analytical or numerical (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

The main drawback of this approach is a reduced accuracy of the results, compared to a PIC code, particularly if the assumptions of the reduced wakefield models are not satisfied. Although more models are planned to be included in the future, some of the main current limitations of the code are the lack of realistic laser evolution and electron self-injection.

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.

  1. If you haven't already, open a terminal in the newly created folder and perform the installation with
python setup.py install

References

[1] - A. Ferran Pousa et al., Intrinsic energy spread and bunch length growth in plasma-based accelerators due to betatron motion, Sci. Rep. 9, 17690 (2019).

[2] - 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).

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Wake-T-0.4.1.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

Wake_T-0.4.1-py3-none-any.whl (79.5 kB view details)

Uploaded Python 3

File details

Details for the file Wake-T-0.4.1.tar.gz.

File metadata

  • Download URL: Wake-T-0.4.1.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.4

File hashes

Hashes for Wake-T-0.4.1.tar.gz
Algorithm Hash digest
SHA256 bf5ee82cd3c8a6fc4e1d66590b857297190c231fe31b981c37e8e95c11908269
MD5 6ba3d7fb84d57207e21f871fbea78dae
BLAKE2b-256 bc046f63a5c50271bff13d87f0fc41909d14a9d09de43fa7721b731de91b2744

See more details on using hashes here.

File details

Details for the file Wake_T-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: Wake_T-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 79.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.4

File hashes

Hashes for Wake_T-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb314f5b071fa603fcf7f4a3f3299916867b0b729fca7e57811feca73b75123b
MD5 2eeae3640e0e96d3a3b2ea0e21eaee9b
BLAKE2b-256 d3ceb026c8f0c691e999ded5f2ff20a5880148cc8c521023db356efe89b565a3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page