LHC Collimation Project

Home of the Project for the LHC Collimation System

 
Home Project Team Notes Collimator List Sounds/Movies Meetings
Links Papers Talks (WG) Layout IR3/7 Collimator DB Pictures
MP Tests Sounds 2011 Lossmaps Tracking Code LS1 activities ColUMM
SLAC collimation 2014 Commissioning LS2 activities
 

Tracking Code for Collimation Studies
extended version of SixTrack for collimation
September 2012 update

(Link to old page)


Foreword

Collimation and beam cleaning studies are carried out with the well established SixTrack [1] code, extended for tracking large numbers of halo particles, and to take into account halo interaction with arbitrarily placed collimators.
Particles are transported through the lattice element by element and their phase space coordinates are transformed according to the type of element. When a particle hits a collimator jaw, it is randomly scattered through matter.
The effect of collimator scattering is modeled using COLLTRACK/K2 [2, 3] routines.


The main characteristics of the SixTrack used for collimations studies are:

·          Proton scattering in various collimator materials, including:
  Multiple Coulomb scattering,
   Ionization of the collimator material,
   Elastic proton-proton (pp) scattering, and inelastic diffractive pp scattering (single diffractive scattering),
   Inelastic proton-nucleon scattering,
   Elastic and inelastic proton-nucleus scattering,
   Rutherford scattering.

·         Various types of halo and possibility of including diffusion.

·         Tracking of large particle ensembles (~106 protons) over hundreds of turns.

·         Multiple imperfections on the beam and the  collimator properties (setting errors, tilts, orbit, beta beat, …)


Input parameters are divided in 3 files
:

·         fort.2 (generated by MAD-X), defining the lattice of the machine without magnetic field errors.

·         Collimator database file, containing the details of collimators geometry, material, settings (opening)

·         fort.3 (modified from the one used for SixTrack without collimation), including tracking parameters (number of particles and turns), type of beam, type of halo.



MAD-X is used to generate the LHC lattice, the optics and eventual orbit and focusing errors.

[1] F. Schmidt: ”SixTrack, User’s Reference Manual”, CERN SL/94-56 (AP), 1994 (Update July 2008).
[2] T. Trenkler, J.B. Jeanneret: “K2, A software package evaluating collimation systems in circular colliders (manual)”, CERN SL/94–105 (AP), 1994.
[3] 
G. Robert-Demolaize, R. Assmann, S. Redaelli, F. Schmidt, CERN, Geneva, Switzerland: A new version of SixtTrack with collimation and aperture interface (PAC 2005).
[4] 
R. Assmann, J.B. Jeanneret, D. Kaltchev: “Status of Robustness Studies for the LHC Collimation”, APAC 2001.

BeamLossPattern

·         Implementation of the LHC aperture model with analysis of loss locations for all tracked protons. 


SixTrack for collimation studies tracks particles populating an halo (with typically σ ≥ 6)  throughout the LHC lattice (as defined by the MAD-X output file fc.2)

The halo is represented in the phase diagram Y (offset from beam orbit axes),Y' (angle w.r.t. beam orbit axes) in Figure 1.

One defines the Impact Parameter b (see Figure 2.) as the transverse offset between the jaw surface and the impact point.
b typically equals 1um at the first impact.

Figure 1: Halo particles in the phase diagram.

Figure 2: Impact Parameter
 

These changes implied to modify/add some input files:

              -- the generic SixTrack parameter file fort.3 now has a new block for collimation parameters,

              -- a separate collimator database file is now mandatory if collimation studies are to be done,

this database including the name, length, orientation and material of every single collimator of the ring (1 file per Collimation System Phase though).

Apart from these two, the other required SixTrack files are produced via MAD-X and its conversion module.
 


INPUT PARAMETERS

MAD-X input:




fort.2
fort.34
 (optional)

fort.3

MAD-X can produce ready-to-use input files for SixTrack : it must be run with LHC lattice and optics files V6.500 (or more recent layouts), 'thin lens' approximation, and the addition of collimators.
Try for example to run it with " madx < GenerateSixTrInput.madx ".

For "perfect" machines, the files produced are fc.2 and fc.34 (optional) which must be renamed (for SixTrack) fort.2, and fort.34.

The file fort.3 is built expressly and found in the examples annexed (see also below).

