source: MML/trunk/machine/SOLEIL/StorageRing/modelnonlindisp.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: 1.7 KB
Line 
1function modelnonlindisp
2
3%
4%% Written by Laurent S. Nadolski
5
6kmax = 50;
7deltaRF = 50e-6; % Hz
8alpha1 = modelmcf;
9
10hMat(:,:) = zeros((2*kmax+1),length(getx));
11vMat(:,:) = hMat(:,:);
12rfVect = zeros((2*kmax+1),1);
13
14
15steprf(-deltaRF*(kmax+1));
16   
17for k=1:(2*kmax+1),
18    steprf(deltaRF)
19    hMat(k,:) = getx;
20    vMat(k,:) = getz;
21    rfVect(k) = getrf;
22end
23
24steprf(-deltaRF*kmax);
25
26%%
27plot((rfVect-rfVect(kmax+1))*1e6, hMat(:,1)*alpha1*getrf/(2*deltaRF),'.-');
28grid on
29
30%%
31
32refreshthering;
33global THERING;
34
35[CavityState, PassMethod, iCavity] = getcavity;
36
37kmax = 50;
38deltaRF = 40; % Hz
39clear hMat rfVect vMat
40hMat(:,:) = zeros((2*kmax+1),length(THERING)+1);
41vMat(:,:) = hMat(:,:);
42rfVect = zeros((2*kmax+1),1);
43
44CavityFrequency = THERING{iCavity(1)}.Frequency;
45
46for k=1:(2*kmax+1),
47    for kk = 1:length(iCavity)
48        THERING{iCavity(kk)}.Frequency = CavityFrequency + deltaRF*(k - (kmax +1));
49    end
50    rep  = findorbit6(THERING, 1:length(THERING)+1);
51    hMat(k,:) = rep(1,:);
52    vMat(k,:) = rep(3,:);
53    rfVect(k) = deltaRF*(k - (kmax +1));
54end
55
56for kk = 1:length(iCavity)
57    THERING{iCavity(kk)}.Frequency = CavityFrequency;
58end
59
60% for k=1:kmax,
61%   deltahOrbit(k,:) = hMat(end-(k+1),:) - hMat(k,:);
62%   deltaRFVect(k) =   rfVect(end-(k+1)) - rfVect(k);
63% end
64   
65%%
66order = 4;
67order4 = order-3;
68order3 = order-2;
69order2 = order-1;
70order1 = order;
71
72spos = findspos(THERING,1:length(THERING)+1);
73figure;
74plot(rfVect, hMat(:,1),'.');
75
76clear p;
77for k = 1:length(THERING)+1,
78    p(k,:) = polyfit(rfVect, hMat(:,k), order);
79end
80%%
81
82pdelta = -p*alpha1*CavityFrequency;
83
84figure;
85subplot(4,1,1)
86plot(spos, pdelta(:,order1))
87subplot(4,1,2)
88plot(spos, pdelta(:,order2))
89subplot(4,1,3)
90plot(spos, pdelta(:,order3))
91% subplot(4,1,4)
92% plot(spos, pdelta(:,order4))
Note: See TracBrowser for help on using the repository browser.