at.physics.fastring#

Functions relating to fast_ring

Functions

fast_ring(ring[, split_inds])

Generates a "fast ring"

simple_ring(energy, circumference, ...[, ...])

Generates a "simple ring" based on a given dictionary

fast_ring(ring, split_inds=None)[source]#

Generates a “fast ring”

A fast ring consisting in:

  • a RF cavity per distinct frequency,

  • a 6x6 linear transfer map,

  • a detuning and chromaticity element,

  • a quantum diffusion element (for radiation ring).

2 new lattices are returned, one with radiation and one without. These lattices keep the same attributes (energy, particle, circumference, periodicity,…) as the initial one.

It is possible to split the original ring in multiple “fastrings” using the split_inds argument.

Parameters:
Returns:
  • fring (Lattice) – Fast ring without radiation

  • fringrad (Lattice) – Fast ring with radiation

simple_ring(energy, circumference, harmonic_number, Qx, Qy, Vrf, alpha, betax=1.0, betay=1.0, alphax=0.0, alphay=0.0, dispx=0.0, dispxp=0.0, dispy=0.0, dispyp=0.0, Qpx=0.0, Qpy=0.0, A1=0.0, A2=0.0, A3=0.0, emitx=0.0, emity=0.0, espread=0.0, taux=0.0, tauy=0.0, tauz=0.0, U0=0.0, name='', particle='relativistic', TimeLag=0.0)[source]#
Generates a “simple ring” based on a given dictionary

of global parameters

A simple ring consists of:

  • an RF cavity,

  • a 6x6 linear transfer map with no radiation damping,

  • a detuning and chromaticity element,

  • a simple radiation damping element

  • a simplified quantum diffusion element which contains equilibrium emittance

Parameters:
  • energy (float) – [eV]

  • circumference (float) – [m]

  • harmonic_number (float | Sequence[float]) – can be scalar or sequence of scalars. The RF frequency is derived from this and the ring circumference

  • Qx (float) – horizontal tune

  • Qy (float) – vertical tune

  • Vrf (float | Sequence[float]) – RF Voltage set point [V] - can be scalar or sequence of scalars

  • alpha (float) – momentum compaction factor

  • betax (float) – horizontal beta function [m], Default=1

  • betay (float) – vertical beta function [m], Default=1

  • alphax (float) – horizontal alpha function, Default=0

  • alphay (float) – vertical alpha function, Default=0

  • dispx (float) – horizontal dispersion [m], Default=0

  • dispxp (float) – horizontal dispersion prime, Default=0

  • dispy (float) – vertical dispersion [m], Default=0

  • dispyp (float) – vertical dispersion prime, Default=0

  • Qpx (float) – horizontal linear chromaticity, Default=0

  • Qpy (float) – vertical linear chromaticity, Default=0

  • A1 (float) – horizontal amplitude detuning coefficient, Default=0

  • A2 (float) – cross term for amplitude detuning coefficient, Default=0

  • A3 (float) – vertical amplitude detuning coefficient, Default=0

  • emitx (float) – horizontal equilibrium emittance [m.rad], Default=0 ignored if emitx=0

  • emity (float) – vertical equilibrium emittance [m.rad], Default=0 ignored if emity=0

  • espread (float) – equilibrium momentum spread, Default=0 ignored if espread=0

  • taux (float) – horizontal radiation damping time [turns], Default=0 ignored if taux=0

  • tauy (float) – vertical radiation damping time [turns], Default=0 ignored if tauy=0

  • tauz (float) – longitudinal radiation damping time [turns], Default=0 ignored if tauz=0

  • U0 (float) – energy loss [eV] (positive number), Default=0

  • name (str) – Name of the lattice

  • particle (str | Particle) – circulating particle. May be ‘relativistic’, ‘electron’, ‘positron’, ‘proton’ or a Particle object

  • TimeLag (float | Sequence[float]) – Set the timelag of the cavities, Default=0. Can be scalar or sequence of scalars (as with harmonic_number and Vrf).

If the given emitx, emity or espread is 0, then no equlibrium emittance is applied in this plane. If the given tau is 0, then no radiation damping is applied for this plane.

Returns:

ring – Simple ring