-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GWigSymplecticRadPass is wrong #190
Comments
@willrogers: can you trace back where the |
OK, I will see what I can find. |
@lfarv , @willrogers revised version: and there is same problem at gwig.c |
@mashl : You are right, I'll make the tests again. Not sure it will solve the problem of missing energy loss, but it may answer another doubt I had concerning tune changes. Give me a few days to look at that… |
@mashl , @willrogers: |
dear @lfarv I see the change in vertical tune (phase advance) when the planar horizontal wiggler is located in ring, but the horizontal tune is same. do you expect the change in H-tune as well? |
for instant: (all computations are performed by using ringpara) case 2 : multi-harmonic elliptically polarized ID Bare lattice tune: [0.1610 0.2247] |
Oh sorry I check betatron phase advance |
@mashl: in the case of a simple wiggler (planar, single harmonic), the tune shift can be analytically computed. For an "infinitely wide" wiggler (kx=0), there is only a vertical tune shift (what you noticed is perfectly correct). My problem is that the tune shift from tracking is almost twice the analytical value. But this is a minor problem compared to the missing energy loss. |
I just found a comment from Marco, one of our accelerator physicists, from July:
|
Dear @lfarv , |
Hello @mashl. Thanks for the full dataset, so that I could reproduce your tests ! You must be using an old version: since the merge of #188 (October 12), |
hello @lfarv , I just update my branch (fork), and it's the same as what I use on my pc. |
The introduction of the the wiggler contribution in the computation of radiation integrals gives two independent methods to compute the damping times:
atx
derives the damping times directly from the 6-D one-turn transfer matrix (pure tracking)atsummary
/ringpara
use the radiation integrals. In the case of a simple planar, infinitely wide, single-harmonic wiggler located in a non-dispersive section, the computation is fully analytical.For running the comparison, we used the lattice provided by @TeresiaOlsson here, and activated a single wiggler, the one labeled
I12
. @mashl showed here that to get a good description of the dispersion inside the wiggler,Nstep
> 20 is necessary, so we testedNstep
= 5 (default), 20 and 40, without any significant difference. Here are the results:Bare lattice
Damping times
Damping partition numbers
The bare lattice, without wigglers shows a very good agreement between the two methods:
With I12 wiggler
Damping times
Damping partition numbers
The results are here very different. In particular the vertical damping partition number from atx is quite different from 1.
An even simpler check can be done by comparing the synchronous phase from the 6th coordinate of the 6-D closed orbit (tracking) and from the analytical computation.
Bare lattice
Good agreement again.
With I12 wiggler
The synchronous phase from tracking does not change when introducing the wiggler, as if
GWigSymplecticRadPass
would not give any energy loss.All these results indicate that there is something missing in
GWigSymplecticRadPass
.The text was updated successfully, but these errors were encountered: