source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/lat_superbendv2.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: 4.4 KB
Line 
1function 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
20global FAMLIST THERING GLOBVAL
21
22GLOBVAL.E0 = 2.75e9; % Ring energy
23GLOBVAL.LatticeFile = mfilename;
24FAMLIST = cell(0);
25
26disp(['** Loading SOLEIL magnet lattice ', mfilename]);
27
28L0 = 44.06000;% design length [m]
29C0 = 2.99792458e8;           % speed of light [m/s]
30HarmNumber = 416;
31
32%% Marker and apertures
33SYM0  =  marker('SYM0', 'IdentityPass');
34SYM1  =  marker('SYM1', 'IdentityPass');
35SYM2  =  marker('SYM2', 'IdentityPass');
36
37%% RF Cavity
38%              NAME   L     U[V]       f[Hz]          h        method
39CAV = rfcavity('RF' , 0.0 , 4.0e+6 , HarmNumber*C0/L0, HarmNumber ,'CavityPass');
40
41%% QUADRUPOLES (compensation de l'effet des defauts de focalisation des
42QPassMethod = 'StrMPoleSymplectic4Pass';
43
44QD11   =  quadrupole('QD11' , 0.30000, -1.6913147, QPassMethod);
45QF12   =  quadrupole('QF12' , 0.40000,  3.6256564, QPassMethod);
46QF13   =  quadrupole('QF13' , 0.50000,  5.0791495, QPassMethod);
47QF23   =  quadrupole('QF23' , 0.20000,  0.9539685, QPassMethod);
48QF14   =  quadrupole('QF14' , 0.48000,  5.3945733, QPassMethod);
49QD15   =  quadrupole('QD15' , 0.40000, -4.2761077, QPassMethod);
50QD22   =  quadrupole('QD22' , 0.20000, -0.0399759, QPassMethod);
51QF25   =  quadrupole('QF25' , 0.20000,  -3.6479849, QPassMethod);
52QD82   =  quadrupole('QF25' , 0.20000,  -0.0540065, QPassMethod);
53QD71   =  quadrupole('QF25' , 0.30000,  -2.6270004, QPassMethod);
54QF72   =  quadrupole('QF25' , 0.40000,   4.1571400, QPassMethod);
55
56%% DIPOLES
57BDE3  =  sbend('BDE3', 0.30400, 0.30400/5.36, 0, 0, -4.209110,'BndMPoleSymplectic4Pass');
58BND2  =  sbend('BDE3', 0.35000, 0.35000/11.46021, 0, 0, -3.0000109,'BndMPoleSymplectic4Pass');
59BND3  =  sbend('BDE3', 0.35000, 0.35000/11.46021, 0, 0, -2.3790756,'BndMPoleSymplectic4Pass');
60BSB2  =  sbend('BDE3', 0.05000, 0.05000/1.27315, 0, 0,  0.000000,'BndMPoleSymplectic4Pass');
61 
62%% DRIFT SPACES
63
64SD1  = drift('SD1',  6.0000, 'DriftPass');
65SD14 = drift('SD14',  3.48300, 'DriftPass');
66SD15 = drift('SD15',  0.27, 'DriftPass');
67SD16 = drift('SD16',  0.35, 'DriftPass');
68SD17 = drift('SD17',  0.29, 'DriftPass');
69SD21 = drift('SD21',  0.27, 'DriftPass');
70SD22 = drift('SD22',  0.27, 'DriftPass');
71SD23 = drift('SD23',  0.12950, 'DriftPass');
72SD25 = drift('SD25',  0.26, 'DriftPass');
73SD30 = drift('SD30',  0.25, 'DriftPass');
74SD31 = drift('SD31',  0.20, 'DriftPass');
75SD42 = drift('SD42',  0.20, 'DriftPass');
76
77%% Lattice
78% Superperiods
79
80% SUPERPERIOD #1
81CELLML  = [...
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
109ELIST = [...
110    CELLML reverse(CELLML) ...
111    CAV];
112
113buildlat(ELIST);
114
115% Set all magnets to same energy
116THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
117
118evalin('caller','global THERING FAMLIST GLOBVAL');
119atsummary;
120
121
122if nargout
123    varargout{1} = THERING;
124end
Note: See TracBrowser for help on using the repository browser.