Nonlinear chromaticity
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