source: MML/trunk/machine/SOLEIL/Booster/applications/track3.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: 2.0 KB
Line 
1%  reglage tracking simulé injection 110 MeV et Br=0.00095 G
2
3kf0=1.178  ;              % gradient pour 6.78/4.72
4kd0=0.938;
5
6Grf = 0.0465 ;           % gradient remanent  T/m
7Grd = 0.0485 ;           % gradient remanent  T/m
8a  = 0.0517 ;           % G/I   T/m/A
9Br = 0.0020 ;           % Champ remanent T
10b  = 0.0013051 ;       % B/I  T/A
11rho=12.3773 ;           % rayon dipole
12brhom = 8.86 ;      %  à 2.75 GeV
13Iqfc = -0.33 ;             % Offset QPF
14Iqdc = -0.49 ;             % Offset QPD
15Ibc = 0. ;                 % Offset Dip
16
17Iqf0 =(kf0*brhom-Grf)/a - Iqfc;
18Iqd0=(kd0*brhom-Grd)/a -Iqdc ;
19Id0  = (brhom/rho-Br)/b - Ibc;
20sprintf('Id0= %g   Iqf0= %g  Iqd0= %g ' ,Iqf0, Iqd0 , Id0 )
21
22del =0.000 ;          % délai retard si positif
23
24rd0  = ((Iqd0+Iqfc)*a+Grf)/((Id0*b+Br)*rho) ;
25rf0   = ((Iqf0+Iqdc)*a+Grd)/((Id0*b+Br)*rho) ;
26sprintf('KF0= %g   KD0= %g', rf0, rd0)
27
28m1   =[ 0.124  0.0176 ; 0.0285  0.1 ] ; % matrice dnu dK=m1*dnu
29
30w=2*3.14159*(50./17.);
31i=0;
32clear fq fd r time
33
34i = 1 : 1 : 1700;
35t=i/10000;
36time=t;
37fq = 0.5*(1-cos(w*(t-del)));
38fd = 0.5*(1-cos(w*t));
39pf=Grf + a*(Iqfc + Iqf0*fq);
40pd=Grd + a*(Iqdc + Iqd0*fq);
41p0=Br + b*(Ibc + Id0*fd);
42
43%[D1 D2 QF QD time]=gettrackingdata('nodisplay')
44%pf=Grf + a*(QF);
45%pd=Grd + a*(QD);
46%p0=Br + b*(D1+D2)/2;
47
48rf=pf./(p0*rho);
49rd=pd./(p0*rho);
50dnux= 0. + 8.4045*(rf-rf0) - 01.4792*(rd-rd0);
51dnuz= 0. - 2.3953*(rf-rf0) + 10.4216*(rd-rd0);
52
53
54plot(time(100:1700) , dnux(100:1700) , time(100:1700) , dnuz(100:1700))
55ylim([-.5 .5]);
56
57% coutant à l'injection
58sprintf('courant injection rampe  : dip= %g   Q= %g   Qd= %g' , Id0*fd(215) , Iqf0*fq(215) , Iqd0*fq(215))
59sprintf('courant injection réel      : dip= %g   Q= %g   Qd= %g' , Id0*fd(215) +Ibc, Iqf0*fq(215) +Iqfc, Iqd0*fq(215)+Iqdc)
60sprintf('courant injection  : dip= %g   ' , p0(215))
61
62%Calcul offset sur Qpole en A
63testf =  (rf0*p0(20)*rho - (Grf + a*Iqf0*fq(20)))/a;
64testd =  (rd0*p0(20)*rho - (Grd + a*Iqd0*fq(20)))/a;
65sprintf('courant offset  : If= %g   Id= %g', testf, testd)
66
Note: See TracBrowser for help on using the repository browser.