Finalize integration of noise sensitivity (eta) computation into DELPHI
- Major simplification of DELPHI functions with scan: returning now a dictionary with various results, depending on input flags
- Introducing
eta_dipole
andeta_crab
in the output dictionary (with new flags to trigger their computation) to get the sensitivity to noise.eta_dipole
contains the dipole sensitivities for all coupled-bunch modes computednx
and thekmaxplot
most unstable modes for eachnx
(same foreta_crab
, with the sensitivity to crab noise). - Test introduced to make sure the computation of eta (dipole noise) matches the BTF theory without wake-fields, in the case when the impedance is very small (see ref. below, eq. 22).
- A few old bugs found and corrected in DELPHI_wrapper, especially with eigenvectors.
- A new output,
nx_most
, has been added to the returned dictionary, containing tuples of the form(inx,nx)
with the indexinx
of the most unstable coupled-bunch mode innxscan
, andnx=nxscan[inx]
. - For examples of usage, check out
DELPHI/Tests/run_and_check_DELPHI.py
, andDELPHI/Examples/example_LHC_Ft_2017.py
(the former can be run without any additional requirements, but the latter needs additional impedance files and the IW2D repository).
The computation of eta and its testing, was made possible by X. Buffat and S. Furuseth. For more explanations, the user is referred to
"Vlasov description of the beam response to noise in the presence of wakefields in high-energy synchrotrons: beam transfer function, diffusion, and loss of Landau damping", Sondre Vik Furuseth & Xavier Buffat, The European Physical Journal Plus volume 137, Article number: 506 (2022)
The modifications of this MR change the output of the functions eigenmodesDELPHI_converged_scan
, eigenmodesDELPHI_converged_scan_lxplus
and DELPHI_wrapper
, in a non back-compatible way. This means that, typically, one has to change lines like
(tuneshiftQp[:,:,:,:,:,:,:,:],tuneshiftm0Qp[:,:,:,:,:,:,:]) = DELPHI_wrapper(...)
into
result_dict = DELPHI_wrapper(...)
tuneshiftQp = result_dict['tuneshiftQp']
tuneshiftm0Qp = result_dict['tuneshiftm0Qp']
(here for DELPHI_wrapper
, in the case with flagm0
set to True).
Edited by Nicolas Mounet