source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/solamor2lin.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: 10.8 KB
Line 
1function soleilamor2lin
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
9global FAMLIST THERING GLOBVAL
10
11GLOBVAL.E0 = 2.75e9; % Ring energy
12GLOBVAL.LatticeFile = mfilename;
13FAMLIST = cell(0);
14
15disp(['** Loading SOLEIL magnet lattice ', mfilename]);
16
17L0 = 354.0967211999983;      % design length [m]
18C0 = 2.99792458e8;           % speed of light [m/s]
19HarmNumber = 416;
20
21%% Cavity
22%              NAME   L     U[V]       f[Hz]          h        method
23CAV = rfcavity('RF' , 0 , 4.0e+6 , HarmNumber*C0/L0, ...
24    HarmNumber ,'CavityPass');
25
26%% Marker and apertures
27SECT1  =  marker('SECT1', 'IdentityPass');
28SECT2  =  marker('SECT2', 'IdentityPass');
29SECT3  =  marker('SECT3', 'IdentityPass');
30SECT4  =  marker('SECT4', 'IdentityPass');
31DEBUT  =  marker('DEBUT', 'IdentityPass');
32FIN    =  marker('FIN', 'IdentityPass');
33
34INJ = aperture('INJ',[-0.035 0.035 -0.0125 0.0125],'AperturePass');
35INJ = aperture('INJ',[-0.035 0.035 -0.125 0.125],'AperturePass');
36
37%% BPM
38BPM    =  marker('BPM', 'IdentityPass');
39
40%% DRIFT SPACES
41SD13= drift('SD13', 3.48255, 'DriftPass');
42SD1 = drift('SD1',  6.00000, 'DriftPass');
43SD2 = drift('SD2',  0.39000, 'DriftPass');
44SD3 = drift('SD3',  0.20000, 'DriftPass');
45SD4 = drift('SD4',  0.39000, 'DriftPass');
46SD14= drift('SD14', 0.59000, 'DriftPass');
47SD5 = drift('SD5',  0.20000, 'DriftPass');
48SD6 = drift('SD6',  0.79000, 'DriftPass');
49SD7 = drift('SD7',  0.44000, 'DriftPass');
50SD8 = drift('SD8',  0.20000, 'DriftPass');
51SD9 = drift('SD9',  0.47634, 'DriftPass');
52SD10= drift('SD10', 0.47000, 'DriftPass');
53SD12= drift('SD12', 0.47000, 'DriftPass');
54SDAC= drift('SDAC', 1.90468, 'DriftPass');
55
56%% QUADRUPOLES
57Q1   =  quadrupole('Q1' , 0.32,  -1.18610 , 'QuadLinearPass');
58Q2   =  quadrupole('Q2' , 0.46,   1.71132 , 'QuadLinearPass');
59Q3   =  quadrupole('Q3' , 0.32,  -0.71729 , 'QuadLinearPass');
60Q4   =  quadrupole('Q4' , 0.32,  -1.39423 , 'QuadLinearPass');
61Q5   =  quadrupole('Q5' , 0.32,   1.89119 , 'QuadLinearPass');
62Q6   =  quadrupole('Q6' , 0.32,  -1.11831 , 'QuadLinearPass');
63Q7   =  quadrupole('Q7' , 0.46,   2.21705 , 'QuadLinearPass');
64Q8   =  quadrupole('Q8' , 0.32,  -1.70205 , 'QuadLinearPass');
65Q9   =  quadrupole('Q9' , 0.32,  -1.68903 , 'QuadLinearPass');
66Q10  =  quadrupole('Q10', 0.32,   1.96186 , 'QuadLinearPass');
67
68
69%% SEXTUPOLES for xix=0.4 and xi_y=1.4
70F = 1e8;
71Finv = 1/F;
72
73S1  =  sextupole('S1' , Finv,  1.71919*F, 'StrMPoleSymplectic4Pass');
74S2  =  sextupole('S2' , Finv, -4.10456*F, 'StrMPoleSymplectic4Pass');
75S3  =  sextupole('S3' , Finv, -2.16938*F, 'StrMPoleSymplectic4Pass');
76S4  =  sextupole('S4' , Finv,  3.60465*F, 'StrMPoleSymplectic4Pass');
77S5  =  sextupole('S5' , Finv, -3.69821*F, 'StrMPoleSymplectic4Pass');
78S6  =  sextupole('S6' , Finv,  3.24667*F, 'StrMPoleSymplectic4Pass');
79S7  =  sextupole('S7' , Finv, -5.00352*F, 'StrMPoleSymplectic4Pass');
80S8  =  sextupole('S8' , Finv,  4.19372*F, 'StrMPoleSymplectic4Pass');
81S9  =  sextupole('S9' , Finv, -2.97623*F, 'StrMPoleSymplectic4Pass');
82S10 =  sextupole('S10', Finv,  1.86108*F, 'StrMPoleSymplectic4Pass');
83
84
85%% Slow feedback correctors
86% HCOR =  corrector('HCOR',0.0,[0 0],'CorrectorPass');
87% VCOR =  corrector('VCOR',0.0,[0 0],'CorrectorPass');
88% COR = [HCOR VCOR];
89COR =  corrector('COR',0.0,[0 0],'CorrectorPass');
90
91%% Fast feedback correctors
92% FHCOR =  corrector('FHCOR',0.0,[0 0],'CorrectorPass');
93% FVCOR =  corrector('FVCOR',0.0,[0 0],'CorrectorPass');
94% FCOR = [FHCOR,FVCOR];
95FCOR =  corrector('FCOR',0.0,[0 0],'CorrectorPass');
96
97
98SX1   = [S1  COR];
99SX2   = [S2  COR];
100SX3   = [S3  COR];
101SX4   = [S4  COR];
102SX5   = [S5  COR];
103SX6   = [S6  COR];
104SX7   = [S7  COR];
105SX8   = [S8  COR];
106SX9   = [S9  COR];
107SX10  = [S10 COR];
108
109%% DIPOLES
110BEND  =  rbend('BEND'  , 1.05243,  ...
111    0.19635, 0.098175, 0.098175, 0.0,'BendLinearPass');
112
113%% Lattice
114% Superperiods
115
116SUP1  = [ ...
117    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
118    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
119    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
120    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
121    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
122    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
123    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
124    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
125    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
126    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
127    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
128    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
129    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
130    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
131    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
132    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
133    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
134    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
135    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
136    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
137    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
138    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
139    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
140    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
141    FCOR    BPM     SD1  ];
142
143SUP2  = [  ...
144    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
145    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
146    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
147    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
148    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
149    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
150    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
151    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
152    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
153    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
154    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
155    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
156    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
157    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
158    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
159    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
160    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
161    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
162    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
163    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
164    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
165    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
166    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
167    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
168    FCOR    BPM     SD1  ];
169
170SUP3  = [  ...
171    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
172    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
173    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
174    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
175    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
176    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
177    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
178    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
179    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
180    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
181    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
182    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
183    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
184    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
185    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
186    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
187    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
188    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
189    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
190    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
191    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
192    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
193    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
194    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
195    FCOR    BPM     SD1  ];
196
197SUP4  = [  ...
198    SD1     BPM    FCOR    Q1     SD2    SX1   SD3     Q2  ...
199    BPM     SD14   Q3      SD5    SX2    SD6   BEND    SD7     Q4  ...
200    SD8     SX3    BPM     SD9    Q5     SD12  SX4     BPM  ...
201    SD10    Q5     SD9     BPM    SX3    SD8   Q4      SD7     BEND    SD7  ...
202    Q6      SD5    SX5     SD4    BPM    Q7    SD3     SX6          ...
203    SD2     Q8     FCOR    BPM    SD13   SD13  BPM     FCOR    ...
204    Q8      SD2    SX8     SD3    Q7     BPM   SD4     SX7          ...
205    SD5     Q6     SD7     BEND   SD7    Q9    SD8     SX9     BPM  ...
206    SD9     Q10    SD8     SX10   FCOR   BPM   SDAC    SDAC ...
207    BPM     FCOR   SX10    SD8    Q10    SD9   BPM     SX9  ...
208    SD8     Q9     SD7     BEND   SD7    Q6    SD5     SX7       ...
209    SD4     BPM    Q7      SD3    SX8    SD2   Q8      FCOR    BPM     ...
210    SD13    SD13   BPM     FCOR   Q8     SD2   SX8      ...
211    SD3     Q7     BPM     SD4    SX7    SD5   Q6      SD7     BEND...
212    SD7     Q9     SD8     SX9    BPM    SD9   Q10     SD8     SX10 ...
213    FCOR    BPM    SDAC    SDAC   BPM    FCOR    SX10    ...
214    SD8     Q10    SD9     BPM    SX9    SD8   Q9      SD7  ...
215    BEND    SD7    Q6      SD5    SX7    SD4   BPM     Q7      SD3  ...
216    SX8     SD2    Q8      FCOR   BPM    SD13  SD13    BPM ...
217    FCOR     Q8     SD2     SX6    SD3    Q7    BPM     SD4  ...
218    SX5     SD5    Q6      SD7    BEND   SD7   Q4      SD8     SX3  ...
219    BPM     SD9    Q5      SD10   BPM    SX4   SD12    Q5  ...
220    SD9     BPM    SX3     SD8    Q4     SD7   BEND    SD6     SX2         ...
221    SD5     Q3     SD14    BPM    Q2     SD3   SX1     SD2     Q1  ...
222    FCOR   BPM     SD1];
223
224
225ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP2 SECT3 SUP3 SECT4 SUP4 CAV FIN];
226%ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP2 SECT3 SUP3 SECT4 SUP4 FIN];
227
228buildlat(ELIST);
229
230% Set all magnets to same energy
231THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
232
233evalin('caller','global THERING FAMLIST GLOBVAL');
234
235atsummary;
236
237if nargout
238    varargout{1} = THERING;
239end
Note: See TracBrowser for help on using the repository browser.