Correction routine doesn't appear to handle coupling between X and Y
Posted: 13 Jan 2020, 19:26
I am running a correction routine on a strongly coupled transport line using solenoids and when it is done it does an excellent job on the y-direction and appears to ignore the x-direction. Here is my call to the &correct command:
Typically, the corrected trajectory at the monitor points is worse than the the uncorrected lattice for the x-direction. When I switch do_correction = 1,0 (ignore the y-direction) the correction of the x-direction is excellent. Increasing the number of n_xy_cycles and n_iterations doesn't appear to do much, if anything the result in the x-direction is worse.
When I look at the correction matrices, they look like the following:
vertical correction matrix
horizontal correction matrix
vertical to horizontal correction matrix / horizontal to vertical correction matrix
My lattice consists only of EMATRIX, DRIF, KICKER and MONI elements, and there are a number of off-diagonal elements due to the solenoids. By the end of the beam line all of the R1X, R2X, R3X and R4X elements are non-zero for X = 1,2,3,4 and all elements with a 5 or 6 are zero because I'm only looking at transverse dynamics. Am I missing a command somewhere to turn on coupling?
Code: Select all
&correct
disable = 0,
n_iterations = 50,
n_xy_cycles = 50,
force_alternation = 0,
do_correction[0] = 1, 1,
corrector_limit[0] = 200e-3, 200e-3,
mode = "trajectory",
method = "global",
trajectory_output = %s.traj,
corrector_output = %s.cor,
statistics = %s.scor,
verbose = 2
&end
&correction_matrix_output
response[0] = %s.hrm, %s.vrm, %s.vhrm, %s.hvrm
&end
When I look at the correction matrices, they look like the following:
vertical correction matrix
Code: Select all
! page number 1
Response
2
"input lattice response"
unknown
2
HALMON 1.700000000000000e+00 5.918773310753178e-01 0.000000000000000e+00
ENDMON 2.300000000000001e+00 4.206876006636991e-01 1.544176975041108e-01
Code: Select all
! page number 1
Response
2
2
"input lattice response"
unknown
2
HALMON 1.700000000000000e+00 5.460346101780636e-02 0.000000000000000e+00
ENDMON 2.300000000000001e+00 3.212535043707229e-04 2.305462903851332e-02
Code: Select all
! page number 1
Response
0
0
"input lattice response"
unknown
0
My lattice consists only of EMATRIX, DRIF, KICKER and MONI elements, and there are a number of off-diagonal elements due to the solenoids. By the end of the beam line all of the R1X, R2X, R3X and R4X elements are non-zero for X = 1,2,3,4 and all elements with a 5 or 6 are zero because I'm only looking at transverse dynamics. Am I missing a command somewhere to turn on coupling?