Hi all,
I am correcting the tune in an elegant Diamond model, and was warned that in the manual use of ONLY TWO quad families is recommended.
Not knowing that I have been "happily" using all the 6 families we utilize in the real machine, like this:
&correct_tunes
quadrupoles = "Q1D Q2D Q3D Q3B Q2B Q1B",
n_iterations = 20,
change_defined_values = 1,
tune_x = <nux>
tune_y = <nuy>
&end
elegant seems to cope quite well with it, to the point that I had never realized this limitation.
The output seems to be consistent with the demanded action, and a (2x6) response matrix + its inverse are computed:
Computing tune influence matrix for all named quadrupoles.
6 instances of Q1D found
10 instances of Q2D found
10 instances of Q3D found
36 instances of Q3B found
36 instances of Q2B found
36 instances of Q1B found
family dNUx/dK1 dNUy/dK1
Q1D: 2.767659841836205e+00 -2.164981056828040e+00
Q2D: 1.018815337729133e+01 -4.511958898097328e+00
Q3D: 2.242069211361089e+00 -4.165355398602401e+00
Q3B: 8.453112974746261e+00 -1.290344052327592e+01
Q2B: 3.531437639160008e+01 -1.474791226255616e+01
Q1B: 1.130394033447765e+01 -1.470227659855234e+01
family dK1/dNUx dK1/dNUy
Q1D: -8.125000000000000e-01 -3.125000000000000e-01
Q2D: -4.687500000000000e-02 9.375000000000000e-02
Q3D: 6.250000000000000e-01 1.250000000000000e-01
Q3B: -3.125000000000000e-02 -6.250000000000000e-02
Q2B: 1.015625000000000e-01 1.562500000000000e-02
Q1B: -1.875000000000000e-01 0.000000000000000e+00
all six families are varied separately, as I 'd expect. So, what is really happening? Is it so wrong to use >2 quad families?
Thanks
Marco
Tune Correction
Moderators: cyao, michael_borland
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: Tune Correction
Marco,
You are right, there is no real restriction on the number of families. However, listing more that two could give some odd results. For example, if I had 4 instances of Q1, called Q1A, Q1B, Q1C, and Q1D and used
Q1[ABCD] wouldn't be changed by the same amount, even though they have identical parameters and the lattice functions are the same.
A better way is
which indicates that the quadrupoles are to be changed as families.
--Michael
You are right, there is no real restriction on the number of families. However, listing more that two could give some odd results. For example, if I had 4 instances of Q1, called Q1A, Q1B, Q1C, and Q1D and used
Code: Select all
quadrupoles = "Q1A Q1B Q1C Q1D Q2"
A better way is
Code: Select all
quadrupoles = "Q1[ABCD] Q2"
--Michael
Re: Tune Correction
Thanks Michael
I see the point, but I am still not sure what "odd" means. Our machine has 6 families of quads used for tune corrections
Q1D Q2D Q3D Q1B Q2B Q3B
and indeed the way we correct is based on a 6x2 response matrix, which is what is simulated in AT for example.
So if I want to mimic my machine I should use 6 families. Grouping them as suggested in the manual seems a bit
artificial in my case, if you see what I mean.
I see the point, but I am still not sure what "odd" means. Our machine has 6 families of quads used for tune corrections
Q1D Q2D Q3D Q1B Q2B Q3B
and indeed the way we correct is based on a 6x2 response matrix, which is what is simulated in AT for example.
So if I want to mimic my machine I should use 6 families. Grouping them as suggested in the manual seems a bit
artificial in my case, if you see what I mean.
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: Tune Correction
Marco,
By "odd" I meant that it may not satisfy any particularly useful relationship among the various families. What I tend to do instead is to use the optimization feature in elegant to perform tune correction with other constraints, e.g., keeping the dispersion matched.
If you use something like "Q1* Q2*", you'll at least get the same delta K1 in each member of a given group (Q1* or Q2* in this example).
Perhaps we need to improve this feature in elegant. Do you know if AT applies additional constraints?
--Michael
By "odd" I meant that it may not satisfy any particularly useful relationship among the various families. What I tend to do instead is to use the optimization feature in elegant to perform tune correction with other constraints, e.g., keeping the dispersion matched.
If you use something like "Q1* Q2*", you'll at least get the same delta K1 in each member of a given group (Q1* or Q2* in this example).
Perhaps we need to improve this feature in elegant. Do you know if AT applies additional constraints?
--Michael