Replies: 6 comments
-
Dear @elafmusa, in matlab I used to have a wrapper function for The LOCO-like corrections are all based on orbit reading (ORM, dispersion). Thus modifying this single function had the desired result. Concerning a modification of the beta and dispersino output of Also in a real machine, setting random or systematic BPM errors will have no impact on the optics. The impact will be visible only when the BPM measurement are used for some correction. What you will observe is that in presence of BPM errors the performance of the optics correction will be limited by the BPM errors, due to the worst measurement. When looking at the residual beta beating and dispersion deviation in your model after correction, in presence of BPM errors, you will likely converge to a larger beta-beating and dispersion residual. hope it is of some help best regards |
Beta Was this translation helpful? Give feedback.
-
I would also like to mention that we may look for a solution to include BPM errors in pyAT in a more solid way. I think @swhite2401 and @lfarv may have already thought of this and may be have good ideas on how to do this. It would be a great addition to AT. I remember discussions concerning a BPM passmethod, but it is not as simple as it seems, since all coordinate transformations are then passed to the next element. We may think for example to update A fully loaded BPM would then look like:
|
Beta Was this translation helpful? Give feedback.
-
Just a few questions, what is the |
Beta Was this translation helpful? Give feedback.
-
@lnadolski: So for clarity, I am in favour of @simoneliuzzo's solution: postprocessing the results of |
Beta Was this translation helpful? Give feedback.
-
Dear @lnadolski, I have been running simulations with rather large machine misalignment following a smooth curve. An example in the figure below: The blue crosses represent the set misalignment In this case the BPMs are also misaligned, and their misalignment is naturally defined in AT by T1, T2, R1 and R2. The target orbit for a machine with such large errors is not zero, but the orbit that follows in the best way such large misalignments. Once the fields Offset/Rotation/Scale/Reading are set, they may take values corresponding to turn by turn or to slow acquisition. |
Beta Was this translation helpful? Give feedback.
-
Dear @elafmusa @lfarv and @lnadolski , I have these functions that I use in the pyAT ring simulator Tango Device server. They are copies of the matlab equivalents written originally by @lfarv. Rather low quality code, sorry. USAGE:
Fucntion above in case the link is not accessible
|
Beta Was this translation helpful? Give feedback.
-
I want to include the effect of BPMs errors in the measured optics, for that i defined a parameter Systematic_error to the BPM definition that I can access and change later :
BPM = elements.Monitor('BPM', K = 0.0, Systematic_error = [0.01, 0.01])
I measured the beam optics using the following, my question is how to add the BPM errors effect in the case of dispersion, and beta, as i did in closed orbit by adding the errors on top to the measured orbit:
bpm_indexes = get_refpts(ring, elements.Monitor)
lindata0, tune, chrom, lindata = ring.linopt(get_chrom=True, refpts=bpm_indexes)
Eta_xx1 = lindata['dispersion'][:, 0]
Eta_yy1 = lindata['dispersion'][:, 2]
closed_orbitx1 = lindata['closed_orbit'][:, 0]
closed_orbity1 = lindata['closed_orbit'][:, 2]
for i in range(len(bpm_indexes)):
Sys_err = (ring[bpm_indexes[i]].Systematic_error)
Beta Was this translation helpful? Give feedback.
All reactions