Skip to content
giadarol edited this page Jan 27, 2020 · 68 revisions

The Python 3 test period is over! Python 3 versions of the code are now the default, Python 2.7 is not anymore supported.


PyECLOUD is a 2D macro-particle code for the simulation of electron cloud effects in particle accelerators. It can be used for different purposes:

  • in stand-alone mode for the simulation of the e-cloud buildup at a certain section of an accelerator (in this case the beam is rigid and feels no effect from the cloud);
  • in combination with the PyHEADTAIL code for the simulation of the e-cloud effects on the beam dynamics, in particular single-bunch and coupled-bunch instabilities;
  • in combination with the PyHEADTAIL code for the simulation of the fast beam-ion instability. More information on this mode is available here.

An overview on PyECLOUD's history and main features can be found here.

Additional libraries

The following libraries are used together with PyECLOUD:

  • PyPIC: PyECLOUD relies on the PyPIC library (created as an external library from the Partice-In-Cell code previously included in PyECLOUD) for the computation of the fields generated by the beam and by the cloud.
  • PyKLU: the PyKLU library can be optionally used to speed-up the Particle In Cell solution.
  • PyHEADTAIL: the PyHEADTAIL library library is used in combination with PyECLOUD to study effects of e-cloud on the beam dynamics (instabilities, incoherent effects).
  • PyPARIS: the PyPARIS library library is used to exploit multiprocess parallelisation to speed-up single-bunch and coupled-bunch instability simulations.
  • NAFFlib: the NAFFlib library used for frequency analysis (e.g. optics calculations).

All these libraries should be installed to be able to run all examples and tests in PyECLOUD.

How to install PyECLOUD and its friend libraries

To get started using PyECLOUD, you can install the code following the instructions in the page:

Examples and tutorials

In the following you can find some tutorials on how to run different types of simulations:

Documentation

The input and output of the cloud simulation are described in the:

Documents describing the physical models and algorithms implemented in PyECLOUD are collected in the page:

A checkpointing feature can be used for recovery of aborted simulations. Details about this mode can be found here.