Replies: 3 comments 14 replies
-
|
Hello @elafmusa, @simoneliuzzo is the expert of all these manipulations and may have private functions to do these. To do a longitudinal shift, it has to be done manually: you may increase the length of the drift upstream and shorten the one downstream or inversely To do a pitch or a yawn you can use the variables T1 and T2 that change the referential at the entrance and exit of the element, for example to rotate the element around the x-axis by psi: and similarly action on T[0], T[1] for a rotation around the y axis. I hope I got this right... @simoneliuzzo please correct me if not. |
Beta Was this translation helpful? Give feedback.
-
|
Dear @elafmusa, As @swhite2401 mentioned I wrote some time ago these functions in matlab AT. The longitudinal shift function is here: https://gitlab.esrf.fr/BeamDynamics/ATClusterTools/-/blob/master/errors_and_corrections/errors/atset_s_shift.m For pitch and yaw: https://gitlab.esrf.fr/BeamDynamics/ATClusterTools/-/blob/master/errors_and_corrections/errors/atsetpitch.m let me know if you can access the files and if you find any issue. best regards |
Beta Was this translation helpful? Give feedback.
-
|
@elafmusa, @swhite2401, @simoneliuzzo :
Be careful: the 2nd and 4th coordinates are not angles, but momenta. So the rotation angle that you get with such a t1 displacement vector depends on the energy of the particle: the angle you get is: x' = px/(1+δ). With this, you introduce a kind of "dispersive kick", rather than a change or referential. To get a rotation around the x or z axis, one needs a new element which which would increment the 2nd or 4th coordinate by (1+δ)*psi. Note that the Matlab implementation is also wrong. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone,
In order to implement shift errors in PyAT i am using:
at.shift_elem(latticeElement, shiftx, shifty, relative=False)
And this introduce horizontal and vertical disclaimants of the elements. My question is how to introduce the misalignment in the s-direction for the entry of the beam element called DS in MADX.
Also, for tilt implementation, i am using:
at.tilt_elem(ring[i], tilt, relative=False)
As far as i understood this tilt angle corresponds to a rotation of the element looking in the direction of the beam
Corresponding to DPSI in MADX, i want to implement rotations around the x axis and y axis, DPHI and DTHETA, how can i implement it in PYAT?
Beta Was this translation helpful? Give feedback.
All reactions