TWiki> ABPComputing Web>Software>PyECLOUD (revision 5)EditAttachPDF

PyECLOUD

Short description

PyECLOUD is a 2D code that simulates the EC buildup in a thin slice around a certain section of a particle accelerator (having longitudinal coordinate s along the machine). Electrons are grouped in MPs in order to achieve a reasonable computational burden and the dynamics of the MP system is simulated following the flow diagram sketched in Fig. 2.1. At each time step, seed electrons due to residual gas ionization and/or to photoemission (see Sec. 1.1), are generated with a number consistent with the passing beam slice. Then the electric field acting on each MP is evaluated: the field of the beam is precomputed on a suitable rectangular grid and obtained at each MP location by a linear interpolation (see Sec. 2.4), while the electron space charge contribution is calculated by a classical Particle In Cell (PIC) algorithm (see Sec. 2.7). Once the total electric field at each MP location is known, MP positions and momenta are updated by integrating the equation of motion. At this stage the presence of an externally applied magnetic field can also be taken into account (see Sec. 2.8). At each time step, a certain number of MPs can hit the wall. In these cases a proper model of the secondary emission process is applied to generate charge, energy and angle of the emitted electrons. According to the size of the corresponding emitted charge, a rescaling of the impinging MP can be performed or new MPs can be emitted (see Sec. 2.9).

Web resources

Technical information

  • Programming Languages used for implementation:
    • Mainly Python.
    • Computationally intensive routines are implemented in FORTRAN (and linked via f2py) or C (and linked via cython).
  • Parallelization strategy:
    • None
  • Operating systems:
    • tested exclusivey on Linux (experience on Ubuntu 12.04 or more recent, and SLC 5 or more recent)
  • Other prerequisites:
    • Python 2.7+ (never tested on Python 3)
    • Libraries: numpy, scipy

Other information

  • Developed by: Giovanni Iadarola
  • License: CERN Copyright
  • Contact persons: Giovanni Iadarola, Giovanni Rumolo
  • Being actively developed and supported: Yes
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r5 - 2016-03-31 - GiovanniIadarola
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    ABPComputing All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback