undulator_docu

function [ Kern ] = kern_undulator(
definition
theory
examples
xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K
pages 1 .. 2
pages 3 .. 5
pages 6 ...
)
definition
function [ Kern ] = kern_undulator(
xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K
)
calculates kernel function for undulator trajectory for
finite and infinite undulator,
local or periode-averaged (only for infinite undulator),
1d beam or cross-section averaged
function [ Kern ] = kern_undulator( xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K )
mesh and usage:
du = mesh step = 
[nu1,nu2] = mesh range
~
E s  so  vt  

  s  v K s , v dv
4
o
u 0
 s     bs /      E    K4,d    
K 4,d   

 b   v /  K s , v dv
4
u 0
Kern = K 4,d nu1: nu2 
with bx  max 1  x ,0
o
definition
function [ Kern ] = kern_undulator( xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K )
undulator:
gamma = relativistic factor for resonance energy
lambda_u = length of undulator period
K = planar undulator parameter
u  K 2 

 photon wavelength  ph  2 1 
2 
2 
transverse parameters: function [ Kern ] = kern_undulator( xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K )
“1” for 1D-beam, “2” for transverse averaging
xy_param.type = 1 / 2
“1” for 1D-beam, “2” for transverse averaging
only for 1D-beam: offset with respect to trajectory
xy_param.off = [xoff,yoff]
xy_param.cor = [cxx,cxy,cyy(,Nsigma,Nstep)]
only for transverse averaging:
cxx, cxy, cyy = transverse correlation, f.i. cxx=emittance*beta_x
optional: Nsigma [3] = size of integration range (per direction)
Nstep [13] = number of steps (per direction) of tr. integration
longitudinal parameters: function [ Kern ] = kern_undulator( xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K )
finite or infinite undulator
z_param.finite = true / false
true: calculate local wake
z_param.local = true / false
false: calculate period averaged wake (only for infinite u.)
z_param.Nav
z_param.Z0_obs
z_param.N_per
number of points for period averaging
longitudinal observer position relative to beginning of finite undulator or
to point with maximal horizontal offset in infinite undulator
number periods of finite undulator
theory
geometry
trajectory rtr S 
u tr S  
d
rtr S 
ds
observer ro
ro  rtr S1   w1  rtr So   w
with
u o  u tr So 
uo  w  0
relative to observer
Rs   ro  rtr So  s 
Rs   Rs 
ns   Rs  Rs 
u s s   u tr So  s 
tangential trajectory (depends on observer)
rtang S   rtr S o   u o S  S o 
R tang s   w  u o s
Rtang s   w2  s 2
n tang s   R tang s  Rtang s 
theory
kernels
kernel 1
~
4E    s  R  so  vt K tr,1 so , s ds    ~
s  Rtang  so  vt K tang,1so , ~
s d~
s
0
0


with K tr,1 so , s  
n  u s  u o    2 1  u s u o    2
R

K tang, 2 so , ~
s
Rtang
2
kernel 2
Rtang  Rtang ~
s   w2  ~
s2
integral 1, substitution us   s  Rs 
u ~
s ~
s  Rtang ~
s
integral 2
~
4E 
u 0 
  u  s
o
 vt K 2 so , u du

n  u s  u o    2 1  u s u o     2
 2
K 2 so , u  

R1  u s  n 
Rtang 1  u 0  n tang 
kernel 3
substitution su  with u  su   Rsu 
0
~
4E    s  R  so  vt K 3 so , s ds

K 3 so , s  
n  u s  u o    2 1  u s u o    2
R
 2 1  u s  n

Rtang 1  u o  n l
theory
kernels
kernel 2, technical aspect
n  u s  u o    2 1  u s u o    2
 2
K 2 so , u s  

R1  u s  n 
Rtang  ~
s
s u     u  
with ~

K 2 so , u  
n  u s  u o    2 1  u s u o  
u 2  w2 

d
 2 Rtang  ~s 
Rtang  ~
s d

s
with d  R  u s  R   Rtang  ~
~
s s
 2   s  u s  R 
 
kernel 4
~
E s  so  vt  

  s  v K s , v dv
