Nonlinear chromaticity
2 unresolved threads
2 unresolved threads
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
Activity
requested review from @GAMELIN
assigned to @GUBAIDULIN
- Resolved by Alexis GAMELIN
- Resolved by Alexis GAMELIN
- Resolved by Alexis GAMELIN
503 425 chrox = np.interp(pos, s, Chrox) 504 426 chroy = np.interp(pos, s, Chroy) 505 427 506 428 return np.array([chrox, chroy]) added 1 commit
- cf5c6230 - - _compute_chromatic_phase_advance() -> _compute_chromatic_tune_advance()
added 1 commit
- 4770618a - changed chromaticity computation in _compute_chro() of...
added 1 commit
- 9529ba34 - added get_chroma() method to compute chromaticity up to arbitrary order from the lattice file.
- Resolved by GUBAIDULIN
- Resolved by GUBAIDULIN
mentioned in commit 65908062
Please register or sign in to reply