260 likes | 427 Views
MERLIN Developers Meeting - DESY Hamburg, February 2008. Implementation of Collimator Wakefields in MERLIN. Adriana Bungau The University of Manchester, UK. The physics case.
E N D
MERLIN Developers Meeting - DESY Hamburg, February 2008 Implementation of Collimator Wakefields in MERLIN Adriana Bungau The University of Manchester, UK
The physics case The literature is mainly concerned with wakefields in RF cavities with axial symmetry and with bunches near the axis -> only lower order modes are important. Cavities ring at particular frequencies -> long range wakefields are considered. For collimators: • The collimators are not characterized by resonances • The system have no axial symmetry • Only short range wakefields are important • Particle bunches are distorted from their original Gaussian shape • Higher order modes have significant effect (bunches close to the collimator edges)
Kick Factors • The existing literature on collimator wakefields concentrates mainly on kick factors but … kick factors are not enough! • y’ = K y • they only look at the incoming and outgoing angular jitter • include only the lowest order term (dipole mode) • they do not describe what happens near the collimator edges • kick factors depend on components and bunch shape (bunches usually treated as Gaussian) • they do not describe the change in bunch shape
Goals • development of a mathematical formalism for higher order collimator wakefields • implementation of higher order mode collimator wakefields in MERLIN • benchmark with other codes/experiments • study one collimator for the start • extend the study to all ILC_BDS collimators • study of emittance increase at the IP • study of luminosity reduction due to collimator wakefields • study of bunch shape distorsion
r’,’ s s r, Mathematical formalism • The change in momentum of the trailing particle given by the integration over effects of E and B fields is: • The results depend on the bunch shape and a Gaussian shape is assumed • In numerical simulations the integrals are replaced by sums and for N particles in n bunch slices the bunch potential is: • The wake potential can be found for any aperture, analytically or numerically • The total effect on a charge is given by superposition of the contribution of all other particles and the bunch potential is:
r’,’ s s r, Wake effects from a single charge • Investigate the effect of a leading unit charge on a trailing unit charge separated by distance s • the change in momentum of the trailing particle is a vector w called ‘wake potential’ • w is the gradient of the ‘scalar wake potential’: w=W • W is a solution of the 2-D Laplace Equation where the coordinates refer to the trailing particle; W can be expanded as a Fourier series: W (r, , r’,s) = Wm(s) r’m rm cos(m) (Wm is the ‘wake function’) • the transverse and longitudinal wake potentials wL and wT can be obtained from this equation
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)]} Wake effects of many bunch slices ∑j wx = ∑m m rm-1 { cos [ (m-1) ] ∑jWm(sj) Cmj + sin [ (m-1) ] ∑jWm(sj) Smj }
ParticleBunchProcess WakeFieldProcess virtual void InitializeProcess (Bunch& bunch); virtual void SetCurrentComponent (AcceleratorComponent& component); virtual void DoProcess (double ds); virtual double GetMaxAllowedStepSize () const; void ApplyImpulseAt (ImpulseLocation loc) void IncludeTransverseWake (bool flag) void DumpSliceCentroids (ostream&) const; void SetFilter (int n, int m, int d); private: WakePotentials* currentWake; virtual void ApplyWakefield (double ds); virtual void CalculateWakeT(); virtual void CalculateWakeL(); Changed to protected The initial wakefield implementation Defined in: BeamDynamics/ParticleTracking • create an instance of WakeFieldProcess • add the wakefield proces in the list for tracking • invokes InitializeProcess and splits the bunch into slices • in components, the pointer is set to the WakePotentials • invokes DoProcess which calls ApplyWakefield (this sums the earlier contributions)
WakePotentials double Wlong (double z) const = 0; double Wtrans (double z) const = 0; bool Is_CSR () const; protected: bool csr; double radius; double conductivity; Added the radius and the conductivity The initial wakefield implementation Defined in: AcceleratorModel • each component may contain a WakePotentials object • assigned to a particular accelerator component by a call to AcceleratorComponent::SetWakePotentials (WakePotentials*)
WakeFieldProcess WakePotentials SpoilerWakeProcess Spoiler Wake Potentials virtual void ApplyWakefield(double) virtual void CalculateWakeT (double, int) virtual void CalculateWakeL (double, int) private: SpoilerWakePotentials* spoiler_wake; int nmodes; Double CalculateSm (int, int); Double CalculateCm (int, int); virtual double Wlong (double s, int m) const = 0; virtual double Wtrans (double s, int m) const = 0; protected: Int nmodes; New classes • contains a new data member int nmodes • contains new versions for ApplyWakefield and CalculateWakeT and CalculateWakeL • calculation of moments Sm and Cm is done through new CalculateSm /Cm routines • contains the no of modes nmodes; • contains virtual functions Wtrans and Wlong which will be overriden in child classes
Accelerator model • Constructed with the MADInterface using the lattice file from 2006 provided by F.Jackson: ebds1.optics (ILC2006e) • Difficulties with this lattice: - several components in the beamline were not recognized by the MAD Interface and were treated as Drifts (INSTRUMENT, WIRE) - the lattice component MULTIPOLE is not defined in MAD Interface (the highest K magnet is OCTUPOLE) - the lattice does not end at the IP but also contains the beamline components to the beam dump -> the lattice had to be split with MAD into two parts and the end-of-linac to the IP part was kept for tracking simulations
A first try • The nominal linac exit parameters were defined as BeamData and the Gaussian Distribution was assumed for the bunch core • Initially the beam was tracked from the first element in the beamline to the IP • Tracking was aborted several times: the ‘~’ character in the spoilers aperture in the MAD optics file was causing a break -> problem solved by opening the apertures to X99Y99 for collimators CEBSY1, CEBSY2, CEBSY3, CEBSY • The final beam parameters were recorded in a file but there seemed to be no wakefield effects on the bunch tail even at large offsets and using higher order modes!
More Difficulties… • In MADInterface the collimators were treated as Drifts • In MADInterface.cpp: - changed the collimator type to: type=“SPOILER” - read the name, length and X0 - aperture type is easily read from the MAD optics deck: aptype = “X99Y99” - conversion of the aperture dimentions from mm (MAD file) to m (required by most wakefield formulae)
a b Geometric wakefields - Example Wm(z) = 2 (1/a2m - 1/b2m) exp (-mz/a) (z) 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 ; } ; };
Application to one collimator SLAC beam tests simulated: energy - 1.19 GeV, bunch charge - 2*1010 e- Collimator half -width: 1.9 mm • small displacement - 0.5 mm • one mode considered • effect is small • adding m=2,3 etc does not change much the result • large displacement - 1.5 mm • one mode considered • the bunch tail gets a bigger kick • large displacement - 1.5 mm • higher order modes considered (ie. m=3) • the effect on the bunch tail is significant
Emittance increase • beam parameters at the end of linac: x = 30.4 10-6 m, y = 0.9 10-6 m • beam size at the IP in absence of wakefields: x = 6.51*10-7 m, y = 5.69*10-9m • beam sizes for 4 modes: x = 0.7*10-6 m, y = 0.19*10-6m • for small offsets, modes separation occurs at ~10 sigmas;
Luminosity reduction at 10 sigmas when the separation into modes occurs, the luminosity is reduced to 20% - for a luminosity of L~1038 the offset should be less than 2-3 sigmas
Resistive wall • pipe wall has infinite thickness; it is smooth; • it is not perfectly conducting • the beam is rigid and it moves with c; • test charge at a relative fixed distance; c The fields are excited as the beam interacts with the resistive wall surroundings; b c For higher moments, it generates different wakefield patterns; they are fixed and move down the pipe with the phase velocity c;
General form of the resistive wake • Write down Maxwell’s eq in cylindrical coordinates • Combined linearly into eq for the Lorentz force components and the magnetic field • Assumption: the boundary is axially symmetric ( are ~ cos mθ and are ~ sin mθ ) • Integrate the force through a distance of interest L • Apply the Panofsky-Wenzel theorem
Emittance increase • - beam size at the IP in absence of wakefields: x = 6.51*10-7 m, y = 5.69*10-9 m • - beam sizes for 4 modes: x = 1.2*10-6 m, y = 3.5*10-6m • For small offsets the mode separation starts at ~10 sigmas • At larger offsets (30-35 sigmas) there are particles lost in the last collimators • The increase in the bunch size due to resistive wakefields is far greater than in the geometric case
Luminosity reduction at 10 sigmas when the separation into modes occurs, the luminosity is reduced to 10% • for a luminosity of L~1038 the offset should be less than 1 sigma • the resistive effects are dominant!
Beam jitter in collimators • No wakefields <y>=4.74e-12; • Jitter of 1 nm of maximum tolerable bunch-to-bunch jitter in the train with 300 nm between bunches; for 1nm: <y>=8.61e-11 • Jitter about 100 nm which intratrain feedback can follow with time constant of ~100 bunches; for 100nm: <y>=5.4e-10 • Maximum beam offset is 1 um in collimator AB7 for 1nm beam jitter and 9um for 100 nm jitter
Beam Jitter in collimators • Beam jitter of 500 nm of train-to-train offset which intratrain feedback can comfortably capture • The maximum beam offset in a collimator is 40 um (collimator AB7) for a 500nm beam jitter • For 500nm: <y>=2.37e-9
Bunch shape distorsion • The bunch shape changes as it passes through the collimator; the gaussian bunch is distorted in the last collimators • But the bunch shape at the end of the linac is not a gaussian so we expect the luminosity to be even lower than predicted
More difficulties • Few analytical calculations of the bunch potential corresponding to collimator geometries can be found in literature • The calculations are for very simple geometries • To deal with more complicated geometries MERLIN should read wake tables provided by Gdfidl or ECHO
Conclusions • The new classes in MERLIN are uploaded in the MERLIN CVS repository in the newwake branch • Emittance increase and luminosity reduction was studied for geometric and resistive wakefields • It was found that at several sigma offset from the main axis the higher order mode contribution is not significant • The contribution from higher order modes becomes important near the collimator edges away from the main axis