Skip to content

Particle Phase Space Coordinates

David Sagan edited this page Sep 6, 2017 · 10 revisions

Particle Phase Space Coordinates

Given a particle at some point on its trajectory, there is a reference frame on the reference orbit at some s value such that the particle's position is in the x-y plane with z = 0. The particle's particle's position and momentum P can be described using the coordinates:

(x(s), y(s), Px(s), Py(s), Pz(s), t(s))

For tracking purposes, canonical phase space coordinates are used:

(x, px, y, py, z, pz)   

[Note convention: Upper case P = (unnormalized) momentum. Lower case p = phase space momentum]

where

    px = Px / P0
    py = Py / P0
    pz = (P - P0) / P0
    z  = c * β * (t_ref - t)

where

  • P0 is the reference momentum,
  • β is the velocity of the particle,
  • t_ref(s) is the time the reference particle reaches the point s.

Notes:

  • For a bunch of particles at a given s position, in general the particles will have differing t.
  • If the reference particle has the same β value as a particle, canonical z will be the longitudinal distance the particle is with respect to the reference particle. Positive z indicates that the particle is in front of the reference particle.

###Example###

Example lattice:

beginning[beta_a] = 10.     ! m  a-mode beta function
beginning[beta_b] = 10.     ! m  b-mode beta function
beginning[e_tot] = 10e6     ! eV
parameter[geometry] = open  ! or closed

beam_start[y] = 0.01
beam_start[px] = 0.06
beam_start[pz] = -0.2

b: sbend, L = 0.5, g = 1    ! g = 1 / bending_radius
q: quadrupole, L = 0.6, k1 = 10

lat: line = (b, q)      ! List of lattice elements
use, lat                ! Line used to construct the lattice

Save the lattice to a file "phase_space.bmad" and run Tao:

> tao -lat phase_space.bmad

Tao> change beam_start px 0.04
           Old           New    Old-Design    New-Design         Delta
      0.060000      0.100000      0.000000      0.040000      0.040000    BEAM_START

View Orbits with show lattice

Tao> show lat
      Values at End of Element:
 Index  name      key                       s       l    beta     phi    eta  orbit     beta     phi    eta  orbit    Track_State
                                                            a       a      a  x [mm]       b       b      b  y [mm]
     0  BEGINNING Beginning_Ele         0.000     ---   10.00   0.000   0.00   0.000   10.00   0.000   0.00  10.000   Alive
     1  B         Sbend                 0.500   0.500    7.62   0.069   0.20  28.889    8.51   0.069   0.01   9.201   Alive
     2  Q         Quadrupole            1.100   0.600    3.60   3.153   0.11 -18.477  138.05   0.112  -0.00  36.926   Alive
     3  END       Marker                1.100   0.000    3.60   3.153   0.11 -18.477  138.05   0.112  -0.00  36.926   Alive
 Index  name      key                       s       l    beta     phi    eta  orbit     beta     phi    eta  orbit    Track_State
                                                            a       a      a  x [mm]       b       b      b  y [mm]
      Values at End of Element:

or show element

Tao> show ele 0
 Element #                0
 Element Name: BEGINNING
 Key: Beginning_Ele

... etc...

Orbit:  Positron   State: Alive
         Position[mm] Momentum[mrad]        Spin   |
  X:       0.00000000   100.00000000               | Particle [sec]:      0.00000000E+00  E_tot;  8.0059E+06
  Y:      10.00000000     0.00000000               | Part-Ref [sec]:      0.00000000E+00  PC:     7.9895E+06
  Z:       0.00000000  -200.00000000               | (Ref-Part)*Vel [m]:  0.00000000E+00  Beta:    0.997961

Lcavity & RFcavity Elements

Lcavity and RFcavity elements are RF cavity elements. The difference is that the reference energy at the exit end of an lcavity is shifted from the reference energy at the beginning while rfcavity elements do not affect the reference energy. Example:

beginning[beta_a] = 10.   ! m  a-mode beta function
beginning[beta_b] = 10.   ! m  b-mode beta function
beginning[p0c] = 1e8   ! eV  

parameter[geometry] = open      ! or closed
parameter[particle] = He+ 

q1: quad, l = 0.1, k1 = 0.14
q2: quad, l = 0.1, b1_gradient = parameter[p0c] * q1[k1] / c_light
lc: lcavity, l = 1, voltage = 10e8, rf_frequency = 1e9
rf: rfcavity, l = 1, voltage = 10e8, phi0 = 0.25

lat: line = (q1, q2, lc, q1, q2, rf)
use, lat

Notes:

  • For a lcavity phi0 = 0 corresponds to peak acceleration.
  • For an rfcavity phi0 = 0.25 corresponds to peak acceleration.

Save the lattice to a file "cavity.bmad" and run Tao:

> tao -lat cavity.bmad

Tao> show ele 3
Element #                3
Element Name: LC
Key: Lcavity
... etc...
   51   P0C_START                    =  1.0000000E+08 eV            BETA_START      =  0.026811514
   52   E_TOT_START                  =  3.7297409E+09 eV            DELTA_E         =  1.0000000E+09 eV
   53   P0C                          =  2.9102374E+09 eV            BETA            =  0.615305883
   54   E_TOT                        =  4.7297409E+09 eV            GAMMA           =  1.2685712E+00
... etc...    
Orbit:  He+   State: Alive
         Position[mm] Momentum[mrad]        Spin   |
  X:       0.00000000     0.00000000               | Particle [sec]:      3.42560963E-08  E_tot;  4.7297E+09
  Y:       0.00000000     0.00000000               | Part-Ref [sec]:      0.00000000E+00  PC:     2.9102E+09
  Z:      -0.00000000     0.00000000               | (Ref-Part)*Vel [m]:  0.00000000E+00  Beta:    0.615306


Tao> show ele 6
Element #                6
Element Name: RF
Key: RFcavity
... etc...
   53   P0C                          =  2.9102374E+09 eV            BETA            =  0.615305883
   54   E_TOT                        =  4.7297409E+09 eV            GAMMA           =  1.2685712E+00
... etc...
 Orbit:  He+   State: Alive
         Position[mm] Momentum[mrad]        Spin   |
  X:       0.00000000     0.00000000               | Particle [sec]:      4.01447790E-08  E_tot;  5.7297E+09
  Y:       0.00000000     0.00000000               | Part-Ref [sec]:     -6.16649425E-10  PC:     4.3507E+09
  Z:     140.37425587   494.97867675               | (Ref-Part)*Vel [m]:  1.40374256E-01  Beta:    0.759326

Questions:

  • What are the k1 and b1_gradient values for the first q1 and the second q1? Do you understand this?
  • What are the k1 and b1_gradient values for the first q2 and the second q2?