Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
O OPALManualWiki
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • snuverink_j
  • OPALManualWiki
  • Wiki
  • opalt

opalt · Changes

Page history
saving intermediate manual fixes authored Sep 08, 2017 by snuverink_j's avatar snuverink_j
Hide whitespace changes
Inline Side-by-side
Showing with 269 additions and 144 deletions
+269 -144
  • opalt.asciidoc opalt.asciidoc +269 -144
  • No files found.
opalt.asciidoc
View page @ e434a569
......@@ -37,25 +37,25 @@ geometry will be implemented.
Variables in _OPAL-t_
~~~~~~~~~~~~~~~~~~~~~
[sec:opalt:canon] _OPAL-t_ uses the following canonical variables to
_OPAL-t_ uses the following canonical variables to
describe the motion of particles. The physical units are listed in
square brackets.
X::
Horizontal position latexmath:[$x$] of a particle relative to the axis
Horizontal position latexmath:[x] of a particle relative to the axis
of the element [m].
PX::
latexmath:[$\beta_x\gamma$] Horizontal canonical momentum [1].
latexmath:[\beta_x\gamma] Horizontal canonical momentum [1].
Y::
Horizontal position latexmath:[$y$] of a particle relative to the axis
Horizontal position latexmath:[y] of a particle relative to the axis
of the element [m].
PY::
latexmath:[$\beta_y\gamma$] Horizontal canonical momentum [1].
latexmath:[\beta_y\gamma] Horizontal canonical momentum [1].
Z::
Longitudinal position latexmath:[$z$] of a particle in floor
Longitudinal position latexmath:[z] of a particle in floor
co-ordinates [m].
PZ::
latexmath:[$\beta_z\gamma$] Longitudinal canonical momentum [1].
latexmath:[\beta_z\gamma] Longitudinal canonical momentum [1].
The independent variable is *t* [s].
......@@ -64,12 +64,15 @@ Integration of the Equation of Motion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_OPAL-t_ integrates the relativistic Lorentz equation
latexmath:[\[\frac{\mathrm{d}\gamma\mathbf{v}}{\mathrm{d}t} = \frac{q}{m}[\mathbf{E}_{ext} + \mathbf{E}_{sc} + \mathbf{v} \times (\mathbf{B}_{ext} + \mathbf{B}_{sc})]\]]
where latexmath:[$\gamma$] is the relativistic factor, latexmath:[$q$]
is the charge, and latexmath:[$m$] is the rest mass of the particle.
latexmath:[$\mathbf{E}$] and latexmath:[$\mathbf{B}$] are abbreviations
for the electric field latexmath:[$\mathbf{E}(\mathbf{x},t)$] and
magnetic field latexmath:[$\mathbf{B}(\mathbf{x},t)$]. To update the
[latexmath]
++++
\frac{\mathrm{d}\gamma\mathbf{v}}{\mathrm{d}t} = \frac{q}{m}[\mathbf{E}_{ext} + \mathbf{E}_{sc} + \mathbf{v} \times (\mathbf{B}_{ext} + \mathbf{B}_{sc})]
++++
where latexmath:[\gamma] is the relativistic factor, latexmath:[q]
is the charge, and latexmath:[m] is the rest mass of the particle.
latexmath:[\mathbf{E}] and latexmath:[\mathbf{B}] are abbreviations
for the electric field latexmath:[\mathbf{E}(\mathbf{x},t)] and
magnetic field latexmath:[\mathbf{B}(\mathbf{x},t)]. To update the
positions and momenta _OPAL-t_ uses the Boris-Buneman algorithm
[langdon].
......@@ -108,21 +111,24 @@ reference particle, having the central energy and traveling on the
so-called reference trajectory. Motion of a particle close to this
fictitious reference particle can be described by linearized equations
for the displacement of the particle under study, relative to the
reference particle. In _OPAL-t_, the time latexmath:[$t$] is used as
independent variable instead of the path length latexmath:[$s$]. The
reference particle. In _OPAL-t_, the time latexmath:[t] is used as
independent variable instead of the path length latexmath:[s]. The
relation between them can be expressed as
latexmath:[\[\frac{\mathrm{d}}{\mathrm{d} t} = \frac{\mathrm{d}}{\mathrm{d}\mathbf{s}}\frac{\mathrm{d}\mathbf{s}}{\mathrm{d} t} = \mathbf{\beta}c\frac{\mathrm{d}}{\mathrm{d}\mathbf{s}}.\]]
[latexmath]
++++
\frac{\mathrm{d}}{\mathrm{d} t} = \frac{\mathrm{d}}{\mathrm{d}\mathbf{s}}\frac{\mathrm{d}\mathbf{s}}{\mathrm{d} t} = \mathbf{\beta}c\frac{\mathrm{d}}{\mathrm{d}\mathbf{s}}.
++++
[[global-cartesian-coordinate-system]]
Global Cartesian Coordinate System
++++++++++++++++++++++++++++++++++
We define the global cartesian coordinate system, also known as floor
coordinate system with latexmath:[$K$], a point in this coordinate
system is denoted by latexmath:[$(X, Y, Z) \in K$]. In Figure [KS1] of
coordinate system with latexmath:[K], a point in this coordinate
system is denoted by latexmath:[(X, Y, Z) \in K]. In Figure [KS1] of
the accelerator is uniquely defined by the sequence of physical elements
in latexmath:[$K$]. The beam elements are numbered
latexmath:[$e_0, \ldots , e_i, \ldots e_n$].
in latexmath:[K]. The beam elements are numbered
latexmath:[e_0, \ldots , e_i, \ldots e_n].
image:figures/opalt/coords.png[Illustration of local and global
coordinates.]
......@@ -131,40 +137,46 @@ coordinates.]
Local Cartesian Coordinate System
+++++++++++++++++++++++++++++++++
A local coordinate system latexmath:[$K'_i$] is attached to each element
latexmath:[$e_i$]. This is simply a frame in which latexmath:[$(0,0,0)$]
A local coordinate system latexmath:[K'_i] is attached to each element
latexmath:[e_i]. This is simply a frame in which latexmath:[(0,0,0)]
is at the entrance of each element. For an illustration see
Figure [KS1]. The local reference system
latexmath:[$(x, y, z) \in K'_n$] may thus be referred to a global
Cartesian coordinate system latexmath:[$(X, Y, Z) \in K$].
The local coordinates latexmath:[$(x_i, y_i, z_i)$] at element
latexmath:[$e_i$] with respect to the global coordinates
latexmath:[$(X, Y, Z)$] are defined by three displacements
latexmath:[$(X_i, Y_i, Z_i)$] and three angles
latexmath:[$(\Theta_i, \Phi_i, \Psi_i)$].
latexmath:[$\Psi$] is the roll angle about the global
latexmath:[$Z$]-axis. latexmath:[$\Phi$] is the pitch angle about the
global latexmath:[$Y$]-axis. Lastly, latexmath:[$\Theta$] is the yaw
angle about the global latexmath:[$X$]-axis. All three angles form
latexmath:[(x, y, z) \in K'_n] may thus be referred to a global
Cartesian coordinate system latexmath:[(X, Y, Z) \in K].
The local coordinates latexmath:[(x_i, y_i, z_i)] at element
latexmath:[e_i] with respect to the global coordinates
latexmath:[(X, Y, Z)] are defined by three displacements
latexmath:[(X_i, Y_i, Z_i)] and three angles
latexmath:[(\Theta_i, \Phi_i, \Psi_i)].
latexmath:[\Psi] is the roll angle about the global
latexmath:[Z]-axis. latexmath:[\Phi] is the pitch angle about the
global latexmath:[Y]-axis. Lastly, latexmath:[\Theta] is the yaw
angle about the global latexmath:[X]-axis. All three angles form
right-handed screws with their corresponding axes. The angles
(latexmath:[$\Theta,\Phi,\Psi$]) are the Tait-Bryan angles
(latexmath:[\Theta,\Phi,\Psi]) are the Tait-Bryan angles
[bib:tait-bryan].
The displacement is described by a vector latexmath:[$\mathbf{v}$] and
the orientation by a unitary matrix latexmath:[$\mathcal{W}$]. The
column vectors of latexmath:[$\mathcal{W}$] are unit vectors spanning
the local coordinate axes in the order latexmath:[$(x, y, z)$].
latexmath:[$\mathbf{v}$] and latexmath:[$\mathcal{W}$] have the values:
latexmath:[\[\mathbf{v} =\left(\begin{array}{c}
The displacement is described by a vector latexmath:[\mathbf{v}] and
the orientation by a unitary matrix latexmath:[\mathcal{W}]. The
column vectors of latexmath:[\mathcal{W}] are unit vectors spanning
the local coordinate axes in the order latexmath:[(x, y, z)].
latexmath:[\mathbf{v}] and latexmath:[\mathcal{W}] have the values:
[latexmath]
++++
\mathbf{v} =\left(\begin{array}{c}
X \\
Y \\
Z
\end{array}\right),
\qquad
\mathcal{W}=\mathcal{S}\mathcal{T}\mathcal{U}\]] where
latexmath:[\[\mathcal{S}=\left(\begin{array}{ccc}
\mathcal{W}=\mathcal{S}\mathcal{T}\mathcal{U}
++++
where
[latexmath]
++++
\mathcal{S}=\left(\begin{array}{ccc}
\cos\Theta & 0 & n\Theta \\
0 & 1 & 0 \\
-n\Theta & 0 & \cos\Theta
......@@ -174,34 +186,41 @@ latexmath:[\[\mathcal{S}=\left(\begin{array}{ccc}
1 & 0 & 0 \\
0 & \cos\Phi & n\Phi \\
0 & -n\Phi & \cos\Phi
\end{array}\right),\]]
latexmath:[\[\mathcal{U}=\left(\begin{array}{ccc}
\end{array}\right),
\quad
\mathcal{U}=\left(\begin{array}{ccc}
\cos\Psi & -n\Psi & 0 \\
n\Psi & \cos\Psi & 0 \\
0 & 0 & 1
\end{array}\right).\]]
\end{array}\right).
++++
We take the vector latexmath:[$\mathbf{r}_i$] to be the displacement and
the matrix latexmath:[$\mathcal{S}_i$] to be the rotation of the local
reference system at the exit of the element latexmath:[$i$] with respect
We take the vector latexmath:[\mathbf{r}_i] to be the displacement and
the matrix latexmath:[\mathcal{S}_i] to be the rotation of the local
reference system at the exit of the element latexmath:[i] with respect
to the entrance of that element.
Denoting with latexmath:[$i$] a beam line element, one can compute
latexmath:[$\mathbf{v}_i$] and latexmath:[$\mathcal{W}_i$] by the
recurrence relations latexmath:[\[\label{eq:surv}
Denoting with latexmath:[i] a beam line element, one can compute
latexmath:[\mathbf{v}_i] and latexmath:[\mathcal{W}_i] by the
recurrence relations
[latexmath]
++++
\label{eq:surv}
\mathbf{v}_i = \mathcal{W}_{i-1}\mathbf{r}_i + \mathbf{v}_{i-1}, \qquad
\mathcal{W}_i = \mathcal{W}_{i-1}\mathcal{S}_i,\]] where
latexmath:[$\mathbf{v}_0$] corresponds to the origin of the `LINE` and
latexmath:[$\mathcal{W}_0$] to its orientation. In _OPAL-t_ they can be
\mathcal{W}_i = \mathcal{W}_{i-1}\mathcal{S}_i,
++++
where
latexmath:[\mathbf{v}_0] corresponds to the origin of the `LINE` and
latexmath:[\mathcal{W}_0] to its orientation. In _OPAL-t_ they can be
defined using either `X`, `Y`, `Z`, `THETA`, `PHI` and `PSI` or `ORIGIN`
and `ORIENTATION`, see Section [line:simple].
and `ORIENTATION`, see Section <<line:simple>>.
[[space-charge-coordinate-system]]
Space Charge Coordinate System
++++++++++++++++++++++++++++++
In order to calculate space charge in the electrostatic approximation,
we introduce a co-moving coordinate system latexmath:[$K_{\text{sc}}$],
we introduce a co-moving coordinate system latexmath:[K_{\text{sc}}],
in which the origin coincides with the mean position of the particles
and the mean momentum is parallel to the z-axis.
......@@ -210,15 +229,15 @@ Curvilinear Coordinate System
+++++++++++++++++++++++++++++
In order to compute statistics of the particle ensemble,
latexmath:[$K_s$] is introduced. The accompanying tripod (Dreibein) of
latexmath:[K_s] is introduced. The accompanying tripod (Dreibein) of
the reference orbit spans a local curvilinear right handed system
latexmath:[$(x,y,s)$]. The local latexmath:[$s$]-axis is the tangent to
latexmath:[(x,y,s)]. The local latexmath:[s]-axis is the tangent to
the reference orbit. The two other axes are perpendicular to the
reference orbit and are labelled latexmath:[$x$] (in the bend plane)
and latexmath:[$y$] (perpendicular to the bend plane).
reference orbit and are labelled latexmath:[x] (in the bend plane)
and latexmath:[y] (perpendicular to the bend plane).
image:figures/opalt/curvcoords.png[Illustration of
latexmath:[$K_\text{sc}$] and latexmath:[$K_s$]]
latexmath:[K_\text{sc}] and latexmath:[K_s]]
Both coordinate systems are described in Figure [KS2].
......@@ -268,9 +287,9 @@ structure speeds up the search for elements that influence the particles
at a given position in 3D space by minimizing the looping over elements
when integrating an ensemble of particles. For each time step,
`IndexMap` returns a set of elements
latexmath:[$\mathcal{S}_{\text{e}} \subset {e_0 \ldots e_n}$] in case of
latexmath:[\mathcal{S}_{\text{e}} \subset {e_0 \ldots e_n}] in case of
the example given in Figure [KS1]. An implicit drift is modelled as an
empty set latexmath:[$\emptyset$].
empty set latexmath:[\emptyset].
[[flow-diagram-of-opal-t]]
Flow Diagram of _OPAL-t_
......@@ -281,11 +300,11 @@ method.]
A regular time step in _OPAL-t_ is sketched in
Figure [OPALTSchemeSimple]. In order to compute the coordinate system
transformation from the reference coordinate system latexmath:[$K_s$] to
the local coordinate systems latexmath:[$K'_n$] we join the
transformation from floor coordinate system latexmath:[$K$] to
latexmath:[$K'_n$] to the transformation from latexmath:[$K_s$] to
latexmath:[$K$]. All computations of rotations which are involved in the
transformation from the reference coordinate system latexmath:[K_s] to
the local coordinate systems latexmath:[K'_n] we join the
transformation from floor coordinate system latexmath:[K] to
latexmath:[K'_n] to the transformation from latexmath:[K_s] to
latexmath:[K]. All computations of rotations which are involved in the
computation of coordinate system transformations are performed using
quaternions. The resulting quaternions are then converted to the
appropriate matrix representation before applying the rotation operation
......@@ -412,7 +431,7 @@ in floor coordinate system
|41 |dt |ns |Size of time step
|42 |partsOutside |1 |Number of particles outside
latexmath:[$n \times gma$] of beam, where latexmath:[$n$] is controlled
latexmath:[n \times gma] of beam, where latexmath:[n] is controlled
with `BEAMHALOBOUNDARY`
|43 |R0_x |m |X-component of position of particle with ID 0 (only when
......@@ -596,7 +615,7 @@ The information that is written can be found in the following table.
|8 |solenoid |1 |Whether the field of a solenoid is present
|9 |rfcavity |latexmath:[$\pm$]1 |Whether the field of a cavity is
|9 |rfcavity |latexmath:[\pm]1 |Whether the field of a cavity is
present
|10 |monitor |1 |Whether a monitor is present
......@@ -661,83 +680,189 @@ Most accelerator modeling codes use the hard-edge model for magnets -
constant Hamiltonian. Real magnets always have a smooth transition at
the edges - fringe fields. To obtain a multipole description of a field
we can apply the theory of analytic functions.
latexmath:[\[\begin{aligned}
[latexmath]
++++
\begin{aligned}
\nabla \cdot \mathbf{B} & = 0 \Rightarrow \exists \quad \mathbf{A} \quad \text{with} \quad \mathbf{B} = \nabla \times \mathbf{A} \\
\nabla \times \mathbf{B} & = 0 \Rightarrow \exists \quad V \quad \text{with} \quad \mathbf{B} = - \nabla V
\end{aligned}\]] Assuming that latexmath:[$A$] has only a non-zero
component latexmath:[$A_s$] we get latexmath:[\[\begin{aligned}
\end{aligned}
++++
Assuming that latexmath:[A] has only a non-zero
component latexmath:[A_s] we get
[latexmath]
++++
\begin{aligned}
B_x & = - \frac{\partial V}{\partial x} = \frac{\partial A_s}{\partial y} \\
B_y & = - \frac{\partial V}{\partial y} = - \frac{\partial A_s}{\partial x}
\end{aligned}\]] These equations are just the Cauchy-Riemann
\end{aligned}
++++
These equations are just the Cauchy-Riemann
conditions for an analytic function
latexmath:[$\tilde{A} (z) = A_s (x, y) + i V(x,y)$]. So the complex
latexmath:[\tilde{A} (z) = A_s (x, y) + i V(x,y)]. So the complex
potential is an analytic function and can be expanded as a power series
latexmath:[\[\tilde{A} (z) = \sum_{n=0}^{\infty} \kappa_n z^n, \quad \kappa_n = \lambda_n + i \mu_n\]]
with latexmath:[$\lambda_n, \mu_n$] being real constants. It is
[latexmath]
++++
\tilde{A} (z) = \sum_{n=0}^{\infty} \kappa_n z^n, \quad \kappa_n = \lambda_n + i \mu_n\]]
++++
with latexmath:[\lambda_n, \mu_n] being real constants. It is
practical to express the field in cylindrical coordinates
latexmath:[$(r, \varphi, s)$] latexmath:[\[\begin{aligned}
latexmath:[(r, \varphi, s)]
[latexmath]
++++
\begin{aligned}
x & = r \cos \varphi \quad y = r n \varphi \\
z^n & = r^n ( \cos n \varphi + i n n \varphi )
\end{aligned}\]] From the real and imaginary parts of equation () we
obtain latexmath:[\[\begin{aligned}
\end{aligned}
++++
From the real and imaginary parts of equation () we obtain
[latexmath]
++++
\begin{aligned}
V(r, \varphi) & = \sum_{n=0}^{\infty} r^n ( \mu_n \cos n \varphi + \lambda_n n n \varphi ) \\
A_s (r, \varphi) & = \sum_{n=0}^{\infty} r^n ( \lambda_n \cos n \varphi - \mu_n n n \varphi )
\end{aligned}\]] Taking the gradient of latexmath:[$-V(r, \varphi)$]
\end{aligned}
++++
Taking the gradient of latexmath:[-V(r, \varphi)]
we obtain the multipole expansion of the azimuthal and radial field
components, respectively latexmath:[\[\begin{aligned}
components, respectively
[latexmath]
++++
\begin{aligned}
B_{\varphi} & = - \frac{1}{r} \frac{\partial V}{\partial \varphi} = - \sum_{n=0}^{\infty} n r^{n-1} ( \lambda_n \cos n \varphi - \mu_n n n \varphi ) \\
B_r & = - \frac{\partial V}{\partial r} = - \sum_{n=0}^{\infty} n r^{n-1} ( \mu_n \cos n \varphi + \lambda_n n n \varphi )
\end{aligned}\]] Furthermore, we introduce the normal multipole
coefficient latexmath:[$b_n$] and skew coefficient latexmath:[$a_n$]
defined with the reference radius latexmath:[$r_0$] and the magnitude of
the field at this radius latexmath:[$B_0$] (these coefficients can be a
\end{aligned}
++++
Furthermore, we introduce the normal multipole
coefficient latexmath:[b_n] and skew coefficient latexmath:[a_n]
defined with the reference radius latexmath:[r_0] and the magnitude of
the field at this radius latexmath:[B_0] (these coefficients can be a
function of s in a more general case as it is presented further on).
latexmath:[\[b_n = - \frac{n \lambda_n}{B_0} r_0^{n-1} \qquad a_n = \frac{n \mu_n}{B_0} r_0^{n-1}\]]
latexmath:[\[\begin{aligned}
[latexmath]
++++
b_n = - \frac{n \lambda_n}{B_0} r_0^{n-1} \qquad a_n = \frac{n \mu_n}{B_0} r_0^{n-1}
++++
[latexmath]
++++
\begin{aligned}
B_{\varphi}(r, \varphi) & = B_0 \sum_{n=1}^{\infty} ( b_n \cos n \varphi+ a_n n n \varphi ) \left( \frac{r}{r_0} \right) ^{n-1} \\
B_r (r, \varphi) & = B_0 \sum_{n=1}^{\infty} ( -a_n \cos n \varphi+ b_n n n \varphi ) \left( \frac{r}{r_0} \right) ^{n-1}
\end{aligned}\]] To obtain a model for the fringe field of a
\end{aligned}
++++
To obtain a model for the fringe field of a
straight multipole, a proposed starting solution for a non-skew magnetic
field is latexmath:[\[\begin{aligned}
field is
[latexmath]
++++
\begin{aligned}
V & = \sum_{n=1}^{\infty} V_n (r,z) n n \varphi \\
V_n & = \sum_{k=0}^{\infty} C_{n,k}(z) r^{n+2k}
\end{aligned}\]] It is straightforward to derive a relation between
\end{aligned}
++++
It is straightforward to derive a relation between
coefficients
latexmath:[\[\nabla ^2 V = 0 \Rightarrow \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial V_n}{\partial r} \right) + \frac{\partial^2 V_n}{\partial z^2} = \frac{n^2 V_n}{r^2} = 0\]]
latexmath:[\[V_n = \sum_{k=0}^{\infty} C_{n,k}(z) r^{n+2k}\]]
latexmath:[\[\Rightarrow \sum_{k=0}^{\infty} \left[ r^{n+2(k-1)} \left[ (n+2k)^2 - n^2 \right] C_{n,k}(z) + r^{n+2k} \frac{\partial^2 C_{n,k}(z)}{\partial z^2} \right] = 0\]]
By identifying the term in front of the same powers of latexmath:[$r$]
[latexmath]
++++
\nabla ^2 V = 0 \Rightarrow \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial V_n}{\partial r} \right) + \frac{\partial^2 V_n}{\partial z^2} = \frac{n^2 V_n}{r^2} = 0
++++
[latexmath]
++++
\[V_n = \sum_{k=0}^{\infty} C_{n,k}(z) r^{n+2k}
++++
[latexmath]
++++
\Rightarrow \sum_{k=0}^{\infty} \left[ r^{n+2(k-1)} \left[ (n+2k)^2 - n^2 \right] C_{n,k}(z) + r^{n+2k} \frac{\partial^2 C_{n,k}(z)}{\partial z^2} \right] = 0
++++
By identifying the term in front of the same powers of latexmath:[r]
we obtain the recurrence relation
latexmath:[\[C_{n,k}(z) = - \frac{1}{4k(n+k)} \frac{d^2 C_{n,k-1}} {dz^2}, k = 1,2, \dots\]]
[latexmath]
++++
C_{n,k}(z) = - \frac{1}{4k(n+k)} \frac{d^2 C_{n,k-1}} {dz^2}, k = 1,2, \dots
++++
The solution of the recursion relation becomes
latexmath:[\[C_{n,k} (z) = (-1)^k \frac{n!}{2^{2k} k! (n+k)!} \frac{d^{2k} C_{n,0}(z)}{dz^{2k}}\]]
[latexmath]
++++
C_{n,k} (z) = (-1)^k \frac{n!}{2^{2k} k! (n+k)!} \frac{d^{2k} C_{n,0}(z)}{dz^{2k}}
++++
Therefore
latexmath:[\[V_n = - \left( \sum_{k=0}^{\infty} (-1)^{k+1} \frac{n!}{2^{2k} k! (n+k)!} C_{n, 0}^{(2k)}(z) r^{2k} \right) r^n\]]
The transverse components of the field are latexmath:[\[\begin{aligned}
[latexmath]
++++
V_n = - \left( \sum_{k=0}^{\infty} (-1)^{k+1} \frac{n!}{2^{2k} k! (n+k)!} C_{n, 0}^{(2k)}(z) r^{2k} \right) r^n
The transverse components of the field are
[latexmath]
++++
\begin{aligned}
B_r & = \sum_{n=1}^{\infty} g_{rn} r^{n-1} n n \varphi \\
B_{\varphi} & = \sum_{n=1}^{\infty} g_{\varphi n} r^{n-1} \cos n \varphi
\end{aligned}\]] where the following gradients determine the entire
potential and can be deduced from the function latexmath:[$C_{n,0}(z)$]
once the harmonic latexmath:[$n$] is fixed. latexmath:[\[\begin{aligned}
\end{aligned}
++++
where the following gradients determine the entire
potential and can be deduced from the function latexmath:[C_{n,0}(z)]
once the harmonic latexmath:[n] is fixed.
[latexmath]
++++
\begin{aligned}
g_{rn} (r,z) & = \sum_{k=0}^{\infty} (-1)^{k+1} \frac{n! (n+2k)}{2^{2k} k! (n+k)!} C_{n,0}^{(2k)}(z)r^{2k} \\
g_{ \varphi n} (r,z) & = \sum_{k=0}^{\infty} (-1)^{k+1} \frac{n!n}{2^{2k} k! (n+k)!} C_{n,0}^{(2k)}(z)r^{2k}
\end{aligned}\]] The z-directed component of the filed can be
expressed in a similar form latexmath:[\[\begin{aligned}
\end{aligned}
++++
The z-directed component of the filed can be
expressed in a similar form
[latexmath]
++++
\begin{aligned}
B_z & = - \frac{\partial V}{\partial z} = \sum_{n=1}^{\infty} g_{zn} r^n n n \varphi \\
g_{zn} & = \sum_{k=0}^{\infty} (-1)^{k+1} \frac{n!}{2^{2k} k! (n+k)!} C_{n,0}^{2k+1} r^{2k}
\end{aligned}\]] The gradient functions
latexmath:[$g_{rn}, g_{\varphi n}, g_{zn}$] are obtained from
latexmath:[\[\begin{aligned}
\end{aligned}
++++
The gradient functions
latexmath:[g_{rn}, g_{\varphi n}, g_{zn}] are obtained from
[latexmath]
++++
\begin{aligned}
B_{r,n} & = - \frac{\partial V_n}{\partial r} n n \varphi = g_{rn} r^{n-1} n n \varphi \\
B_{\varphi,n} & = - \frac{n}{r} V_n \cos n \varphi = g_{\varphi n} r^{n-1} \cos n \varphi \\
B_{z,n} & = - \frac{\partial V_n}{\partial z} n n \varphi = g_{zn} r^{n} n n \varphi
\end{aligned}\]] One preferred model to approximate the gradient
\end{aligned}
++++
One preferred model to approximate the gradient
profile on the central axis is the k-parameter Enge function
latexmath:[\[\begin{aligned}
[latexmath]
++++
\begin{aligned}
C_{n,0}(z) & = \frac{G_0}{1+exp[P(d(z))]}, \quad G_0 = \frac{B_0}{r_0^{n-1}} \\
P(d) & = C_0 + C_1 \left( \frac{d}{\lambda} \right) + C_2 \left( \frac{d}{\lambda} \right)^2 + \dots + C_{k-1} \left( \frac{d}{\lambda} \right)^{k-1}
\end{aligned}\]] where latexmath:[$d(z)$] is the distance to the
field boundary and latexmath:[$\lambda$] characterizes the fringe field
\end{aligned}
where latexmath:[d(z)] is the distance to the
field boundary and latexmath:[\lambda] characterizes the fringe field
length.
[[fringe-field-of-a-curved-multipole]]
......@@ -747,9 +872,9 @@ Fringe field of a curved multipole
_(fixed radius)_
We consider the Frenet-Serret coordinate system
latexmath:[$ ( \hat{\mathbf{x}}, \hat{\mathbf{s}}, \hat{\mathbf{z}} )$]
with the radius of curvature latexmath:[$ \rho $] constant and the scale
factor latexmath:[$ h_s = 1 + x/ \rho$]. A conversion to these
latexmath:[ ( \hat{\mathbf{x}}, \hat{\mathbf{s}}, \hat{\mathbf{z}} )]
with the radius of curvature latexmath:[ \rho ] constant and the scale
factor latexmath:[ h_s = 1 + x/ \rho]. A conversion to these
coordinates implies that latexmath:[\[\begin{aligned}
\nabla \cdot \mathbf{B} & = \frac{1}{h_s} \left[ \frac{\partial (h_s B_x )}{\partial x} + \frac{\partial B_s}{\partial s} + \frac{\partial (h_s B_z )}{\partial z} \right] \\
\nabla \times \mathbf{B} & = \frac{1}{h_s} \left[ \frac{\partial B_z}{\partial s} - \frac{\partial (h_s B_s )}{\partial z} \right] \hat{\mathbf{x}} + \left[ \frac{\partial B_x}{\partial z} - \frac{\partial B_z}{\partial x} \right] \hat{\mathbf{s}} + \frac{1}{h_s} \left[ \frac{\partial (h_s B_s)}{\partial x} - \frac{\partial B_x}{\partial s} \right] \hat{\mathbf{z}} \nonumber
......@@ -761,8 +886,8 @@ The most general form of the expansion is latexmath:[\[\begin{aligned}
B_x & = z \sum_{i,k=0}^{\infty} a_{i,k} x^i z^{2k} \label{eq:02}\\
B_s & = z \sum_{i,k=0}^{\infty} c_{i,k} x^i z^{2k} \label{eq:03}
\end{aligned}\]] Maxwell’s equations
latexmath:[$ \nabla \cdot \mathbf{B} = 0 $] and
latexmath:[$ \nabla \times \mathbf{B} = 0 $] in the above coordinates
latexmath:[ \nabla \cdot \mathbf{B} = 0 ] and
latexmath:[ \nabla \times \mathbf{B} = 0 ] in the above coordinates
yield
latexmath:[\[\frac{\partial}{\partial x} \left( (1+x/ \rho) B_x \right) + \frac{\partial B_s}{\partial s} + (1+x/ \rho) \frac{\partial B_z}{\partial z} = 0 \label{eq:21}\]]
latexmath:[\[\begin{aligned}
......@@ -773,13 +898,13 @@ latexmath:[\[\begin{aligned}
([eq:03]) into Maxwell’s equations allows for the derivation of
recursion relations. ([eq:23]) gives
latexmath:[\[\sum_{i,k=0}^{\infty} a_{i,k} (2k+1) x^i z^{2k} = \sum_{i,k=0}^{\infty} b_{i,k} i x^{i-1} z^{2k}\]]
Equating the powers in latexmath:[$x^i z^{2k}$]
Equating the powers in latexmath:[x^i z^{2k}]
latexmath:[\[a_{i,k} = \frac{i+1}{2k+1} b_{i+1,k} \label{eq:11}\]] A
similar result is obtained from ([eq:24]) latexmath:[\[\begin{aligned}
\sum_{i,k=0}^{\infty} \partial_s b_{i,k} x^i z^{2k} & = \left( 1+ \frac{x}{\rho} \right) \sum_{i,k=0}^{\infty} c_{i,k} (2k+1) x^i z^{2k} \\
\Rightarrow c_{i,k} & + \frac{1}{\rho} c_{i-1,k} = \frac{1}{2k+1} \partial_s b_{i,k} \label{eq:12}
\end{aligned}\]] The last equation from
latexmath:[$\nabla \times \mathbf{B} = 0$] should be consistent with the
latexmath:[\nabla \times \mathbf{B} = 0] should be consistent with the
two recursion relations obtained. ([eq:22]) implies
latexmath:[\[\sum_{i,k=0}^{\infty} \left[ \frac{i+1}{\rho} c_{i,k} x^i + c_{i,k} i x^{i-1} \right] z^{k+1} = \sum_{i,k=0}^{\infty} \partial_s a_{i,k} x^i z^{2k}\]]
latexmath:[\[\Rightarrow \frac{\partial_s a_{i,k}}{i+1} = \frac{1}{\rho} c_{i,k} + c_{i+1,k}\]]
......@@ -788,16 +913,16 @@ the relations are consistent. Furthermore, the last required relations
is obtained from the divergence of *B*
latexmath:[\[\sum_{i,k=0}^{\infty} \left[ \frac{a_{i,k} x^i z^{2k+1}}{\rho} + i a_{i,k} x^{i-1} z^{2k+1} + \frac{i a_{i,k} x^i z^{2k+1}}{\rho} + \partial_s c_{i,k} x^i z^{2k+1} + 2kb_{i,k}x^i z^{2k-1} \right] = 0 \nonumber\]]
latexmath:[\[\Rightarrow \partial_s c_{i,k} + \frac{2(k+1)}{\rho} b_{i-1,k+1} + 2(k+1) b_{i,k+1} + \frac{1}{\rho} a_{i,k} + (i+1) a_{i+1,k} + \frac{1}{\rho} a_{i,k} = 0 \nonumber\]]
Using the relation ([eq:11]) to replace the latexmath:[$a$] coefficients
with latexmath:[$b$]’s we arrive at
Using the relation ([eq:11]) to replace the latexmath:[a] coefficients
with latexmath:[b]’s we arrive at
latexmath:[\[\partial_s c_{i,k} + \frac{(i+1)^2}{\rho (2k+1)} b_{i+1,k} + \frac{(i+1)(i+2)}{2k+1} b_{i+2,k} + \frac{2(k+1)}{\rho} b_{i-1,k+1} + 2(k+1) b_{i,k+1} = 0\]]
All the coefficients above can be determined recursively provided the
field latexmath:[$B_z$] can be measured at the mid-plane in the form
field latexmath:[B_z] can be measured at the mid-plane in the form
latexmath:[\[B_z(z=0) = B_{0,0} + B_{1,0}x + B_{2,0} x^2 + B_{3,0} x^3 + \dots\]]
where latexmath:[$B_{i,0}$] are functions of latexmath:[$s$] and they
can model the fringe field for each multipole term latexmath:[$x^n$]. As
an example, for a dipole magnet, the latexmath:[$B_{1,0}$] function can
be model as an Enge function or latexmath:[$tanh$].
where latexmath:[B_{i,0}] are functions of latexmath:[s] and they
can model the fringe field for each multipole term latexmath:[x^n]. As
an example, for a dipole magnet, the latexmath:[B_{1,0}] function can
be model as an Enge function or latexmath:[tanh].
[[fringe-field-of-a-curved-multipole-1]]
Fringe field of a curved multipole
......@@ -806,12 +931,12 @@ Fringe field of a curved multipole
_(variable radius of curvature)_
The difference between this case and the above is that
latexmath:[$\rho$] is now a function of latexmath:[$s$],
latexmath:[$\rho(s)$]. We can obtain the same result starting with the
latexmath:[\rho] is now a function of latexmath:[s],
latexmath:[\rho(s)]. We can obtain the same result starting with the
same functional forms for the field ([eq:01]), ([eq:02]), ([eq:03]). The
result of the previous section also holds in this case since no
derivative latexmath:[$\frac{\partial}{\partial s}$] is applied to the
scale factor latexmath:[$h_s$]. If the radius of curvature is set to be
derivative latexmath:[\frac{\partial}{\partial s}] is applied to the
scale factor latexmath:[h_s]. If the radius of curvature is set to be
proportional to the dipole filed observed by some reference particle
that stays in the centre of the dipole
latexmath:[\[\rho (s) \propto B(z=0, x=0, s) = B_x (z=0,x=0) = b_{0,0}(s)\]]
......@@ -824,29 +949,29 @@ _This is a different, more compact treatment_ The derivation is more
clear if we gather the variables together in functions. We assume again
mid-plane symmetry and that the z-component of the field in the
mid-plane has the form latexmath:[\[B_z (x, z=0, s) = T(x) S(s)\]] where
latexmath:[$T(s)$] is the transverse field profile and
latexmath:[$S(s)$] is the fringe field. One of the requirements of the
symmetry is that latexmath:[$B_z(z) = B_z(-z)$] which using a scalar
potential latexmath:[$\psi$] requires
latexmath:[$\frac{\partial \psi}{\partial z}$] to be an even function in
z. Therefore, latexmath:[$\psi$] is an odd function in z and can be
latexmath:[T(s)] is the transverse field profile and
latexmath:[S(s)] is the fringe field. One of the requirements of the
symmetry is that latexmath:[B_z(z) = B_z(-z)] which using a scalar
potential latexmath:[\psi] requires
latexmath:[\frac{\partial \psi}{\partial z}] to be an even function in
z. Therefore, latexmath:[\psi] is an odd function in z and can be
written as
latexmath:[\[\psi = z f_0(x,s) + \frac{z^3}{3!} f_1(x,s) + \frac{z^5}{5!} f_3(x,s) + \dots\]]
The given transverse profile requires that
latexmath:[$f_0(x,s) = T(x)S(s)$], while latexmath:[$\nabla^2 \psi = 0$]
latexmath:[f_0(x,s) = T(x)S(s)], while latexmath:[\nabla^2 \psi = 0]
follows from Maxwell’s equations as usual, more explicitly
latexmath:[\[\frac{\partial}{\partial x} \left( h_s \frac{\partial \psi}{\partial x} \right) + \frac{\partial}{\partial s} \left( \frac{1}{h_s} \frac{\partial \psi}{\partial s} \right) + \frac{\partial}{\partial z} \left( h_s \frac{\partial \psi}{\partial z} \right) = 0\]]
For a straight multipole latexmath:[$h_s = 1$]. Laplace’s equation
For a straight multipole latexmath:[h_s = 1]. Laplace’s equation
becomes
latexmath:[\[\sum_{n=0} \frac{z^{2n+1}}{(2n+1)!} \left[ \partial_x^2 f_n(x,s) + \partial_s^2 f_n(x,s) \right] + \sum_{n=1} f_n(x,s) \frac{z^{n-1}}{(n-1)!} = 0\]]
By equating powers of latexmath:[$z$] we obtain the recursion relation
By equating powers of latexmath:[z] we obtain the recursion relation
latexmath:[\[f_{n+1}(x,s) = - \left( \partial_x^2 + \partial_s^2 \right) f_n(x,s)\]]
The general expression for any latexmath:[$f_n(x,s)$] is then obtained
The general expression for any latexmath:[f_n(x,s)] is then obtained
from the mid-plane field by latexmath:[\[\begin{aligned}
f_n(x,s) & = (-1)^n \left( \partial_x^2 + \partial_s^2 \right)^n f_0(x,s) \\
f_n(x,s) & = (-1)^n \sum_{i=0}^n \binom{n}{i}T^{(2i)}(x) S^{(2n-2i)}(s)
\end{aligned}\]] For a curved multipole of constant radius
latexmath:[$h_s = 1 + \frac{x}{\rho} \quad \text{with} \quad \rho = const.$]
latexmath:[h_s = 1 + \frac{x}{\rho} \quad \text{with} \quad \rho = const.]
The corresponding Laplace’s equation is
latexmath:[\[\left( \frac{1}{\rho h_s} \partial_x + \partial_x^2 + \partial_z^2 + \frac{\partial_s^2}{h_s^2} \right) \psi = 0\]]
Again we substitute with the functional form of the potential to get the
......@@ -854,7 +979,7 @@ recursion latexmath:[\[\begin{aligned}
f_{n+1}(x,s) & = - \left[ \frac{1}{\rho + x} \partial_x + \partial_x^2 + \frac{\partial_s^2}{(1+x/ \rho)^2} \right] f_n(x,s) \\
f_{n+1}(x,s) & = (-1)^n \left[ \frac{1}{\rho + x} \partial_x + \partial_x^2 + \frac{\partial_s^2}{(1+x/ \rho)^2} \right]^n f_0(x,s)
\end{aligned}\]] Finally consider what changes for
latexmath:[$\rho = \rho (s)$]. Laplace’s equation is
latexmath:[\rho = \rho (s)]. Laplace’s equation is
latexmath:[\[\left[ \frac{1}{\rho h_s} \partial_x + \partial_x^2 + \partial_z^2 + \frac{\partial_s^2}{h_s^2} + \frac{x}{\rho^2 h_s^3} (\partial_s \rho) \partial_s \right] \psi = 0\]]
The last step is again the substitution to get
latexmath:[\[\begin{aligned}
......@@ -862,6 +987,6 @@ latexmath:[\[\begin{aligned}
f_{n}(x,s) & = (-1)^n \left[ \frac{\partial_x}{\rho h_s} + \partial_x^2 + \partial_z^2 + \frac{\partial_s^2}{h_s^2} + \frac{x}{\rho^2 h_s^3} (\partial_s \rho) \partial_s \right]^n f_0(x,s) \label{eq:40}
\end{aligned}\]] If the radius of curvature is proportional to the
dipole field in the centre of the multipole (the dipole component of the
transverse field is a constant latexmath:[$T_{dipole}(x) = B_0$] and
transverse field is a constant latexmath:[T_{dipole}(x) = B_0] and
latexmath:[\[\rho(s) = B_0 \times S(s)\]] This expression can be
replaced in ([eq:40]) to obtain a more explicit equation.
Clone repository
  • autophase
  • beam command
  • benchmarks
  • control
  • conventions
  • distribution
  • elements
  • fieldmaps
  • fieldsolvers
  • format
  • geometry
  • Home
  • introduction
  • lines
  • opal madx
View All Pages