1 | function varargout = lat_superbendv2 |
---|
2 | % |
---|
3 | % C--------------------------------------------------------------------- |
---|
4 | % TITLE OF THE JOB: CATS, May 15th, 2012 |
---|
5 | % **************************************************************************** |
---|
6 | % * 2.75 GEV QBA CELL: STUDY OF SOLEIL CELL HAVING SDL AND SDM * |
---|
7 | % * "SB-QBA-3.inp" * |
---|
8 | % * ENERGY = 2.75 GEV * |
---|
9 | % * EMITTANCE = 0.98 NMRAD * |
---|
10 | % * CELL LENGTH = 22.030 M * |
---|
11 | % * SUPERBEND (BENDING ANGLE = 8 DEG, LENGTH = 0.8 M): * |
---|
12 | % * DIPOLE FIELD = (7.2 T OVER 0.1 M AND 0.80 T OVER 0.7 M) * |
---|
13 | % * RHO = (1.27315 / 11.46021 M) << mu = 0.125 >> * |
---|
14 | % * EXTERNAL DISP SUPPRESS BEND (3.25 DEG, 0.304 M AND COMBINED FUNC): * |
---|
15 | % * DIPOLE FIELD = 1.71 T * |
---|
16 | % * RHO = 5.36 M * |
---|
17 | % **************************************************************************** |
---|
18 | % END_OF_TITLE---------------------------------------------------------- |
---|
19 | |
---|
20 | global FAMLIST THERING GLOBVAL |
---|
21 | |
---|
22 | GLOBVAL.E0 = 2.75e9; % Ring energy |
---|
23 | GLOBVAL.LatticeFile = mfilename; |
---|
24 | FAMLIST = cell(0); |
---|
25 | |
---|
26 | disp(['** Loading SOLEIL magnet lattice ', mfilename]); |
---|
27 | |
---|
28 | L0 = 44.06000;% design length [m] |
---|
29 | C0 = 2.99792458e8; % speed of light [m/s] |
---|
30 | HarmNumber = 416; |
---|
31 | |
---|
32 | %% Marker and apertures |
---|
33 | SYM0 = marker('SYM0', 'IdentityPass'); |
---|
34 | SYM1 = marker('SYM1', 'IdentityPass'); |
---|
35 | SYM2 = marker('SYM2', 'IdentityPass'); |
---|
36 | |
---|
37 | %% RF Cavity |
---|
38 | % NAME L U[V] f[Hz] h method |
---|
39 | CAV = rfcavity('RF' , 0.0 , 4.0e+6 , HarmNumber*C0/L0, HarmNumber ,'CavityPass'); |
---|
40 | |
---|
41 | %% QUADRUPOLES (compensation de l'effet des defauts de focalisation des |
---|
42 | QPassMethod = 'StrMPoleSymplectic4Pass'; |
---|
43 | |
---|
44 | QD11 = quadrupole('QD11' , 0.30000, -1.6913147, QPassMethod); |
---|
45 | QF12 = quadrupole('QF12' , 0.40000, 3.6256564, QPassMethod); |
---|
46 | QF13 = quadrupole('QF13' , 0.50000, 5.0791495, QPassMethod); |
---|
47 | QF23 = quadrupole('QF23' , 0.20000, 0.9539685, QPassMethod); |
---|
48 | QF14 = quadrupole('QF14' , 0.48000, 5.3945733, QPassMethod); |
---|
49 | QD15 = quadrupole('QD15' , 0.40000, -4.2761077, QPassMethod); |
---|
50 | QD22 = quadrupole('QD22' , 0.20000, -0.0399759, QPassMethod); |
---|
51 | QF25 = quadrupole('QF25' , 0.20000, -3.6479849, QPassMethod); |
---|
52 | QD82 = quadrupole('QF25' , 0.20000, -0.0540065, QPassMethod); |
---|
53 | QD71 = quadrupole('QF25' , 0.30000, -2.6270004, QPassMethod); |
---|
54 | QF72 = quadrupole('QF25' , 0.40000, 4.1571400, QPassMethod); |
---|
55 | |
---|
56 | %% DIPOLES |
---|
57 | BDE3 = sbend('BDE3', 0.30400, 0.30400/5.36, 0, 0, -4.209110,'BndMPoleSymplectic4Pass'); |
---|
58 | BND2 = sbend('BDE3', 0.35000, 0.35000/11.46021, 0, 0, -3.0000109,'BndMPoleSymplectic4Pass'); |
---|
59 | BND3 = sbend('BDE3', 0.35000, 0.35000/11.46021, 0, 0, -2.3790756,'BndMPoleSymplectic4Pass'); |
---|
60 | BSB2 = sbend('BDE3', 0.05000, 0.05000/1.27315, 0, 0, 0.000000,'BndMPoleSymplectic4Pass'); |
---|
61 | |
---|
62 | %% DRIFT SPACES |
---|
63 | |
---|
64 | SD1 = drift('SD1', 6.0000, 'DriftPass'); |
---|
65 | SD14 = drift('SD14', 3.48300, 'DriftPass'); |
---|
66 | SD15 = drift('SD15', 0.27, 'DriftPass'); |
---|
67 | SD16 = drift('SD16', 0.35, 'DriftPass'); |
---|
68 | SD17 = drift('SD17', 0.29, 'DriftPass'); |
---|
69 | SD21 = drift('SD21', 0.27, 'DriftPass'); |
---|
70 | SD22 = drift('SD22', 0.27, 'DriftPass'); |
---|
71 | SD23 = drift('SD23', 0.12950, 'DriftPass'); |
---|
72 | SD25 = drift('SD25', 0.26, 'DriftPass'); |
---|
73 | SD30 = drift('SD30', 0.25, 'DriftPass'); |
---|
74 | SD31 = drift('SD31', 0.20, 'DriftPass'); |
---|
75 | SD42 = drift('SD42', 0.20, 'DriftPass'); |
---|
76 | |
---|
77 | %% Lattice |
---|
78 | % Superperiods |
---|
79 | |
---|
80 | % SUPERPERIOD #1 |
---|
81 | CELLML = [... |
---|
82 | SYM0... |
---|
83 | SD1 ... |
---|
84 | QD11 SD15 QF12 SD16... |
---|
85 | QD22 SD31... |
---|
86 | BDE3... |
---|
87 | SD25 QF23 SD17 QF13 SD30... |
---|
88 | BND2 BSB2... |
---|
89 | BSB2 BND3... |
---|
90 | SD21 QF14 SD22 QD15... |
---|
91 | SD42 QF25... |
---|
92 | SD23... |
---|
93 | SYM1... |
---|
94 | SD23 ... |
---|
95 | QF25 SD42 ... |
---|
96 | QD15 SD22 QF14 SD21... |
---|
97 | BND3 BSB2... |
---|
98 | BSB2 BND2... |
---|
99 | SD30 QF13 SD17 QF23 SD25 ... |
---|
100 | BDE3... |
---|
101 | SD31 QD82... |
---|
102 | SD16 QF72 SD15 QD71... |
---|
103 | SD14 ... |
---|
104 | SYM2... |
---|
105 | ]; |
---|
106 | |
---|
107 | |
---|
108 | %THE STORAGE RING |
---|
109 | ELIST = [... |
---|
110 | CELLML reverse(CELLML) ... |
---|
111 | CAV]; |
---|
112 | |
---|
113 | buildlat(ELIST); |
---|
114 | |
---|
115 | % Set all magnets to same energy |
---|
116 | THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0); |
---|
117 | |
---|
118 | evalin('caller','global THERING FAMLIST GLOBVAL'); |
---|
119 | atsummary; |
---|
120 | |
---|
121 | |
---|
122 | if nargout |
---|
123 | varargout{1} = THERING; |
---|
124 | end |
---|