4
u 0
K 4 s o , v   

K 2 so ,v 
4 v
1
o

examples
example 1
x_off=0.0001; y_off=0.00001;
sig=10.0E-6; q=0.01E-9;
% UNDULATOR
gamma=100;
lambda_u=0.03;
K=2.0;
lambda_ph=lambda_u/(2*gamma^2)*(1+K^2/2);
% MESH
u_min=-sqrt(x_off^2+y_off^2);
u_max=max(lambda_ph*30,8*sig);
du=min(lambda_ph/10,sig/5);
nu1=floor(u_min/du);
nu2=ceil( u_max/du);
% BUNCH
n1=-round(4*sig/du);
n2=round(4*sig/du);
lam=q/sqrt(2*pi)/sig*exp(-0.5*((n1:n2)*du/sig).^2);
% transverse parameters
xy_param.type=1;
xy_param.off=[x_off,y_off];
% longitudinal parameters
Nav=250;
z_param.finite=false;
z_param.local=false;
z_param.Nav=Nav;
% KERNEL
kern=kern_undulator(xy_param,z_param,du,nu1,nu2,gamma,lambda_u,K);
% CONVOLUTION
wake=conv_fft(lam,kern,n1,nu1,n1,n2)*du;
figure(1); plot((n1:n2)*du,wake);
% FFT CONVOLUTION
function [ c,nc1,nc2 ] = conv_fft( a,b,na1,nb1,nc1in,nc2in )
P = numel(a);
Q = numel(b);
L = P + Q - 1;
K = 2^nextpow2(L);
c = ifft(fft(a, K) .* fft(b, K));
c = c(1:L);
if nargin>2
nc1=na1+nb1;
nc2=nc1+L-1;
end
if nargin>4
L_zeile=size(c,1)==1;
if nargin==5, nc2in=nc2; end
if L_zeile
cc=zeros(1,nc2in-nc1in+1);
else
cc=zeros(nc2in-nc1in+1,1);
end
nc1h=max(nc1,nc1in);
nc2h=min(nc2,nc2in);
cc(1-nc1in+(nc1h:nc2h))=c(1-nc1+(nc1h:nc2h));
c=cc;
nc1=nc1in;
nc2=nc2in;
end
end
figure 1
examples
for examples 2, 3 and 4:
  500MeV / mo c 2
 x   y  1 μm 
 x   y  10 m
c xx  c yy   x  x
c xy  0
bunch 1:
 1  s 2 
q
 s  
exp     
 2 s  
2  s


q  0.5 nC
cq
 2 kA
2  s
bunch 2:
 1  s 2 
q
 s  
exp     1  m cosks
 2 s  
2  s


q  0.1 nC
cq
 2 kA
2  s
m  0.02
k  2/ 800 nm 
examples
example 2: FLASH, ORS undulator
infinite undulator
periodic wake
Nav= 250
bunch 1 (0.5 nC), coarse du = 1 µm, fine du = 0.25 µm
bunch 2 (0.1 nC, modulated), du = 0.080 µm, Nsigma = 4, Nstep = 25
  500MeV / mo c 2
u  20.7 cm
K  7.7
bunch 2 (0.1 nC, modulated), du = 0.040 µm
bunch 2 (0.1 nC, modulated), du = 0.080 µm, (Nsigma = 3, Nstep = 13)
examples
example 3: FLASH, SEEDING undulator 
infinite undulator
periodic wake
Nav= 250
bunch 1 (0.5 nC), coarse du = 1 µm, fine du = 0.25 µm
bunch 2 (0.1 nC, modulated), du = 0.080 µm, Nsigma = 4, Nstep = 25
 500MeV / mo c 2
u  3.15 cm
K  2.83
bunch 2 (0.1 nC, modulated), du = 0.040 µm
bunch 2 (0.1 nC, modulated), du = 0.080 µm, (Nsigma = 3, Nstep = 13)
examples
example 4: FLASH, SASE undulator
infinite undulator
periodic wake
Nav= 250
bunch 1 (0.5 nC), coarse du = 1 µm, fine du = 0.25 µm
  500MeV / mo c 2
u  2.73 cm
K  1.24