mbtrack2.impedance.csr module

Define coherent synchrotron radiation (CSR) wakefields in various models.

class FreeSpaceCSR(time: ndarray[tuple[int, ...], dtype[_ScalarType_co]], frequency: ndarray[tuple[int, ...], dtype[_ScalarType_co]], length: float, radius: float)[source]

Bases: WakeField

Free space steady-state coherent synchrotron radiation Wakefield element, based on [1].

Impedance is computed using Eq. (A10) of [2].

Parameters

timearray of float

Time points where the wake function will be evaluated in [s].

frequencyarray of float

Frequency points where the impedance will be evaluated in [Hz].

lengthfloat

Length of the impedacen to consider in [m].

radiusfloat

Dipole radius of curvature in [m].

References

[1] : Faltens, A. N. D. R. I. S., & Laslett, L. J. (1973). Longitudinal coupling impedance of a stationary electron ring in a cylindrical geometry. part. Accel., 4, 151-157. [2] : Agoh, T., and K. Yokoya. “Calculation of coherent synchrotron radiation using mesh.” Physical Review Special Topics-Accelerators and Beams 7.5 (2004): 054403.

__init__(time: ndarray[tuple[int, ...], dtype[_ScalarType_co]], frequency: ndarray[tuple[int, ...], dtype[_ScalarType_co]], length: float, radius: float)[source]
LongitudinalImpedance(frequency: ndarray[tuple[int, ...], dtype[_ScalarType_co]]) ndarray[tuple[int, ...], dtype[_ScalarType_co]][source]

Compute the free space steady-state CSR impedance. Based on Eq. (A10) of [1].

This formula is valid only if omega << (3 * gamma^3 * c) / (2 * R).

Parameters

frequencyfloat array

Frequency in [Hz].

Returns

Zlcomplex array

Longitudinal impedance in [ohm].

References

[1] : Agoh, T., and K. Yokoya. “Calculation of coherent synchrotron radiation using mesh.” Physical Review Special Topics-Accelerators and Beams 7.5 (2004): 054403.

LongitudinalWakeFunction(time: ndarray[tuple[int, ...], dtype[_ScalarType_co]])[source]
class ParallelPlatesCSR(time: ndarray[tuple[int, ...], dtype[_ScalarType_co]], frequency: ndarray[tuple[int, ...], dtype[_ScalarType_co]], length: float, radius: float, distance: float)[source]

Bases: WakeField

Perfectly conducting parallel plates steady-state coherent synchrotron radiation Wakefield element, based on [1].

Parameters

timearray of float

Time points where the wake function will be evaluated in [s].

frequencyarray of float

Frequency points where the impedance will be evaluated in [Hz].

lengthfloat

Length of the impedacen to consider in [m].

radiusfloat

Dipole radius of curvature in [m].

distancefloat

Vertical distance between the parallel plates in [m].

Attributes

thresholdfloat

Shielding threshold in the parallel plates model in [Hz].

References

[1] : Agoh, T., and K. Yokoya. “Calculation of coherent synchrotron radiation using mesh.” Physical Review Special Topics-Accelerators and Beams 7.5 (2004): 054403.

__init__(time: ndarray[tuple[int, ...], dtype[_ScalarType_co]], frequency: ndarray[tuple[int, ...], dtype[_ScalarType_co]], length: float, radius: float, distance: float)[source]
property threshold: float

Shielding threshold in the parallel plates model in [Hz].

LongitudinalImpedance(frequency: ndarray[tuple[int, ...], dtype[_ScalarType_co]], tol: float = 1e-05) ndarray[tuple[int, ...], dtype[_ScalarType_co]][source]

Compute the CSR impedance using the perfectly conducting parallel plates steady-state model.

Impedance is computed using Eq. (A1) of [1].

Parameters

frequencyfloat array

Frequency in [Hz].

tolfloat, optinal

Desired maximum final error on sum_func.

Returns

Zlcomplex array

Longitudinal impedance in [ohm].

References

[1] : Agoh, T., and K. Yokoya. “Calculation of coherent synchrotron radiation using mesh.” Physical Review Special Topics-Accelerators and Beams 7.5 (2004): 054403.

sum_func(p: int, k: float) complex[source]

Utility function for LongitudinalImpedance.

Parameters

p : int k : float

Returns

sum_value : mpc

LongitudinalWakeFunction(time: ndarray[tuple[int, ...], dtype[_ScalarType_co]])[source]