Skip to content

Prepare release v0.7

Alexis GAMELIN requested to merge pre_v0.7 into develop

Need to do before release:

Proposed changelog for release:

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

Edited by GUBAIDULIN

Merge request reports