source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/solamor2linb_pascale_04-05-06.m @ 4

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

Initial import--MML version from SOLEIL@2013

File size: 14.6 KB
Line 
1function solamor2linb
2%solamor2 - soleil lattice w/o ID
3% Lattice definition file
4% Lattice for SOLEIL: perfect lattice no magnetic errors
5% Compiled by Laurent Nadolski and Amor Nadji
6% 09/01/02, ALS
7% Controlroom : set linearpass for quad (closed orbit)
8%               No cavity; No Radiation PassMethod
9
10global FAMLIST THERING GLOBVAL
11
12GLOBVAL.E0 = 2.75e9; % Ring energy
13GLOBVAL.LatticeFile = mfilename;
14FAMLIST = cell(0);
15
16disp(['** Loading SOLEIL magnet lattice ', mfilename]);
17
18L0 = 354.0967211999983;      % design length [m]
19C0 = 2.99792458e8;           % speed of light [m/s]
20HarmNumber = 416;
21
22%% Cavity
23%              NAME   L     U[V]       f[Hz]          h        method
24CAV = rfcavity('RF' , 0 , 4.0e+6 , HarmNumber*C0/L0, ...
25    HarmNumber ,'CavityPass');
26
27%% Marker and apertures
28SECT1  =  marker('SECT1', 'IdentityPass');
29SECT2  =  marker('SECT2', 'IdentityPass');
30SECT3  =  marker('SECT3', 'IdentityPass');
31SECT4  =  marker('SECT4', 'IdentityPass');
32DEBUT  =  marker('DEBUT', 'IdentityPass');
33FIN    =  marker('FIN', 'IdentityPass');
34
35INJ = aperture('INJ',[-0.035 0.035 -0.0125 0.0125],'AperturePass');
36
37%% Injection section
38PtINJ = marker('PtINJ', 'IdentityPass');
39K3 = marker('K3', 'IdentityPass');
40K4 = marker('K4', 'IdentityPass');
41   
42%% BPM
43BPM    =  marker('BPM', 'IdentityPass');
44
45%% DRIFT SPACES
46
47SD13= drift('SD13', 3.48255, 'DriftPass');
48SD1 = drift('SD1',  6.00000, 'DriftPass');
49SD1a = drift('SD1a',  1.4125, 'DriftPass');
50SD1b = drift('SD1b',  0.7575, 'DriftPass');
51SD1c = drift('SD1c',  3.002, 'DriftPass');
52SD2 = drift('SD2',  0.39000, 'DriftPass');
53SD3 = drift('SD3',  0.20000, 'DriftPass');
54SD4 = drift('SD4',  0.39000, 'DriftPass');
55SD14= drift('SD14', 0.59000, 'DriftPass');
56SD5 = drift('SD5',  0.20000, 'DriftPass');
57SD6 = drift('SD6',  0.79000, 'DriftPass');
58SD7 = drift('SD7',  0.44000, 'DriftPass');
59SD8 = drift('SD8',  0.20000, 'DriftPass');
60SD9 = drift('SD9',  0.47634, 'DriftPass');
61SD10= drift('SD10', 0.47000, 'DriftPass');
62SD12= drift('SD12', 0.47000, 'DriftPass');
63SDAC= drift('SDAC', 1.90468, 'DriftPass');
64
65% SD existantes et modifiées
66SD1d = drift('SD1d',  0.5170, 'DriftPass');
67SD14a = drift('SD14a', 0.4051, 'DriftPass');
68SD9a = drift('SD9a',  0.2243    , 'DriftPass');
69SD10a = drift('SD10a', 0.1924   , 'DriftPass');
70SDAC1 = drift('SDAC1', 1.48428  , 'DriftPass');
71SD13a= drift('SD13a', 3.14155   , 'DriftPass');
72SD1e = drift('SD1e',  5.6589, 'DriftPass');
73
74% SD créées
75SD91 = drift('SD91',  0.27134, 'DriftPass');
76SD41 = drift('SD41',  0.2521, 'DriftPass');
77SD42 = drift('SD42',  0.205, 'DriftPass');
78SD92 = drift('SD92',  0.2244, 'DriftPass');
79SD93 = drift('SD93',  0.2714    , 'DriftPass');
80SD43 = drift('SD43', 0.2051     , 'DriftPass');
81SD101 = drift('SD101', 0.2394, 'DriftPass');
82SD141 = drift('SD141', 0.452, 'DriftPass');
83
84SDB1 = drift('SDB1', 0.3111, 'DriftPass');
85SDB2 = drift('SDB2', 0.1849, 'DriftPass');
86SDB3 = drift('SDB3', 0.252,  'DriftPass');
87SDB4 = drift('SDB4', 0.2776 ,'DriftPass');
88SDB5 = drift('SDB5', 0.205  ,'DriftPass');
89SDB6 = drift('SDB6', 0.1379 ,'DriftPass');
90SDB7 = drift('SDB7', 0.185 , 'DriftPass');
91SDB8 = drift('SDB8', 0.252 , 'DriftPass');
92SDB9 = drift('SDB9', 0.1379 ,'DriftPass');
93SDB10= drift('SDB10',0.185 , 'DriftPass');
94SDB11= drift('SDB11',0.2519, 'DriftPass');
95SDB12= drift('SDB12',0.2049, 'DriftPass');
96SDB13= drift('SDB13',0.1379, 'DriftPass');
97SDB14= drift('SDB14',0.1849, 'DriftPass');
98SDB15= drift('SDB15',0.252 , 'DriftPass');
99SDB16= drift('SDB16',0.2306 , 'DriftPass');
100SDB17= drift('SDB17',0.205 , 'DriftPass');
101SDB18= drift('SDB18',0.138 , 'DriftPass');
102
103SDC1 = drift('SDC1' , 0.262 ,  'DriftPass');
104SDC2 = drift('SDC2' , 0.079 ,  'DriftPass');
105SDC3 = drift('SDC3' , 0.07845, 'DriftPass');
106SDC4 = drift('SDC4' , 0.3358,  'DriftPass');
107SDC5 = drift('SDC5' , 0.0846,  'DriftPass');
108SDC6 = drift('SDC6' , 0.079,   'DriftPass');
109SDC7 = drift('SDC7' , 0.342 ,  'DriftPass');
110SDC8 = drift('SDC8' , 0.262 ,  'DriftPass');
111SDC9 = drift('SDC9' , 0.079  , 'DriftPass');
112SDC10= drift('SDC10',0.07845, 'DriftPass');
113SDC11= drift('SDC11',0.262  , 'DriftPass');
114SDC12= drift('SDC12',0.3358 , 'DriftPass');
115SDC13= drift('SDC13',0.0846 , 'DriftPass');
116SDC14= drift('SDC14',0.0788 , 'DriftPass');
117SDC15= drift('SDC15',0.3422 , 'DriftPass');
118SDC16= drift('SDC16',0.262  , 'DriftPass');
119SDC17= drift('SDC17',0.079  , 'DriftPass');
120SDC18= drift('SDC18',0.07845, 'DriftPass');
121SDC19= drift('SDC19',0.262  , 'DriftPass');
122SDC20= drift('SDC20',0.262  , 'DriftPass');
123SDC21= drift('SDC21',0.079  , 'DriftPass');
124
125
126%% QUADRUPOLES (compensation de l'effet des défauts de focalisation des
127%% dipoles P. Brunelle 02/05/06)
128Q1   =  quadrupole('Q1' , 0.32,  -1.193917 , 'QuadLinearPass');
129Q2   =  quadrupole('Q2' , 0.46,   1.712124 , 'QuadLinearPass');
130Q3   =  quadrupole('Q3' , 0.32,  -0.7195554 , 'QuadLinearPass');
131Q4   =  quadrupole('Q4' , 0.32,  -1.404293 , 'QuadLinearPass');
132Q5   =  quadrupole('Q5' , 0.32,   1.895744 , 'QuadLinearPass');
133Q6   =  quadrupole('Q6' , 0.32,  -1.117271 , 'QuadLinearPass');
134Q7   =  quadrupole('Q7' , 0.46,   2.223070 , 'QuadLinearPass');
135Q8   =  quadrupole('Q8' , 0.32,  -1.724227 , 'QuadLinearPass');
136Q9   =  quadrupole('Q9' , 0.32,  -1.689030 , 'QuadLinearPass');
137Q10  =  quadrupole('Q10', 0.32,   1.963458 , 'QuadLinearPass');
138
139
140%% SEXTUPOLES chromaticités nulles dans TracyII
141%avec défauts de focalisation des dipôles
142%P. Brunelle 02/05/06
143F = 1e8;
144Finv = 1/F;
145
146S1  =  sextupole('S1' , Finv,  1.71919*F, 'StrMPoleSymplectic4Pass');
147S2  =  sextupole('S2' , Finv, -4.10456*F, 'StrMPoleSymplectic4Pass');
148S3  =  sextupole('S3' , Finv, -2.16938*F, 'StrMPoleSymplectic4Pass');
149S4  =  sextupole('S4' , Finv,  3.60465*F, 'StrMPoleSymplectic4Pass');
150S5  =  sextupole('S5' , Finv, -3.69821*F, 'StrMPoleSymplectic4Pass');
151S6  =  sextupole('S6' , Finv,  3.24667*F, 'StrMPoleSymplectic4Pass');
152S7  =  sextupole('S7' , Finv, -5.00352*F, 'StrMPoleSymplectic4Pass');
153S8  =  sextupole('S8' , Finv,  4.19372*F, 'StrMPoleSymplectic4Pass');
154S9  =  sextupole('S9' , Finv, -3.152295*F, 'StrMPoleSymplectic4Pass');
155S10 =  sextupole('S10', Finv,  1.936432*F, 'StrMPoleSymplectic4Pass');
156
157%% QT (P. Brunelle 27/04/06)
158QT    =  marker('QT', 'IdentityPass');
159
160%% Slow feedback correctors
161% HCOR =  corrector('HCOR',0.0,[0 0],'CorrectorPass');
162% VCOR =  corrector('VCOR',0.0,[0 0],'CorrectorPass');
163% COR = [HCOR VCOR];
164COR =  corrector('COR',0.0,[0 0],'CorrectorPass');
165
166%% Fast feedback correctors
167% FHCOR =  corrector('FHCOR',0.0,[0 0],'CorrectorPass');
168% FVCOR =  corrector('FVCOR',0.0,[0 0],'CorrectorPass');
169% FCOR = [FHCOR,FVCOR];
170FCOR =  corrector('FCOR',0.0,[0 0],'CorrectorPass');
171
172
173SX1   = [S1  COR  QT];
174SX2   = [S2  COR  QT];
175SX3   = [S3  COR  QT];
176SX4   = [S4  COR  QT];
177SX5   = [S5  COR  QT];
178SX6   = [S6  COR  QT];
179SX7   = [S7  COR  QT];
180SX8   = [S8  COR  QT];
181SX9   = [S9  COR  QT];
182SX10  = [S10 COR  QT];
183
184%% DIPOLES
185 %BEND  =  rbend('BEND'  , 1.05243,  ...
186  % 0.19635, 0.098175, 0.098175, 0.0,'BendLinearPass');
187
188%% DIPOLES
189% {** 1.3815 factor to fit with BETA ??? strange **}
190%theta = 2*pi/32;
191%fullgap = 0.105*0.724*2/6*1.3815*0.;
192% BEND  =  rbend2('BEND', L, theta, theta/2, theta/2, 0.0, ...
193%                 fullgap,'BendLinearFringeTiltPass');
194theta = 2*pi/32;
195theta2 = 2*pi/32/2;
196thetae = 2*pi/32/2-0.6e-3*1;
197thetas = 2*pi/32/2+0.9e-3*1;
198K = 0.00204*1;
199fullgap = 0.037*0.724*2*1;
200BEND  =  rbend2('BEND', 1.05243, theta, thetae, thetas, K,fullgap,'BendLinearPass');
201
202
203%% Lattice
204% Superperiods
205
206SUP1  = [...
207    SD1a   PtINJ   SD1b    K3    SD1c   K4     SD1d ...
208    BPM  SDB1   Q1     SD2    SX1   SD3     Q2 ...
209    SDB2  BPM    SD14a   Q3      SD5    SX2    SD6 ... 
210    BEND    SD7     Q4  SD8     SX3    ...
211    SDB3  BPM     SD9a   Q5     SD12  SX4 ...   
212    SDB4  BPM     SD10a    Q5     SD91     ...
213    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...   
214    SD7     Q6      SD5    SX5     SD41    ...
215    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...   
216    SDC1 FCOR SDC2   BPM    SD13a  SD13a BPM ...
217    SDC3    FCOR   SDC1 ...
218    Q8      SD2    SX8     SD3    Q7  SDB7 ...   
219    BPM   SD42     SX7      SD5     Q6     SD7 ...   
220    BEND   SD7    Q9    SD8     SX9  SDB8 ...
221    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
222    FCOR SDC5  BPM   SDAC1    SDAC1 ...
223    BPM   SDC6  FCOR  SDC7 SX10    SD8    Q10    SD91 ...   
224    BPM   SD42  SX9      SD8     Q9     SD7    ...
225    BEND   SD7    Q6    SD5     SX7    SD41   ...   
226    BPM  SDB9  Q7      SD3    SX8    SD2   Q8 SDC8 ...     
227    FCOR  SDC9  BPM     SD13a SD13a  ...
228    BPM  SDC10   FCOR  SDC11  Q8     SD2   SX8   SD3   Q7 ...   
229    SDB10  BPM   SD42    SX7    SD5   Q6      SD7  ...   
230    BEND    SD7     Q9     SD8     SX9  SDB11    ...
231    BPM    SD92   Q10     SD8     SX10 SDC12 ...
232    FCOR  SDC13  BPM    SDAC1    SDAC1   ...
233    BPM  SDC14  FCOR   SDC15   SX10   SD8     Q10    SD93 ...   
234    BPM  SDB12  SX9    SD8   Q9      SD7 ...
235    BEND    SD7    Q6      SD5    SX7    SD41 ...   
236    BPM  SDB13   Q7      SD3    SX8     SD2    Q8  SDC16 ...     
237    FCOR SDC17  BPM    SD13a SD13a   ...
238    BPM   SDC18  FCOR  SDC19   Q8     SD2     SX6    SD3    Q7 ...   
239    SDB14  BPM    SD43    SX5     SD5    Q6      SD7    ...
240    BEND   SD7   Q4      SD8     SX3  SDB15 ...
241    BPM     SD9a   Q5      SD101   ...
242    BPM  SDB16  SX4   SD12    Q5     SD93 ...   
243    BPM  SDB17  SX3     SD8    Q4     SD7   ...
244    BEND    SD6     SX2      SD5     Q3     SD141 ...   
245    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
246    SDC20 FCOR  SDC21   BPM     SD1e  ];
247
248SUP2  = [  ...
249    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
250    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
251    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
252    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
253    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
254    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
255    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
256    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
257    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
258    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
259    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
260    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
261    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
262    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
263    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
264    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
265    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
266    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
267    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
268    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
269    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
270    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
271    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
272    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
273    FCOR    BPM     SD1  ];
274
275SUP3  = [  ...
276    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
277    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
278    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
279    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
280    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
281    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
282    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
283    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
284    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
285    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
286    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
287    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
288    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
289    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
290    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
291    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
292    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
293    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
294    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
295    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
296    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
297    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
298    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
299    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
300    FCOR    BPM     SD1  ];
301
302SUP4  = [  ...
303    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
304    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
305    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
306    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
307    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
308    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
309    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
310    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
311    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
312    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
313    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
314    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
315    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
316    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
317    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
318    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
319    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
320    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
321    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
322    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
323    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
324    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
325    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
326    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
327    FCOR    BPM     SD1  ];
328
329
330ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP2 SECT3 SUP3 SECT4 SUP4 CAV FIN];
331%ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP2 SECT3 SUP3 SECT4 SUP4 FIN];
332
333buildlat(ELIST);
334
335% Set all magnets to same energy
336THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
337
338evalin('caller','global THERING FAMLIST GLOBVAL');
339
340atsummary;
341
342if nargout
343    varargout{1} = THERING;
344end
Note: See TracBrowser for help on using the repository browser.