Skip to content

Nonlinear chromaticity

GUBAIDULIN requested to merge feature-nonlinear-chromaticity into develop

Hello,

Nonlinear chromaticity implementation is now ready for a merge request. The list of changes is below. To trigger nonlinear chromaticity, you simply need to define the ring.chro = [Qx', Qy', Qx'', Qy'',..]. All orders are implemented. Orders < 4 are implemented separately to gain some performance over the numpy.polynomial.

Jupyter notebook to test the implementation: Nonlinear_chromaticity.ipynb

  • added nonlinear chromaticity calculation to TransverseMap and TransverseSectorMap
  • TransverseMap now inherits from TransverseSectorMap
  • chromaticity phase shift is computed in _compute_chromatic_phase_advances()
  • some optimisation of the code, (250 ms -> <50 ms) speed up for typical simulation Slight improvements for SynchrotronRadiation
  • np.random.normal -> np.random.standard_normal, 10% faster
  • N = len(bunch) to compute the number of particles only once
Edited by GUBAIDULIN

Merge request reports

Loading