Skip to content

v0.7.0

Alexis GAMELIN requested to merge develop into stable

New features

Space Charge

  • Adds transverse space-charge module, implemented in TransverseSpaceCharge class.
  • Space-charge is implemented as a slice-by-slice kick utilising the Bassetti-Erskine formula.
  • Adds electromagnetic fields module. Handles Faddeeva function and electromagnetic fields for space-charge and beam-ion interactions.

Ions

  • Adds a beam_ion_effects module. It handles the generation of ions from a given residual gas pressure and the interaction between ions and the stored beam.
  • Beam-ion interaction is implemented with weak-strong, strong-strong and Particle-In-Cell models.
  • New classes: BeamIonElement, IonParticles, IonAperture, IonMonitor

Add a Sweep element

  • The new Sweep element can excite the beam between two frequencies, i.e., apply frequency sweep (chirp) to all or a given bunch in the chosen plane.
  • Add option to save higher order spectrums in BunchSpectrumMonitor.
  • Modify plot_bunchspectrum and streak_bunchspectrum to plot higher order spectrums.

Other improvements and modifications

  • Updated yokoya_elliptic with an analytical implementation.
  • BeamLoadingEquilibrium is now computed on a grid and much faster.
  • Add bunch_spectrum and plot_bunch_spectrum to BeamLoadingEquilibrium.
  • Add R_factor calculation (Touschek lifetime ratio) to BeamLoadingEquilibrium.
  • Add form factor contribution to lcbi_growth_rate_mode and lcbi_growth_rate.
  • The energy_loss and power_loss_spectrum methods for ImpedanceModel can now take any bunch spectrum in an optional argument.

Project management

  • Added sphinx/readthedocs documentation
  • Update README.md
  • Added dynamic versioning and version print on import
  • Added "please cite the following papers" on import
  • Add Dockerfile based on gitlab-registry.synchrotron-soleil.fr/pa/collective-effects/python_mpi
  • Add gitlab CI/CD .gitlab-ci.yml file
    • Add run test suite and formatters when there is a merge request or commit on "stable" or "develop" branch.
    • Build docker image and pip package when a tag is pushed and committed on "develop".

Bugfix

  • Fix resonator longitudinal wake function
  • Fix an issue with random sampling in PhaseSpaceMonitor
  • Fix plotting in plot_phasespacedata
  • Fix some docstrings
  • Fix emittance and CS invariant calculation when dispersion is included.

Authors who took part in this release

Vadim Gubaidulin, Alexis Gamelin, Keon Hee Kim, Watanyu Foosang

Merge request reports