Page 1 of 1

Tune Correction

Posted: 06 Nov 2015, 05:27
by marlibgin
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

Re: Tune Correction

Posted: 06 Nov 2015, 16:36
by michael_borland
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

Code: Select all

quadrupoles = "Q1A Q1B Q1C Q1D Q2"
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

Code: Select all

quadrupoles = "Q1[ABCD] Q2"
which indicates that the quadrupoles are to be changed as families.

--Michael

Re: Tune Correction

Posted: 16 Nov 2015, 09:35
by marlibgin
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.

Re: Tune Correction

Posted: 16 Nov 2015, 09:42
by michael_borland
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