Below are some sample package of input files for preliminary studies of a perfect LHC machine (perfect means that you only require fort.2, fort.3, fort.34 being optional) and for the full collimation system:

injection optics & energy

collisions at top energy with squeezed optics at IP1 & IP5

via the sixtrack command,


Collimator database

 


The collimator database is stored in files named CollDB_V6.500_[type]_st.[beam].data, with [type] being either inj for injection case or lowb for collision case, and [beam] being b1 or b2.
These files
contain mechanical and optical data related to the collimators planned for LHC. (Note that at present only Phase I collimators have a length different from zero)

A sample block of either one of these input files follows:

TCP.D6L7.B1                   <-- collimator name in capital letters
tcp.d6l7.b1   
                   <-- collimator name in minimal letters
5.7
                                 <-- collimator nominal opening (in sigma units)
C
                                   <-- collimator material (C = graphite, CU = copper, W=tungsten)
    0.2000000000000000         
<-- collimator length [m]
    1.5710000000000000         
<-- collimator angle [rad]
    0.0000000000000000         
<-- collimator offset [m]
  90.4467000000000070         
<-- design Beta x [m]
156.4360000000000070         
<-- design Beta y [m] 
#                                              
<-- line jump to next block  

The introduction of the optic parameter β allows studies of error scenarios (orbit distortion, beta-beating) and/or to see the effect of misaligned collimators.

This structure is then repeated within the file for each of the collimators to be included in the study.


Source code of SixTrack

 


The "repository" 
for MAD-X and SixTrack is in /afs/cern.ch/eng/sl/lhc-collimation/code/  
The SixTrack version in the repository was last updated in 2006


The latest version of the SixTrack code (compiled by Thomas Weiler) for Collimation Studies can be found at : SixTrack(TW) [note].

Source code: SixTrack source code can be found in the SixTrack code web-page (restricted access).

An example of input files: fort.2, fort.3, CollDB_V6.500_lowb_st.b1.data
with corresponding output files: amplitude.dat, betafunctions.dat, efficiency.dat, FirstImpacts.dat, FlukaImpacts.dat.

