... | ... | @@ -20,43 +20,84 @@ The first one is the wakefield of a round, metallic beam pipe that can |
|
|
be calculated numerically (see Sections [sec:wakefield] - [sec:TAU]).
|
|
|
Since this also limits the applications of wakefields we also provide a
|
|
|
way to import a discretized wakefield from a file The wakefield of a
|
|
|
round, metallic beam pipe with radius latexmath:[$a$] can be calculated
|
|
|
round, metallic beam pipe with radius latexmath:[a] can be calculated
|
|
|
by inverse FFT of the beam pipe impedance. There are known models for
|
|
|
beam pipes with `DC` and `AC` conductivity. The `DC` conductivity of a
|
|
|
metal is given by
|
|
|
latexmath:[\[\sigma_{DC} = \frac{ne^2\tau}{m} \label{eq:dc_cond}\]] with
|
|
|
latexmath:[$n$] the density of conduction electrons with charge
|
|
|
latexmath:[$e$], latexmath:[$\tau$] the relaxation time, and
|
|
|
latexmath:[$m$] the electron mass. The `AC` conductivity, a response to
|
|
|
|
|
|
[[eq:dc_cond]]
|
|
|
[latexmath]
|
|
|
++++
|
|
|
\sigma_{DC} = \frac{ne^2\tau}{m}
|
|
|
++++
|
|
|
|
|
|
with
|
|
|
latexmath:[n] the density of conduction electrons with charge
|
|
|
latexmath:[e], latexmath:[\tau] the relaxation time, and
|
|
|
latexmath:[m] the electron mass. The `AC` conductivity, a response to
|
|
|
applied oscillation fields, is given by
|
|
|
latexmath:[\[\sigma_{AC} = \frac{\sigma_{DC}}{1-i\omega\tau} \label{eq:ac_cond}\]]
|
|
|
with latexmath:[$\omega$] denoting the frequency of the fields.
|
|
|
|
|
|
[[eq:ac_cond]]
|
|
|
[latexmath]
|
|
|
++++
|
|
|
\sigma_{AC} = \frac{\sigma_{DC}}{1-i\omega\tau}
|
|
|
++++
|
|
|
|
|
|
with latexmath:[\omega] denoting the frequency of the fields.
|
|
|
|
|
|
The longitudinal impedance with `DC` conductivity is given by
|
|
|
latexmath:[\[\label{eq:Z[2]}
|
|
|
Z_{Ldc}(k) = \dfrac{1}{ca} \dfrac{2}{\frac{\lambda}{k}-\frac{ika}{2}}\]]
|
|
|
|
|
|
[[eq:Z2]]
|
|
|
[latexmath]
|
|
|
++++
|
|
|
Z_{Ldc}(k) = \dfrac{1}{ca} \dfrac{2}{\frac{\lambda}{k}-\frac{ika}{2}}
|
|
|
++++
|
|
|
|
|
|
where
|
|
|
latexmath:[\[\lambda=\sqrt{\dfrac{2\pi\sigma \vert k\vert}{c}}(i+sign(k))\]]
|
|
|
with latexmath:[$c$] denoting the speed of light and latexmath:[$k$] the
|
|
|
|
|
|
[latexmath]
|
|
|
++++
|
|
|
\lambda=\sqrt{\dfrac{2\pi\sigma \vert k\vert}{c}}(i+sign(k))
|
|
|
++++
|
|
|
|
|
|
with latexmath:[c] denoting the speed of light and latexmath:[k] the
|
|
|
wave number.
|
|
|
|
|
|
The longitudinal wake can be obtained by an inverse Fourier
|
|
|
transformation of the impedance. Since latexmath:[$Re(Z_L(k))$] drops at
|
|
|
high frequencies faster than latexmath:[$Im(Z_L(k))$] the cosine
|
|
|
transformation of the impedance. Since latexmath:[Re(Z_L(k))] drops at
|
|
|
high frequencies faster than latexmath:[Im(Z_L(k))] the cosine
|
|
|
transformation can be used to calculate the wake. The following equation
|
|
|
holds in both, the `DC` and `AC`, case latexmath:[\[\label{eq:Calc_Wl}
|
|
|
W_L(s)=10^{-12} \dfrac{2c}{\pi}Re\left(\int_0^\infty Re(Z_L(k))\cos (ks)dk\right)\]]
|
|
|
with latexmath:[$Z_L(k)$] either representing
|
|
|
latexmath:[$Z_{L_{DC}}(k)$] or latexmath:[$Z_{L_{AC}}(k)$] depending on
|
|
|
holds in both, the `DC` and `AC`, case
|
|
|
|
|
|
[[eq:Calc_Wl]]
|
|
|
[latexmath]
|
|
|
++++
|
|
|
W_L(s)=10^{-12} \dfrac{2c}{\pi}Re\left(\int_0^\infty Re(Z_L(k))\cos (ks)dk\right)
|
|
|
++++
|
|
|
|
|
|
with latexmath:[Z_L(k)] either representing
|
|
|
latexmath:[Z_{L_{DC}}(k)] or latexmath:[Z_{L_{AC}}(k)] depending on
|
|
|
the conductivity. With help of the Panofsky-Wenzel theorem
|
|
|
latexmath:[\[Z_L(k) = \frac{k}{c}Z_T(k).\]] we can deduce the transverse
|
|
|
wakefield from Equation [Calc_Wl]: latexmath:[\[\label{eq:Calc_Wt}
|
|
|
W_T(s)= 10^{-12} \dfrac{2c}{\pi}Re\left(\int_0^\infty Re( \frac{c}{k}Z_L(k))\cos (ks)dk\right).\]]
|
|
|
|
|
|
[latexmath]
|
|
|
++++
|
|
|
Z_L(k) = \frac{k}{c}Z_T(k).
|
|
|
++++
|
|
|
|
|
|
we can deduce the transverse
|
|
|
wakefield from Equation [Calc_Wl]:
|
|
|
|
|
|
[[eq:Calc_Wt]]
|
|
|
[latexmath]
|
|
|
++++
|
|
|
W_T(s)= 10^{-12} \dfrac{2c}{\pi}Re\left(\int_0^\infty Re( \frac{c}{k}Z_L(k))\cos (ks)dk\right).
|
|
|
++++
|
|
|
|
|
|
|
|
|
To calculate the integrals in Equation [Calc_Wl,Calc_Wt] numerically the
|
|
|
Simpson integration schema with equidistant mesh spacing is applied.
|
|
|
This leads to an integration with small latexmath:[$\Delta k$] with a
|
|
|
big latexmath:[$N$] which is computational not optimal with respect to
|
|
|
This leads to an integration with small latexmath:[\Delta k] with a
|
|
|
big latexmath:[N] which is computational not optimal with respect to
|
|
|
efficiency. Since we calculate the wakefield usually just once in the
|
|
|
initialization phase the overall performance will not be affected from
|
|
|
this.
|
... | ... | @@ -114,7 +155,7 @@ label:WAKE, TYPE=string, NBIN=real, FILTERS=string-array; |
|
|
....
|
|
|
|
|
|
.Wakefield command summary
|
|
|
[cols="<,<",options="header",]
|
|
|
[cols="<1,<4",options="header",]
|
|
|
|=======================================================================
|
|
|
|Command |Purpose
|
|
|
|`WAKE` |Specify a wakefield
|
... | ... | @@ -129,17 +170,17 @@ constant |
|
|
|
|
|
|`CONDUCT` |Conductivity [`AC`, `DC`]
|
|
|
|
|
|
|`Z0` |Impedance of the beam pipe in [latexmath:[$\Omega$]]
|
|
|
|`Z0` |Impedance of the beam pipe in [latexmath:[\Omega]]
|
|
|
|
|
|
|`FORM` |The form of the beam pipe [`ROUND`]
|
|
|
|
|
|
|`RADIUS` |The radius of the beam pipe in [m]
|
|
|
|
|
|
|`SIGMA` |Material constant dependent on the beam pipe material in
|
|
|
[latexmath:[$\Omega^{-1} m$]]
|
|
|
[latexmath:[\Omega^{-1} m]]
|
|
|
|
|
|
|`TAU` |Material constant dependent on the beam pipe material in
|
|
|
[latexmath:[$s$]]
|
|
|
[latexmath:[s]]
|
|
|
|
|
|
|`FNAME` |Specify a file that provides a wake function
|
|
|
|
... | ... | @@ -185,8 +226,8 @@ This has no effect on CSR wakefunctions. |
|
|
Define the impedance
|
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
The impedance latexmath:[$Z_0$] of the beam pipe in
|
|
|
[latexmath:[$\Omega$]]. This has no effect on CSR wakefunctions.
|
|
|
The impedance latexmath:[Z_0] of the beam pipe in
|
|
|
[latexmath:[\Omega]]. This has no effect on CSR wakefunctions.
|
|
|
|
|
|
[[sec:FORM]]
|
|
|
Define the form of the beam pipe
|
... | ... | @@ -206,14 +247,14 @@ wakefunctions. |
|
|
Define the sigma of the beam pipe
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
The latexmath:[$\sigma$] of the beam pipe (material constant), see
|
|
|
The latexmath:[\sigma] of the beam pipe (material constant), see
|
|
|
Equation [dc_cond]. This has no effect on CSR wakefunctions.
|
|
|
|
|
|
[[sec:TAU]]
|
|
|
Define the relaxation time (tau) of the beam pipe
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
The latexmath:[$\tau$] defines the relaxation time and is needed to
|
|
|
The latexmath:[\tau] defines the relaxation time and is needed to
|
|
|
calculate the impedance of the beam pipe see Equation [dc_cond]. This
|
|
|
has no effect on CSR wakefunctions.
|
|
|
|
... | ... | @@ -282,11 +323,26 @@ order stencil is used to calculate the derivative. |
|
|
An implementation of the `Savitzky-Golay` filter can be found in the
|
|
|
Numerical Recipes. The `Stencil` filter uses the following two stencil
|
|
|
consecutively to smooth the line density:
|
|
|
latexmath:[\[f_i = \frac{7\cdot f_{i-4} + 24\cdot f_{i-2} + 34\cdot f_{i} + 24\cdot f_{i+2} + 7\cdot f_{i+4}}{96}\]]
|
|
|
|
|
|
[latexmath]
|
|
|
++++
|
|
|
f_i = \frac{7\cdot f_{i-4} + 24\cdot f_{i-2} + 34\cdot f_{i} + 24\cdot f_{i+2} + 7\cdot f_{i+4}}{96}
|
|
|
++++
|
|
|
|
|
|
and
|
|
|
latexmath:[\[f_i = \frac{7\cdot f_{i-2} + 24\cdot f_{i-1} + 34\cdot f_{i} + 24\cdot f_{i+1} + 7\cdot f_{i+2}}{96}.\]]
|
|
|
|
|
|
[latexmath]
|
|
|
++++
|
|
|
f_i = \frac{7\cdot f_{i-2} + 24\cdot f_{i-1} + 34\cdot f_{i} + 24\cdot f_{i+1} + 7\cdot f_{i+2}}{96}.
|
|
|
++++
|
|
|
|
|
|
For the derivative a standard second order stencil is used:
|
|
|
latexmath:[\[f'_i = \frac{f_{i-2} - 8\cdot f_{i-1} + 8\cdot f_{i+1} - f_{i+2}}{h}\]]
|
|
|
|
|
|
[latexmath]
|
|
|
++++
|
|
|
f'_i = \frac{f_{i-2} - 8\cdot f_{i-1} + 8\cdot f_{i+1} - f_{i+2}}{h}
|
|
|
++++
|
|
|
|
|
|
This filter was designed by Ilya Pogorelov for the ImpactT
|
|
|
implementation of the CSR 1D model.
|
|
|
|
... | ... | @@ -300,10 +356,16 @@ they identify coefficients which should be set to zero. |
|
|
absolute value. All coefficients which, compared to this value, are
|
|
|
below a threshold (measure in percents) are set to zero. For the
|
|
|
derivative the coefficients are multiplied with the following function
|
|
|
(this is equivalent to a convolution): latexmath:[\[g_{i} =
|
|
|
(this is equivalent to a convolution):
|
|
|
[latexmath]
|
|
|
++++
|
|
|
g_{i} =
|
|
|
\begin{cases}
|
|
|
i \frac{2\pi \imath}{N\cdot L} & i < N/2 \\
|
|
|
-i \frac{2\pi \imath}{N\cdot L} & i > N/2
|
|
|
\end{cases}\]] where latexmath:[$N$] is the total number of
|
|
|
coefficients/sampling points and latexmath:[$L$] is the length of the
|
|
|
\end{cases}
|
|
|
++++
|
|
|
|
|
|
where latexmath:[N] is the total number of
|
|
|
coefficients/sampling points and latexmath:[L] is the length of the
|
|
|
bunch. |