-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: compute longitudinal RDT fluctuations. #685
Conversation
Hi @wei0852, thanks for contributing
On this I agree with you. That looks OK for me. Do you want to comment, @carmignani ? |
Hello, |
Hello, |
Hello @wei0852, |
Hello, |
Thanks @wei0852 and @carmignani. I will now merge. |
Computation of the longitudinal RDT fluctuations.
Minimizing the longitudinal RDT fluctuations can effectively enlarge the DA area. This has been reported by Zhenghe Bai at the AT Workshop.
And here is the function to compute RDT fluctuations.
computeRDTfluctuation.m is the function to compute RDT fluctuations, which calls RDTbuildupFluct.m and return three structs.
RDTfluctuationIndicator.m is a function that provides one example to quantitatively represents the RDT fluctuations.
People can try other quantitative representations.
We uploaded some example scripts in the repository: ATRDTfluctuation,
Features:
Compute two kinds of longitudinal fluctuations of RDTs.
Slice sextupoles.
The number of sextupole slices affects the calculation of crossing terms, especially the ADTS terms.
Faster calculation.
This is because the RDT fluctuation data simplifies the calculation of crossing terms. The number of iterations is reduced from N^2 to N.
multiple periods
This function can calculate RDTs of multiple periods with the fluctuation data of one period.
Noting:
Two differences between computeRDT and computeRDTfluctuation
opposite numbers
These are just differences of notations. We don't think it is a problem. Our functions followed the notation in SLS-Note 09/97. Usually we only care about the absolute values.
Initial phases
The initial phase in computeRDT is the average phase of the initial element.
But in computeRDTfluctuation, the initial phase is zero.
This is because we think that the starting point should be a point and not a section.
Therefore, the results of the two functions agree only when the length of the initial element is 0.