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