10 likes | 155 Views
a. b. Simulation of High Order Short Range Wakefields. Roger Barlow, The University of Manchester and Cockcroft Institute, UK Adriana Bungau, The University of Manchester and Cockcroft Institute, UK. Abstract.
E N D
a b Simulation of High Order Short Range Wakefields Roger Barlow, The University of Manchester and Cockcroft Institute, UK Adriana Bungau, The University of Manchester and Cockcroft Institute, UK Abstract We present a formalism for incorporating intra-bunch wake fields into particle-by-particle tracking codes, such as MERLIN. Higher order wake fields are incorporated in a manner which is computationally efficient. Standard formulae for geometric, resistive and dielectric wakefields can be included for various apertures, particularly those relevant for ILC collimators. Implementation in Merlin Wake effects on a single charge Consider the effect on a trailing particle at r, of a slice of N particles all ahead by the same distance s. All particles are relativistic. The effects of transverse velocity and acceleration during the passage of the particles through the aperture are ignored. The total effect is given by simple summation over all particles in the slice and the combined kick is: The code contained two important and separate classes relevant to wakefields: WakePotentials and WakeFieldProcess. But the existing standard implementation only included the monopole (longitudinal) and dipole (transverse) wakes. To include higher order modes we must have the ability to sum over modes. Two new classes were derived: SpoilerWakeFieldProcess and SpoilerWakePotentials Wz = ∑ W’m(s) rm [ Cmcos(m) + Sm sin(m)] Wx = ∑m Wm(s) rm-1 {Cmcos[(m-1)] +Sm sin[(m-1)]} Wy = ∑m Wm(s) rm-1 {Sm cos[(m-1)] + Cm sin[(m-1)]} WakeFieldProcess WakePotentials SpoilerWakeFieldProcess CalculateCm(); CalculateSm(); CalculateWakeT(); CalculateWakeL(); ApplyWakefield (); SpoilerWakePotentials nmodes; virtual Wtrans(s,m); virtual Wlong(s,m); Where Cm = ∑r’m cos(m’) and Sm = ∑r’m sin(m’) r’ and ’ are coordinates of particles in the leading slice, and Cm and Sm can be calculated and stored. For a particle in slice i, a wakefield effect is received for all slices j≥i. The total effect is (in x for example): ∑j wx = ∑m m rm-1 { cos [ (m-1) ] ∑jWm(sj) Cmj + sin [ (m-1) ] ∑jWm(sj) Smj } The SpoilerWakeFieldProcess class calculates the moments Cm and Sm for each slice through new CalculateSm and CalculateCm routines, calculates the sums over leading slices j through CalculateWakeT and CalculateWakeL and has a new version of ApplyWakefield with an extra loop over modes. Similar equations apply for wy and wz; the sums over leading slices j can be calculated separately and used in the computer code The virtual functions in SpoilerWakePotentials will be overriden in child classes like TaperedCollimatorPotentials: The wake function for a steeply tapered collimator moving from aperture b to aperture a is: class TaperedCollimatorPotentials:public SpoilerWakePotentials { public: double a, b; double* coeff; TaperedCollimatorPotentials(int m, double rada, double radb) : SpoilerWakePotentials (m, 0. , 0. ) { a = rada; b = radb; coeff = new double [m]; for (int i=0; i<m; i++) {coeff [i] = 2*(1./pow(a, 2*i) - 1./pow(b, 2*I));} } ~TaperedCollimatorPotentials(){delete [ ] coeff;} double Wlong (double z, int m) const {return z>0 ? -(m/a)*coeff [m]/exp (m*z/a) : 0 ;} ; double Wtrans (double z, int m) const { return z>0 ? coeff[m] / exp(m*z/a) : 0 ; } ; }; Wm(z) = 2 (1/a2m - 1/b2m) exp (-mz/a) (z) Merlin Simulations SLAC beam tests were simulated with the new additions to the Merlin code. A Gaussian beam having an energy of 1.19 GeV and 2*1010 electrons was sent through a spoiler with a gap of half-width of 1.9 mm. The lattice functions were set to x = 3m, y = 10m x = 0.36 mm, y = 0.16mm. The bunch length was z = 0.65mm. We were interested in the deflection in angle of the particles that emerge from the collimator. An analysis with higher order modes was performed for 1.5 mm beam offset. The bunch tail gets a bigger kick when three modes are considered than in the case when one mode was included in the simulation. Simulations were performed taking the first mode for the start. The vertical kick varies with the position along the bunch - the tail is more affected than the head - which will lead to non-Gaussian bunch shapes. The effect is small for one mode and adding m=2, 3 etc. does not change it much. For a large displacement of 1.5 mm, the bunch tail gets a bigger kick even when one mode is considered. Therefore, at large offsets, higher order modes must be included in the simulation This work is supported by the Commission of the European Communities under the 6th Framework Programme “Structuring the European Research Area”, contract number RIDS-011899