1 | function varargout = lat_superbendv1 |
---|
2 | % |
---|
3 | % C--------------------------------------------------------------------- |
---|
4 | % TITLE OF THE JOB: CATS, May 15th, 2012 |
---|
5 | % **************************************************************************** |
---|
6 | % * 2.75 GEV QBA CELL: STUDY OF SOLEIL CELL WITH A SHORT STRAIGHT SECTION * |
---|
7 | % * "SB-QBA-2.inp" * |
---|
8 | % * ENERGY = 2.75 GEV * |
---|
9 | % * EMITTANCE = 0.97 NMRAD * |
---|
10 | % * CELL LENGTH = 23.0634 M (INSTEAD OF 22.232 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 = 23.06336;% design length [m] |
---|
29 | C0 = 2.99792458e8; % speed of light [m/s] |
---|
30 | HarmNumber = 416; |
---|
31 | |
---|
32 | %% Marker and apertures |
---|
33 | SYM2 = marker('SYM2', 'IdentityPass'); |
---|
34 | SYM3 = marker('SYM3', 'IdentityPass'); |
---|
35 | |
---|
36 | %% RF Cavity |
---|
37 | % NAME L U[V] f[Hz] h method |
---|
38 | CAV = rfcavity('RF' , 0.0 , 4.0e+6 , HarmNumber*C0/L0, HarmNumber ,'CavityPass'); |
---|
39 | |
---|
40 | %% QUADRUPOLES (compensation de l'effet des defauts de focalisation des |
---|
41 | QPassMethod = 'StrMPoleSymplectic4Pass'; |
---|
42 | |
---|
43 | QD11s = quadrupole('QD11s' , 0.30000, -2.62700035, QPassMethod); |
---|
44 | QF12s = quadrupole('QF12s' , 0.40000, 4.15713997, QPassMethod); |
---|
45 | QF13s = quadrupole('QF13s' , 0.50000, 5.07914949, QPassMethod); |
---|
46 | QF23s = quadrupole('QF23s' , 0.20000, 0.95396845, QPassMethod); |
---|
47 | QF14s = quadrupole('QF14s' , 0.48000, 5.29026719, QPassMethod); |
---|
48 | QD15s = quadrupole('QD15s' , 0.40000, -6.13983470, QPassMethod); |
---|
49 | QD22s = quadrupole('QD22s' , 0.20000, -0.05400650, QPassMethod); |
---|
50 | QF25s = quadrupole('QF25s' , 0.20000, 2.77473343, QPassMethod); |
---|
51 | |
---|
52 | %% DIPOLES |
---|
53 | BDE3 = sbend('BDE3', 0.30400, 0.30400/5.36, 0, 0, -4.209110,'BndMPoleSymplectic4Pass'); |
---|
54 | BND2 = sbend('BDE3', 0.35000, 0.35000/11.46021, 0, 0, -3.0000109,'BndMPoleSymplectic4Pass'); |
---|
55 | BND3s = sbend('BDE3', 0.35000, 0.35000/11.46021, 0, 0, -3.119809,'BndMPoleSymplectic4Pass'); |
---|
56 | BSB2 = sbend('BDE3', 0.05000, 0.05000/1.27315, 0, 0, 0.000000,'BndMPoleSymplectic4Pass'); |
---|
57 | |
---|
58 | %% DRIFT SPACES |
---|
59 | |
---|
60 | SD14 = drift('SD14', 3.48300, 'DriftPass'); |
---|
61 | SD15 = drift('SD15', 0.27, 'DriftPass'); |
---|
62 | SD16 = drift('SD16', 0.35, 'DriftPass'); |
---|
63 | SD17 = drift('SD17', 0.29, 'DriftPass'); |
---|
64 | SD21 = drift('SD21', 0.27, 'DriftPass'); |
---|
65 | SD22 = drift('SD22', 0.27, 'DriftPass'); |
---|
66 | SD23s = drift('SD23s', 1.90468, 'DriftPass'); |
---|
67 | SD25 = drift('SD25', 0.26, 'DriftPass'); |
---|
68 | SD30 = drift('SD30', 0.25, 'DriftPass'); % upstream V V-scraper % TO BE UPDATED |
---|
69 | SD31 = drift('SD31', 0.20, 'DriftPass'); % downstream H-scraper |
---|
70 | SD42 = drift('SD42', 0.20, 'DriftPass'); |
---|
71 | |
---|
72 | %% Lattice |
---|
73 | % Superperiods |
---|
74 | |
---|
75 | % SUPERPERIOD #1 |
---|
76 | CELLS = [... |
---|
77 | SYM2 ... |
---|
78 | SD14 QD11s SD15 QF12s SD16 ... |
---|
79 | QD22s SD31 ... |
---|
80 | BDE3... |
---|
81 | SD25 QF23s SD17 QF13s SD30... |
---|
82 | BND2 BSB2... |
---|
83 | BSB2 BND3s... |
---|
84 | SD21 QF14s SD22 QD15s... |
---|
85 | SD42 QF25s... |
---|
86 | SD23s... |
---|
87 | SYM3... |
---|
88 | SD23s ... |
---|
89 | QF25s SD42 ... |
---|
90 | QD15s SD22 QF14s SD21... |
---|
91 | BND3s BSB2... |
---|
92 | BSB2 BND2... |
---|
93 | SD30 QF13s SD17 QF23s SD25 ... |
---|
94 | BDE3... |
---|
95 | SD31 QD22s... |
---|
96 | SD16 QF12s SD15 QD11s SD14... |
---|
97 | SYM2... |
---|
98 | ]; |
---|
99 | |
---|
100 | |
---|
101 | %THE STORAGE RING |
---|
102 | ELIST = [... |
---|
103 | CELLS ... |
---|
104 | CAV]; |
---|
105 | |
---|
106 | buildlat(ELIST); |
---|
107 | |
---|
108 | % Set all magnets to same energy |
---|
109 | THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0); |
---|
110 | |
---|
111 | evalin('caller','global THERING FAMLIST GLOBVAL'); |
---|
112 | atsummary; |
---|
113 | |
---|
114 | |
---|
115 | if nargout |
---|
116 | varargout{1} = THERING; |
---|
117 | end |
---|