Dear Michael,
When I want to correct orbit with errors, I find the closed orbit is unreasonable large (.clo), however the max position and max kick strength (.scor) is good. The closed orbit and the beam center (.cen) is very large even at the BPMs. The simulation results are not selfconsistent. At first, I think it's maybe because the position of BPMs and correctors are not reasonable. But I try some different cases, it doesn't work. So I run the elegant example "multiStepErrors1" and repacle the "n_steps=1" with "n_steps=100". The simulation results of beam center(.cen) and closed orbit (.clo) are large too. I think maybe some settings are not reasonable in my case, so I attached the files, could you please help me to check it and give me some suggestions? Thanks in advance!
Best regards,
Cai
Orbit correction with errors
Moderators: cyao, michael_borland
Orbit correction with errors
 Attachments

 Run_step2.ele
 (2.49 KiB) Downloaded 554 times

 Lattice_Booster_V2.lte
 (2.58 KiB) Downloaded 544 times

 Posts: 1796
 Joined: 19 May 2008, 09:33
 Location: Argonne National Laboratory
 Contact:
Re: Orbit correction with errors
Cai,
I see two issues in your input files:
1. You are using the TILT parameter on the CSBEND elements, which changes the geometry. You should use the ETILT parameter for Error TILTs.
2. You did not set center_on_orbit=1 in the &track command. Without this, the beam is has initial coorindates of x=xp=y=yp=delta=0, which means it oscilates about the closed orbit rather than riding on it.
Also, when plotting, be aware that the orbit output file (step3.orb in your case) as orbits from before and after correction. After making the above changes and rerunning, try the following
Michael
I see two issues in your input files:
1. You are using the TILT parameter on the CSBEND elements, which changes the geometry. You should use the ETILT parameter for Error TILTs.
2. You did not set center_on_orbit=1 in the &track command. Without this, the beam is has initial coorindates of x=xp=y=yp=delta=0, which means it oscilates about the closed orbit rather than riding on it.
Also, when plotting, be aware that the orbit output file (step3.orb in your case) as orbits from before and after correction. After making the above changes and rerunning, try the following
Code: Select all
sddsprocess step3.orb step3.orbcor match=param,Stage=corrected
sddsplot split=page sep=page group=page graph=line,vary same col=s,x step3.orbcor col=s,Cx step3.cen
Re: Orbit correction with errors
Dear Michael，
Thank you for your detailed replay and it's very helpful.
Best regards,
Cai
Thank you for your detailed replay and it's very helpful.
Best regards,
Cai
Re: Orbit correction with errors
Dear Michael,
There is one very strange question： in one simulation about closed orbit correction, I set the n_steps=500, every time all simulation resutls are very good until the 201st seed can't find closed orbit and the elegant exit , show the information as following:
I want to look at what happens on this case, can i get the random seed of the 201 seed or how can i get the errors settings? Maybe i can set the closed_orbit_accuracy to 3e2, but it is some big? Could you give me some suggestions or solution？
Thank you very much!
Best regards,
Cai
There is one very strange question： in one simulation about closed orbit correction, I set the n_steps=500, every time all simulation resutls are very good until the 201st seed can't find closed orbit and the elegant exit , show the information as following:
tracking step 201.0
reduced iteration fraction to 4.500000e01
error: closed orbit did not converge to better than 1.464816e02 after 400 iterations (requirement is 1.000000e08)
Trying secondary, trackingbased method for orbit determination (50 turns).
reduced iteration fraction to 2.250000e01
error: closed orbit did not converge to better than 1.631523e02 after 400 iterations (requirement is 1.000000e08)
plane iter rms kick rms pos. max kick max pos.
mrad mm mrad mm
     
48 H correctors set to zero
32 V correctors set to zero
error: closed orbit did not converge to better than 3.400094e02 after 400 iterations (requirement is 1.000000e08)
Trying secondary, trackingbased method for orbit determination (50 turns).
error: closed orbit did not converge to better than 2.873619e02 after 400 iterations (requirement is 1.000000e08)
Failed to find closed orbit.
Horizontal correction has failed.
warning: orbit correction failedcontinuing with next step
0 matrices (re)computed after correction
error: closed orbit did not converge to better than 2.066307e02 after 400 iterations (requirement is 1.000000e08)
Trying secondary, trackingbased method for orbit determination (50 turns).
error: closed orbit did not converge to better than 1.715796e02 after 400 iterations (requirement is 1.000000e08)
periodic Twiss parameters (chromaticity valid for fully secondorder calculation only!):
beta alpha nu eta eta' dnu/d(dp/p) dbeta/(dp/p) accept.
m 1/2pi m 1/2pi m mmmrad

x: nan(ind) nan(ind) nan nan(ind) nan(ind) nan(ind) nan(ind) 0.000000e+00
y: nan(ind) nan(ind) nan nan(ind) nan(ind) nan(ind) nan(ind) 0.000000e+00
Rf setup: frequency is 4.997995391649305e+08 Hz (h=756)
Voltage per cavity is 1.333333333333333e+06 V, phase is nan(ind) deg
I want to look at what happens on this case, can i get the random seed of the 201 seed or how can i get the errors settings? Maybe i can set the closed_orbit_accuracy to 3e2, but it is some big? Could you give me some suggestions or solution？
Thank you very much!
Best regards,
Cai

 Posts: 1796
 Joined: 19 May 2008, 09:33
 Location: Argonne National Laboratory
 Contact:
Re: Orbit correction with errors
Cai,
You can use the error_log parameter of the &error_control command to request a log of the errors assigned to various elements. You can then load the page in question with the &load_parameters command in a new run, to understand in more detail what's gone wrong.
Michael
You can use the error_log parameter of the &error_control command to request a log of the errors assigned to various elements. You can then load the page in question with the &load_parameters command in a new run, to understand in more detail what's gone wrong.
Michael