source: MML/trunk/machine/SOLEIL/StorageRing/BBA/CalcDk.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 1.4 KB
Line 
1function [DK]=CalcDK(famQ,locQ,famB,locB,Plane)
2
3
4
5%Dx(s)=(-Dk(sQp) x(sQp))*[1/{1-k(sQp)*l Bet(sQp)/(2 tan(Pi nux))}]*
6%[rac(Bet(sBpm))*rac(Bet(sQp))]/(2 sin(pi nux))*
7%cos(fix(sBpm)-fix(sQp)-pi nux)
8% clear
9 %famQ='Q1'
10 %locQ=[4 1]
11 %famB='BPMx'
12
13%% position longitudinale du quadrupole considéré
14% sQp=getspos(famQ,locQ);
15% [famresB,locB,sBpm]=proche2(famB,famQ,locQ,0);
16%
17%% extration du nombre d'onde
18
19 %tune=gettune;
20 nux=18+0.4;%tune(1)
21 nuz=10+0.3;%tune(2)
22%
23%% extraction des fonctions béta au Qp considéré:
24 [bxQ,bzQ]=modelbeta(famQ,locQ);
25%% extraction des fonctions bᅵta au BPM considéré:
26 [bxB,bzB]=modelbeta(famB,locB);
27%
28%% extraction des phases au Qp considéré:
29 [fixQ,fizQ]=modelphase(famQ,locQ);
30%% extraction des phases au BPM considéré:
31 [fixB,fizB]=modelphase(famB,locB);
32%%
33
34 
35 if Plane==1 %plan horizontal
36    BetQ=bxQ;
37    BetB=bxB;
38    fiQ=fixQ;
39    fiB=fixB;
40    nu=nux;
41 elseif Plane==2 %plan vertical
42    BetQ=bzQ;
43    BetB=bzB;
44    fiQ=fizQ;
45    fiB=fizB;
46    nu=nuz;
47 end
48
49keff=getkleff(famQ,locQ);
50leff=getleff(famQ,locQ);
51
52%DK=1e-3*(1-keff*leff*BetQ/(2*tan(pi*nu)))*(2*sin(pi*nu))/((BetB)^(1/2)*(BetQ)^(1/2)*cos(fiB-fiQ-pi*nu)*keff)/Dx; % DI/I
53Deltax=0.01e-3; %(déplacement)
54Dx=0.1e-3;
55%Dx défaut initial
56getam(famQ,locQ);
57kef=keff;
58DK=Deltax*(1+keff*BetQ/(2*tan(pi*nu)))/(BetQ/(2*tan(pi*nu))*Dx); % DI/I
59rel=DK/(50*keff);
60DK=rel;
61
62%Dx2=Deltax*(1+keff*BetQ/(2*tan(pi*nu)))/(BetQ/(2*tan(pi*nu))*0.10*keff);
63
64
65
66
Note: See TracBrowser for help on using the repository browser.