[note] It should be noted that to date (Feb. '09)  latest modifications to SixTrack code have not been implemented into the CVS version.



New block in the fort.3 file

 

 

In order to keep SixTrack as close as possible to its original form (i.e. to avoid the need of multiples input files), it has been decided to include a new block in the parameter file for SixTrack (fort.3).

Here is a sample of what this block looks like:

          COLLIMATION----------------------------------------------------------------
  (1)    .TRUE.
  (2)    50   7000000
  (3)    3  5 .958  .0015  0.  0.  "nothing"  1. 129E-4  75.5
  (4)    .TRUE.  15.  18.  18.  20.  6.  7.  7.  10.0 1 0.0  999.0  8.0   7.5   999.0
  (5)    8.3  8.3  8.3  8.3  8.3  8.3  8.3  8.3  5. 15.
  (6)     0 19789.0  20150.0  1  1
  (7)    -1.3899e-6  -9.345e-5  5.05324e-3  -1.6595e-2  2.15955e-2  -9.96261e-3  1.0
  (8)    -1.3899e-6  -9.345e-5  5.05324e-3  -1.6595e-2  2.15955e-2  -9.96261e-3  1.0
  (9)     0.503E-09  0.503E-09
 (10)   .FALSE. .FALSE. 0 .TRUE. TCP.C6L7.B1 .FALSE. .TRUE. .TRUE. .TRUE. 
 (11)   0.  0.  0.  0.
 (12)   0   0   0   0   0   0   0   0   0   0   .FALSE.
 (13)   .FALSE.  6.003  0.0015
 (14)   0.  0.  .FALSE. .FALSE.
 (15)   0   0.0025  0.0   0.0   0
 (16)   "CollDB_V6.500_lowb_st.b1.data"  1
 (17)   .TRUE. .FALSE. WAbsVertLowbcoll  101  1  1.
           NEXT-----------------------------------------------------------------------------

Description of the parameters:

(1)   DO_COLL : logical, switches on/off the collimation studies

(2)   NLOOP : number of packs of 64 particles to be tracked (breaks internal limitation)
       MYENOM : energy of the beam to be tracked

(3)   Defines initial distribution to be tracked
       
DO_THISDIS: integer, selects the type of distribution of the particles to be tracked (see DO_THISDIS)
        MYNEX : Ax normalized amplitude of particles (in sigma units) in the X direction.
        MDEX : dAx smear (in sigma units) of the beam halo around Ax (in X direction).
        MYNEY : Ay normalized amplitude of particles (in sigma units) in the Y direction.
        MDEY : dAy smear (in sigma units) of the beam halo around Ay (in Y direction).
        FILENAME_DIS: name of the distribution file to be read if DO_THISDIS is set to 4.
        ENERROR: energy spread of the tracked beam (read only if DO_THISDIS = 3).
        BUNCHLENGTH: bunch length of the tracked beam in millimeters (read only if DO_THISDIS = 3).

(4)  DO_NSIG: logical, if TRUE use collimators settings from fort.3. If FALSE from CollDB_V6.500_[type]_st.[beam].data.
       nsig_tcp3: opening of the primary collimator in IR3 (in sigma units)
       nsig_tcsg3: opening of the secondary graphite collimator in IR3 (in sigma units)
       nsig_tcsm3: opening of the secondary metallic collimator in IR3 (in sigma units)
       nsig_tcla3: opening of the active absorbers in IR3 (in sigma units)
       nsig_tcp7: opening of the primary collimators in IR7 (in sigma units)
       nsig_tcsg7: opening of the secondary graphite collimator in IR7 (in sigma units)
       nsig_tcsm7: opening of the secondary metallic collimator in IR7 (in sigma units)
       nsig_tcla7: opening of the active absorbers collimator in IR7 (in sigma units)
       nsig_tclp: opening of the physics debris collimator (in sigma units)
       nsig_tcli: opening of the absorbers for injection protection (in sigma units)
       NSIG_TCDQ: opening of the beam dump protection collimator (in sigma units) [note1]
       NSIG_TCSTCDQ: opening of secondary collimator dedicated to beam dump (in sigma units)
       NSIG_TDI: opening of the injection protection collimator (in sigma units)

(5)  nsig_tCTH1: opening of the horizontal tertiary collimator in IR1 (in sigma units)
       nsig_tCTH2: opening of the horizontal tertiary collimator in IR2 (in sigma units)
       nsig_tCTH5: opening of the horizontal tertiary collimator in IR5 (in sigma units)
       nsig_tCTH8: opening of the horizontal tertiary collimator in IR8 (in sigma units)
       nsig_tCTV1: opening of the vertical tertiary collimator in IR1 (in sigma units)
       nsig_tCTV2: opening of the vertical tertiary collimator in IR2 (in sigma units)
       nsig_tCTV5: opening of the vertical tertiary collimator in IR5 (in sigma units)
       nsig_tCTV8: opening of the vertical tertiary collimator in IR8 (in sigma units)
       nsig_tCXRP: opening of the Roman Pots (in sigma units) [note1]
       nsig_tCRYO: opening of the collimators in the DS regions (in sigma units)

       [note1] One-sided collimators (only positive x).

(6)   N_SLICES : surface model of the jaw - number of slices in which each jaw should be cut
       SMIN_SLICES : surface model of the jaw - s position for the start of the slicing
       SMAX_SLICES : surface model of the jaw - s position for the end of the slicing
       RECENTER1 : surface model of the jaw - moving the 1st jaw to the new smallest opening
      RECENTER2 : surface model of the jaw - moving the 2nd jaw to the new smallest opening

(7)  FIT1_1 : surface model of the jaw - order 0 of the polynomial fit for the 1st jaw
       FIT1_2 : surface model of the jaw - order 1 of the polynomial fit for the 1st jaw
       FIT1_3 : surface model of the jaw - order 2 of the polynomial fit for the 1st jaw
       FIT1_4 : surface model of the jaw - order 3 of the polynomial fit for the 1st jaw
       FIT1_5 : surface model of the jaw - order 4 of the polynomial fit for the 1st jaw
       FIT1_6 : surface model of the jaw - order 5 of the polynomial fit for the 1st jaw
       SSF1 : surface model of the jaw - scaling factor of the polynomial fit for the 1st jaw
     
(8)  FIT2_1 : surface model of the jaw - order 0 of the polynomial fit for the 2nd jaw
       FIT2_2 : surface model of the jaw - order 1 of the polynomial fit for the 2nd jaw
       FIT2_3 : surface model of the jaw - order 2 of the polynomial fit for the 2nd jaw
       FIT2_4 : surface model of the jaw - order 3 of the polynomial fit for the 2nd jaw
       FIT2_5 : surface model of the jaw - order 4 of the polynomial fit for the 2nd jaw
       FIT2_6 : surface model of the jaw - order 5 of the polynomial fit for the 2nd jaw
       SSF2 : surface model of the jaw - scaling factor of the polynomial fit for the 2nd jaw
      
(9)   EMITX0 : geometric emittance in the horizontal plane
       EMITY0 : geometric emittance in the vertical plane

(10)  DO_SELECT : logical, does dedicated study of selected collimator (see NAME_SEL)
        DO_NOMINAL : logical, switches on/off the use of design β values of collimators
        RND_SEED : seed studied; if set to 0, seed will be selected randomly for every run
        DOWRITE_DIST : logical, saves or not the initial distribution to be tracked
        NAME_SEL : name as in the fort.2 file of the collimator one wants a dedicated study
        DO_ONESIDE : logical, switches on/off the collimator being one-sided. Only positive jaw. If the negative jaw is to be used, it is necessary to turn collimator by 180 degrees in the collimator database file (CollDB_V6.500_[type]_st.[beam].data).
        DOWRITE_IMPACT : logical, saves the impact parameters for each collimator
        DOWRITE_SECONDARY : logical, writes a 2ry halo file based on normalized amplitude
        DOWRITE_AMPLITUDE : logical, writes checking files for amplitude, closed orbit...

(11)  XBEAT : offset in X for the computation of collimator in case of beta-beating
        XBEATPHASE :  phase offset in X for the computation of collimator in case of beta-beating
        YBEAT : offset in Y for the computation of collimator in case of beta-beating
        YBEATPHASE : phase offset in X for the computation of collimator in case of beta-beating
 
(12)  C_RMSTILT_PRIM : rms value of tilt to apply to primary collimators
         C_RMSTILT_SEC : rms value of tilt to apply to secondary collimators
         C_SYSTILT_PRIM : systematic value of tilt to apply to primary collimators
         C_SYSTILT_SEC : systematic value of tilt to apply to secondary collimators
         C_RMSOFFSET_PRIM : rms value of offset to apply to primary collimators
         C_RMSOFFSET_SEC : rms value of offset to apply to secondary collimators
         C_SYSOFFSET_PRIM : systematic value of offset to apply to primary collimators
         C_SYSOFFSET_SEC : systematic value of offset to apply to secondary collimators
         C_OFFSETTILT_SEED : random number seed to be used for the simulation
         C_RMSERROR_GAP : rms error of collimator gap
         DO_MINGAP : logical, if TRUE the particle distribution is generated at the collimator with the smallest gap (to be used with sheet/pencil beam)

(13)  RADIAL : logical, switches on/off the radial distribution
         NR : size of the beam to be tracked in number of radial sigma's
         NDR : smear of the beam to be tracked in number of radial sigma's

(14)  DRIFTSX : to apply an emittance drift in x direction
        DRIFTSY : to apply an emittance drift in y direction
        CUT_INPUT : logical, formerly used to select particles to be tracked (set .FALSE.)
        SYSTILT_ANTISYM : logical, to deduce C_SYSTILT to C_RMSTILT instead of adding

(15)  IPENCIL : resets original distribution to pencil beam distribution on selected collimator
        PENCIL_OFFSET : size in sigma units of the desired impact parameter
        PENCIL_RMSX :      ü
        PENCIL_RMSY :      ý  Parameters defining the beam distribution
        PENCIL_DISTR :      þ

  PENCIL_RMSX
[m]
PENCIL_RMSY
[m]
PENCIL_DISTR
Pencil beam 0 0 0
Rectangular beam ¹0 ¹0 0
Gaussian beam both in X and Y ¹0 ¹0 1
Rectangular in X, Gaussian in Y ¹0 ¹0 2

PENCIL_DISTR=0:       PENCIL_OFFSET  = 0
Pencil beam distribution   PENCIL_RMSX     = 0
                                       PENCIL_RMSY     = 0
PENCIL_DISTR=0:       PENCIL_OFFSET  = center of rectangle
rectangular distribution     PENCIL_RMSX     = spread of impact parameter (uniform)
                                       PENCIL_RMSY     = spread parallel to jaw surface (uniform)
PENCIL_DISTR=1:       PENCIL_OFFSET  = mean of Gaussian distribution
Gaussian distribution        PENCIL_RMSX     = spread of impact parameter (Gaussian)
                                       PENCIL_RMSY     = spread parallel to jaw surface (Gaussian)
PENCIL_DISTR=2:       PENCIL_OFFSET  = mean of Gaussian distribution
half Gaussian distribution  PENCIL_RMSX     = spread of impact parameter (uniform)
                                       PENCIL_RMSY     = spread parallel to jaw surface (Gaussian)
NOTE: The distribution with PENCIL_DISTR=2 is used when wanting to simulate the loss of a magnet.

(16)  COLL_DB : name of the collimator database; must be quoted
         IBEAM : "name" of the beam tracked (1 or 2) => TO BE UPGRADED

(17)  DOWRITETRACKS : logical, writes secondary/tertiary halo files
        CERN : logical, switches on/off to cut halo files in separate pieces, one per 64 particles
        CASTORDIR : name of the run; MUST BE EXACTLY 16 characters
        JOBNUMBER : 5 digit number, name of the complement to the name of the run (gives seed)
        SIGSECUT2 : cut in square sigma's x/y for saving particles (e.g. 64 for a cut at 8 σxy)
        SIGSECUT3 : cut in square sigma's radial for saving particles (e.g. 90.25 for a cut at 9.5 σr)

One should know that a large value for NLOOP combined with DOWRITE_TRACKS set to .TRUE. may create really huge output files, depending on the optics you run with.
For example, in our current simulations, a run with NLOOP = 50 (i.e. simulations over 3200 particles) for the LHC collision optics will produce a tracks2.dat file of 2.8 Go (!!), for just 1/1000th of the statistics we need.

Remark: the flag DO_THISDIS provides the user with 5 different options:

-- DO_THISDIS = 1 : distribution in the plane for which the parameters are specified ONLY: flat distribution in the selected plane between Ax ± δAx (horizontal) or Ay ± δAy (vertical). The amplitude in the other plane is zero.

-- DO_THISDIS = 2 : distribution in the plane for which the parameters are specified + a Gaussian distribution cut at 3 s in the other plane.

-- DO_THISDIS = 3 : distribution in the plane for which the parameters are specified + a Gaussian distribution cut at 3 s in the other plane + energy spread given by ENERROR (nominally 3.06E-04 at 450GeV and 1.129E-04 at 7TeV) and a longitudinal component given by BUNCHLENGTH (nominally 11.24cm at 450GeV and 7.55cm at 7TeV).

-- DO_THISIDS = 4 : reads an external file that contains the beam distribution to be tracked.

-- DO_THISIDS = 5 : radial transverse distribution of radius Ar. This corresponds to a flat distribution both in the horizontal and vertical planes between Ax ± δAx and Ay ± δAy, with Ax = Ay = Ar/Ö2

 


Results

 


Below are some inefficiency curves obtained with the different optics input files provided some lines above; these plots were obtained using only the primary and secondary collimators of the IR7 LHC insertion region:

Click on the picture then "Save as.." to get a Powerpoint file with enlarged curves.


The main purpose of the code is to produce loss maps along the ring, in order to compare the level of local beam losses with the magnetic quench limit.
Below is an example of such loss maps for the injection optics case (450 GeV beam energy): the top plot is obtained if one only considers the IR7 insertion region collimators; the bottom plot is obtained if one considers the full collimation system, i.e. all collimators, all absorbers and all cleaning elements (TCLP + TCDQ):


Click on the picture then "Save as.." to get a Powerpoint file with enlarged curves.
 

It can be seen in both figures (full ring and zoom downstream of  IR7) that the complete collimation system (bottom plots of each figure) has a significantly better performance than the betatron cleaning system with primary and secondary collimators alone: there is a notable reduction of the loss spikes in the arc downstream of the IR7 insertion region, where the betatron cleaning is located. At the same time, additional losses are observed in IR2, where the TDI injection protection element is intercepting the secondary halo at its nominal setting.
 

Publications

 

A New Version of SIXTRACK with Collimation and Aperture Interface, G. Robert-Demolaize, R. Assmann, S. Redaelli, F. Schmidt, CERN, Geneva, Switzerland, PAC05

 

  AM - GRD -SR - CB, Tue Sep 11 12:02:52 CEST 2012