Page 1 of 1
Different results in tracking with impedance vs. tracking with wake
Posted: 14 Jul 2018, 22:45
by Akhyani
Dear all,
I want to do the tracking considering coupling impedance in the storage ring. I used the impedance output of CST and call them in ELEGANT by ztransverse and zlongit. I also do the tracking with CST wake output and compare the results of these two cases. I was supposed to get the same results but surprisingly, the results were completely different! I could not realize what the problem is. Are there any issues regarding implementing impedance file in my lattice?
This is the way I employ these commands in the lattice file:
Code: Select all
zt_y: ztransverse, inputfile="Ydipolar.sdds", freqcolumn="f",RAMP_PASSES=500000, &
zxreal="ReY", zximag="ImY", &
bunched_beam_mode=0
zt_z: zlongit,zreal="Zdipolar.sdds=f+ReZ",zimag="Zdipolar.sdds=f+ImZ",interpolate=1,
tot_longit: WAKE, INPUTFILE="longit.sdds", &
TCOLUMN="t", WCOLUMN="Wz" &
INTERPOLATE=0, N_BINS=0, ALLOW_LONG_BEAM=1, RAMP_PASSES=0
tot_Dipole: TRWAKE, INPUTFILE="dipolar.sdds", &
TCOLUMN="t", WXCOLUMN="Wx",WYCOLUMN="Wy", FACTOR=1, &
INTERPOLATE=0, N_BINS=0, RAMP_PASSES=1000
The other thing I should mention is that, I employ both dipolar wake and geometrical (DRIVE at zero) in two separate TRWAKE commands, when I track with wake files. Shall I consider these two (dipolar and geometrical impedance) in tracking with impedance?
Any help would be greatly appreciated.
Thanks in advance!
Mina
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 16 Jul 2018, 10:22
by michael_borland
Mina,
The first thing that springs to mind is that there may be a different convention for the impedance in CST compared to elegant. Checking for consistent units is the first think I would do. Also, try flipping the sign of the imaginary part; some codes use a negative sign in the time coordinate and CST may use that convention. If you continue to have problems, please post your impedance and wake files so we can take a closer look.
To get full consistency, you need to include the same components in both cases.
--Michael
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 17 Jul 2018, 02:36
by duanz
Dear Mina and Michael,
We did use CST to obtain the impedance and used Pelegant to do the tracking w/ impedance. I had a short note regarding the sign conventions, as shown in the attached files. I hope this helps.
Best,
Zhe
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 22 Jul 2018, 05:22
by Akhyani
Dear Michael and Zhe
Thanks for your useful comments. For unit conventions, I used "GHz" for f, "ohms/m" for transverse impedance and "ohms" for longitudinal impedance. Are these what ELEGANT uses for impedance and frequency units?
Also I tried flipping the sign of imaginary part and displacing real and imaginary part, but still the result is completely different with wake tracking.
I attached wake and impedance files. There is also a txt file in the attached file for wake and impedance description.
Thanks for considering my request.
--Mina
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 23 Jul 2018, 07:58
by michael_borland
Mina,
elegant uses SI units, so you need Hz for f and ohms/m for Z. For wakes, you should use seconds (for time) and V/C/m (for the wake).
I see that the manual doesn't state these requirements explicitly, so I'll add that.
--Michael
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 24 Jul 2018, 22:34
by Akhyani
Dear Michael,
Thank you very much for clarification. I corrected all the units and rerun the simulations. Still, the results in impedance tracking are different with wake tracking. I attached the modified impedances. I will be appreciated if you could help me to find the problem.
--Mina
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 26 Jul 2018, 12:24
by michael_borland
Mina,
Your wake file doesn't look correct. A transverse wake should start with W(0)=0 and initially increase quasi-linearly as t increases. E.g., a damped oscillator sin(omega*t)*exp(-t/tau) is the wake for a damped resonator. Your wake looks like cos(omega*t).
I've attached an example that shows the agreement between the wake/impedance formalisms and how to convert a wake into an equivalent impedance.
The wake is just a heavily-damped resonator

- wake.png (9.26 KiB) Viewed 12063 times
which has the following impedance
After tracking with each, I get a time-dependent deflection that agrees quite well
--Michael
Re: Different results in tracking with impedance vs. tracking with wake
Posted: 14 Aug 2018, 07:14
by Akhyani
Dear Michael,
I agree that the first part of the wake does not behave like the function that you mentioned. Since I cannot calculate wake potential for a desired small bunch length (lack of computation source), I had to manipulate the wake data so I could get close to wake function [Bane & Oide, SLAC-PUB-95-6878, DOI:10.1109/PAC.1993.309645].
Actually, I rerun the sample you had provided and I realized that the main problem of my impedance file was insufficiency of the data points. When I used the option INTERPOLATE=1 in my lattice file in ELEGANT, the impact appears on beam dynamics.
Thanks to Zhe's comment, the other issue was the inconsistency between CST and ELEGANT impedance definitions. I considered the comment in my impedance data for transverse plane. Also for the longitudinal plane, there is a difference between CST & ELEGANT impedance definition which is described below.
CST longitudinal impedance to ELEGANT:
Real part -> Real part *(-1)
Imaginary part -> Imaginary part *(-1)
Including all mentioned points, I could see the same behavior in impedance and wake tracking.
My special thanks for both of you, Michael and Zhe, for all the help and support you have provided me.
-Mina