source: MML/trunk/machine/SOLEIL/Booster/Lattices/boostersteerer.m @ 17

Last change on this file since 17 was 17, checked in by zhangj, 10 years ago

To have a stable version on the server.

  • Property svn:executable set to *
File size: 4.1 KB
Line 
1function boostersteerer
2% Booster soleil lattice w/o ID
3% Lattice definition file
4% Perfect lattice no magnetic errors
5% Controlroom : set linearpass for quad (closed orbit)
6
7global FAMLIST THERING GLOBVAL
8
9%GLOBVAL.E0 = 2.75e9; % Ring energy
10GLOBVAL.E0 = 0.1085e9; % Ring energy
11% GLOBVAL.E0 = 0.100e9; % Ring energy
12
13GLOBVAL.LatticeFile = mfilename;
14FAMLIST = cell(0);
15
16disp(['** Loading SOLEIL booster magnet lattice ', mfilename]);
17
18L0 = 156.620;                % design length [m]
19C0 = 2.99792458e8;           % speed of light [m/s]
20HarmNumber = 184;
21
22%% Cavity
23%              NAME   L     U[V]       f[Hz]          h        method       
24CAV = rfcavity('RF' , 0 , 0.844e+6 , HarmNumber*C0/L0, ...
25               HarmNumber ,'CavityPass');   
26CAV = rfcavity('RF' , 0 , 0.200e+6 , HarmNumber*C0/L0, ...
27              HarmNumber ,'CavityPass');   
28% CAV = rfcavity('RF' , 0 , 0.204e+6 , HarmNumber*C0/L0, ...
29%                HarmNumber ,'ThinCavityPass');   
30
31%% Marker and apertures
32   SECT1  =  marker('SECT1', 'IdentityPass');
33   SECT2  =  marker('SECT2', 'IdentityPass');
34   DEBUT  =  marker('DEBUT', 'IdentityPass');
35   FIN    =  marker('FIN', 'IdentityPass');
36   
37   INJ = aperture('INJ',[-0.035 0.035 -0.125 0.125],'AperturePass');
38
39% BPM   
40   BPM    =  marker('BPM', 'IdentityPass');
41
42% DRIFT SPACES
43   SD1 = drift('SD1', 3.15955 , 'DriftPass');
44   SD2 = drift('SD2',.408000  , 'DriftPass');
45   SD3 = drift('SD3',.591550  , 'DriftPass');
46   
47   SD11 = drift('SD1', 3.00000 , 'DriftPass');
48   SD12 = drift('SD1', 0.15955 , 'DriftPass');
49% QUADRUPOLES
50   QPD  =  quadrupole('QPD' , 0.40,-0.9382000E+00  , 'QuadLinearPass');
51   QPF  =  quadrupole('QPF' , 0.40, 0.1178000E+01 , 'QuadLinearPass');
52
53% SEXTUPOLES for xix=0.4 and xi_y=1.4
54F = 1e8;
55Finv = 1/F;
56% SXF = 0.383 SXD = -0.525 for correcting natural chromaticities (Alex)
57% do not take in account 1. Eddy current when ramping the energy
58%                        2. remnant sextupole field at injection field
59%                        3. sextupole from geometry of dipole
60
61SXF  =  sextupole('SXF' , Finv,  0.383*F, 'StrMPoleSymplectic4Pass');
62SXD  =  sextupole('SXD' , Finv, -0.525*F, 'StrMPoleSymplectic4Pass');
63
64% Slow feedback correctors
65 HCOR =  corrector('HCOR',0.0,[0 0],'CorrectorPass');
66 VCOR =  corrector('VCOR',0.0,[0 0],'CorrectorPass');
67
68% DIPOLES
69BEND  =  rbend('BEND'  , 2.160,  ...
70            0.174533, 0.0872665, 0.0872665 , 0.0,'BendLinearPass');
71
72% Begin Lattice
73%  Superperiods 
74
75SUP1  = [ ...
76 QPD        VCOR       SD1        QPF        HCOR       BPM        SD3        BEND       SD2  ...     
77 QPD        VCOR       SD1        HCOR       QPF        SD2        BEND       SD3  ...     
78 VCOR       BPM        QPD        SXD        SD2        BEND       SD3        HCOR       BPM        QPF        SXF     SD2 ...     
79 BEND       SD3        VCOR       QPD        SXD        SD2        BEND       SD3  ...     
80 HCOR       QPF        SXF        SD2        BEND       SD3        VCOR       BPM        QPD        SXD        SD2  ...     
81 BEND       SD3        HCOR       BPM        QPF        SXF        SD2        BEND       SD3  ...     
82 VCOR       QPD        SXD        SD2        BEND       SD3        HCOR       BPM        QPF        SD3  ...     
83 BEND       SD2        SXD        QPD        VCOR       SD3        BEND       SD2  ...     
84 SXF        QPF        BPM        HCOR       SD3        BEND       SD2        SXD        QPD        BPM       VCOR       SD3  ...     
85 BEND       SD2        SXF        QPF        HCOR       SD3        BEND       SD2  ...     
86 SXD        QPD        VCOR       SD3        BEND       SD2        SXF        QPF        BPM       HCOR       SD3 ...     
87 BEND       SD2        SXD        QPD        BPM        VCOR       SD3        BEND       SD2  ...     
88 QPF        HCOR       SD1        VCOR       QPD        SD2        BEND       SD3  ...     
89 HCOR       BPM        QPF        SD1 ];
90
91ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP1 CAV FIN];
92
93buildlat(ELIST);
94
95% Set all magnets to same energy
96THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
97
98evalin('caller','global THERING FAMLIST GLOBVAL');
99atsummary;
Note: See TracBrowser for help on using the repository browser.