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
wake.png (9.26 KiB) Viewed 12063 times
which has the following impedance
impedance.png
After tracking with each, I get a time-dependent deflection that agrees quite well
tracking.png
--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