BLonD code development meeting

Europe/Zurich
CERN

CERN

Video conferencing only
Videoconference
BLonD code development meeting
Zoom Meeting ID
93916228605
Host
Helga Timko
Useful links
Join via phone
Zoom URL
    • 10:30 10:40
      News 10m
      • Manuscript status
      • Pull requests
      Speakers: Alexandre Lasheen (CERN), Giulia Papotti (CERN), Heiko Damerau (CERN), Ivan Karpov (CERN), Konstantinos Iliakis (CERN), Luis Eduardo Medina Medrano (CERN), Markus Schwarz (KIT, Germany), Panagiotis Tsapatsaris (NTUA), Simon Albright (CERN), Theodoros Argyropoulos (CERN)

      News

      • Last edits for BLonD publication 
      • Luis: OTFB pull request to come
      • Ivan: pull request for compressed contribution
        • time vs freq domain calculation is not equivalent -> in time domain, phase shift due to impedance is not constant
        • few slides next time?
      • Mihaly comparison of functions for chirp
        • next time few slides
      • Anton: pull request to include h5py in setup
    • 10:40 11:00
      Numerical noise of beam profiles 20m

      Noise estimates w.r.t. bunch length and number of macroparticles

      Speaker: Alexandre Lasheen (CERN)

      Smooth profile vs binned numerical profile -> numerical noise added

      For impedance calculation, this noise is injected into the model

      • At what frequencies this noise becomes important? Can lead to
        • Extra blow-up for microwave instabilities
        • Earlier onset of instabilities
      • What is the Signal To Noise (STN) ratio for a stationary distribution?
        • Start from binomial profile
        • Spectrum follows Bessel functions -> make an asymptotic approximation (maximum frequency, without dips)
      • Adding artificially white weighted noise
        • Make a histogram of the noise amplitude spectrum
        • Figure-of-merit: mean of the noise amplitude (if we want a single number)
        • Compare smooth spectrum with noisy spectrum -> get SNR ~ sqrt(Np)/bunch_length^(mu' + 1)
      • SNR interpretation
        • Doesn't depend on bin size -> for a single impedance at a given frequency, noise is not increased or decreased
          • For high-frequency impedance, need to increase the bin size!
          • Space charge or diverging impedance sources: too small binning adds large noise!
        • For a parabolic bunch profile, doubling the bunch length requires x16 more macro-particles!
          • How can we model the tails better?
          • Core + tail distributions? 
          • Constant bin density like in pyheadtail?
        • Criterion for Np using SNR > 1
          • SPS injection (Run II): min. 1 M/bunch
          • SPS extraction (Run II): min 250 k/bunch
          • SPS long bunches: min 39 B/bunch
          • PS transition crossing, Gaussian: tails in measurement not real -> replace with Gaussian
          • PS cycle: 126 k/bunch -> 420 M/bunch spanned
    • 11:00 11:20
      SPS beam-based feedbacks 20m

      Computational aspects of the new implementations of SPS beam phase loop and synchro loop

      Speaker: Danilo Quartullo (CERN)

      Post LS2 implementations of the beam phase, frequency and synchro loops

      • Total applied frequency correction based on the sum of the three
      • Discrete equations of the closed-loop system
        • Integral equations for the SL
        • 2 equations for each loop -> matrix equation of 6 variables
          • Want to feedback only on frequency and have phase correction = 0
          • Linear response of 3 loops
          • Can find a suitable matrix with the Linear Quadratic Regulator (LQR) and solve numerically
          • Feedback design: find best regulator and state-cost matrices
        • Want to check closed-loop system with external perturbation and verify loop stability
        • Obtaining the transfer function for the 3 loops

      Implementation in BLonD

      • Calculate the LQR gains e.g. every 5000 turns, then interpolate to turn-by-turn values for tracking 
        • Some entries are defined dynamically
        • The K matrix stores the 6 gains along the cycle
      • Dependencies: python control library
      • Option for Bode plot plotting of transfer functions
      • Optional: tracking of gain solutions and some observables that can be compared with BLonD tracking results
      • Loops ON
        • Can import Q11 also from measurements
        • Delay turns: when the feedback will act: after 3 turns, for instance
        • Initialize BeamFeedback and pass to tracker
      • BeamFeedback SPS entry
        • Total frequency correction from PL + FL + SL
      • Modifications to previous methods listed
      • Correction of phase set point for collective effects
      • Benchmarks
        • Good agreement btw python and Mathematica for time-evolution of matrices
        • Good agreement with impulse responses as calculated by Philippe
        • Matrix tracking vs BLonD tracking 
          • Impulse response not exactly equivalent, as the frequency correction is an output for BLonD and input for the matrix tracking, but good enough agreement
      • Performance
        • 450000 turns tracking, precalculation of gains every 5000 turns before the simulation (8 s total)
        • BeamFeedback 1.4 s/turn, called every turn vs kick+drift ~60 s/turn
        • NO performance bottleneck