We know that a thin lens FODO cell with bending through angle \(\theta\) symmetrically placed midway between each quadrupole yields periodic dispersion at the middle of a focusing quad, say, of value \[ \vec{D}_0 = \begin{pmatrix} \frac{L\theta}{\sin^2(\mu/2)}(1+\frac12\sin(\mu/2)) \\ 0 \end{pmatrix} \] where \(L\) is the quadrupole spacing. The periodic values of \(D\) and \(D'\) throughout the cell will scale with the bend angle \(\theta\).
Now consider a case where a set of periodic FODO cells as described above lead into two new FODO cells, where the first FODO cell encountered has bending of amount \((1-x)\theta\) between its quadrupoles while the second FODO cell has bending of amount \(x\theta\). Each of these FODO cells will have the same periodic \(M\) propagating the on-momentum betatron motion, but the cells will have different \(3\times 3\) matrices due to the various bending angles being considered. If we write the \(3\times 3\) matrices for our two new FODO cells in terms of their respective periodic dispersion1, this yields at the end of the second FODO cell: \[ \begin{pmatrix} \vec{D}_2 \\ 1 \end{pmatrix} = \begin{pmatrix} M & x(I-M)\vec{D}_0 \\ \vec{0}^T & 1\end{pmatrix} \begin{pmatrix} M & (1-x)(I-M)\vec{D}_0 \\ \vec{0}^T & 1\end{pmatrix} \begin{pmatrix} \vec{D}_0 \\ 1 \end{pmatrix} \] which simplifies to \[ \begin{pmatrix} \vec{D}_2 \\ 1 \end{pmatrix} = \begin{pmatrix} M^2 & (1-x)M(I-M)\vec{D_0} + x(I-M)\vec{D_0} \\ \vec{0}^T & 1\end{pmatrix} \begin{pmatrix} \vec{D}_0 \\ 1 \end{pmatrix} \] or, \[ \begin{pmatrix} \vec{D}_2 \\ 1 \end{pmatrix} = \begin{pmatrix} [M^2 + (1-x)M(I-M) + x(I-M)]\cdot\vec{D_0} \\ 1\end{pmatrix} \] which yields \[ \vec{D}_2 = M[M+(1-x)(I-M)+x(M^{-1}-I)]\;\vec{D_0} \\ = M[ M+I-M-xI+xM+xM^{-1} -xI ]\;\vec{D_0} \\ = M[ (1-2x)I+x(M+M^{-1}) ]\;\vec{D_0}. \] But note that \(M+M^{-1} = I\cdot trace(M) = I\cdot(2\cos\mu)\). So, \[ \vec{D}_2 = [ 1-2(1-\cos\mu)x ]\;M\vec{D_0}. \] We see that if we choose \[ x = \frac{1}{2(1-\cos\mu)} \] then we get \(\vec{D}_2 = \vec{0}\)! The dispersion and its slope have been eliminated.
The unit consisting of two FODO cells with such appropriate bending is called a “dispersion suppressor” or a “dispersion killer”. Naturally, if the order of the two FODO cells is reversed and if the beam entering the two cells has no dispersion initially, then the periodic dispersion of a FODO cell with full bending will be generated. Hence, in a ring consisting of FODO cells with full bending, dispersion-free straight sections can be easily created by placing dispersion suppressors on either side of the straight section with appropriate choice of “\(x\)” given by the chosen cell phase advance.
Let’s watch the magic work. Choose some parameters for a thin-lens FODO system:
th = 0.03
L = 20
mu = 80.4 * pi/180
F = L/2/sin(mu/2)
x = 1/2/(1-cos(mu))
Create matrices for the quads, drifts and bending elements:
MQf = matrix(c(1, 0, 0,
-1/F,1, 0,
0, 0, 1), byrow = TRUE,ncol = 3)
MQd = matrix(c(1, 0, 0,
1/F,1, 0,
0 ,0, 1), byrow = TRUE,ncol = 3)
ML2 = matrix(c(1, L/2, 0,
0, 1, 0,
0, 0, 1), byrow = TRUE,ncol = 3)
MB0 = matrix(c(1, 0, 0,
0, 1, th,
0 ,0, 1), byrow = TRUE,ncol = 3)
MB1 = matrix(c(1, 0, 0,
0, 1, th*(1-x),
0 ,0, 1), byrow = TRUE,ncol = 3)
MB2 = matrix(c(1, 0, 0,
0, 1, th*x,
0 ,0, 1), byrow = TRUE,ncol = 3)
Beam lines can be defined by lists of the above elements:
Cell = list(
MQf, ML2, MB0, ML2, MQd, ML2, MB0, ML2)
BeamLine = list(
MQf, ML2, MB0, ML2, MQd, ML2, MB0, ML2,
MQf, ML2, MB1, ML2, MQd, ML2, MB1, ML2,
MQf, ML2, MB2, ML2, MQd, ML2, MB2, ML2 )
Let’s find the periodic value of the dispersion for a “standard cell”:
M0 = diag(1,3,3)
k = 0
while(k<length(Cell)){
k = k+1
M0 = Cell[[k]] %*% M0
}
M0
## [,1] [,2] [,3]
## [1,] -1.95737788 65.818308 1.58727461
## [2,] -0.08332313 2.290915 0.07936373
## [3,] 0.00000000 0.000000 1.00000000
D0 = solve(diag(1,2,2)-M0[1:2,1:2],M0[1:2,3])
D0
## [1] 1.90496289 0.06147865
Starting with this periodic dispersion, track the dispersion through one standard cell and then through the dispersion suppressor:
Dvec = c(D0,1) # initialize vector (D,D',1)
Dsp = D0[1] # keep track of D
ds = 0 # path length of each element
k = 0
while(k<length(BeamLine)){
k = k+1
Dvec = BeamLine[[k]] %*% Dvec
Dsp[k] = Dvec[1]
ds[k] = BeamLine[[k]][1,2]
}
s = cumsum(ds) # Cumulative path length
The result:
As FODO cells will have an integer number of magnets per half cell, the special cases in the table below can be useful for synchrotron or storage ring design:
\(\mu\) | \(x\) | \((1-x)\) |
---|---|---|
\(60^\circ\) | 1/1 | 0/1 |
\(68^\circ\) | 4/5 | 1/5 |
\(70.5^\circ\) | 3/4 | 1/4 |
\(75.5^\circ\) | 2/3 | 1/3 |
\(80.4^\circ\) | 3/5 | 2/5 |
\(90^\circ\) | 1/2 | 1/2 |
\(104.5^\circ\) | 2/5 | 3/5 |
\(120^\circ\) | 1/3 | 2/3 |
\(180^\circ\) | 1/4 | 3/4 |
See Transport Matrices tutorial.↩