1 | !---|----1----|----2----|----3----|----4----|----5----|----6----|----7----|---8; |
---|
2 | Option, warn,info; |
---|
3 | |
---|
4 | Title, "Matching an insertion of the LHC 6.5 lattice with MADX"; |
---|
5 | |
---|
6 | !---------------------------------------------------------------; |
---|
7 | ! CALL IN SELECTION, SEQUENCE and OPTICS FILES; |
---|
8 | !---------------------------------------------------------------; |
---|
9 | option, -echo; |
---|
10 | call, file = "../share/LHC/LHCRing/V6.503/V6.5.seq"; |
---|
11 | call, file = "../share/LHC/LHCRing/V6.503/V6.5.coll.str"; |
---|
12 | option, echo; |
---|
13 | |
---|
14 | Beam, particle = proton, sequence=lhcb1, energy = 7000.0; |
---|
15 | Beam, particle = proton, sequence=lhcb2, energy = 7000.0; |
---|
16 | ! the 'bv' parameter indicates that beam2 rotates counter-clockwise |
---|
17 | |
---|
18 | ! select IR8 of beam1: |
---|
19 | call,file="../share/LHC/LHCRing/V6.503/toolkit/select.ir8.b1.madx"; |
---|
20 | call,file="../share/LHC/LHCRing/V6.503/toolkit/twissini.ir8.b1.madx"; |
---|
21 | |
---|
22 | |
---|
23 | ! Create table for storing data |
---|
24 | n=0; |
---|
25 | create,table=str.ip8.b1,column=n,kq4.l8b1, kq5.l8b1, kq6.l8b1, kq7.l8b1, kq8.l8b1, kq9.l8b1, kq10.l8b1, kqtl11.l8b1, kqt12.l8b1, kqt13.l8b1,kq4.r8b1, kq5.r8b1, kq6.r8b1, kq7.r8b1, kq8.r8b1, kq9.r8b1, kq10.r8b1, kqtl11.r8b1, kqt12.r8b1, kqt13.r8b1,beta.ip8,tar; |
---|
26 | |
---|
27 | ! fill the table |
---|
28 | fill,table=str.ip8.b1; |
---|
29 | |
---|
30 | ! set match variables |
---|
31 | muxip8 := 3.204; ! Horizontal phase advance over IR8 |
---|
32 | muyip8 := 2.804; ! Vertical phase advance over IR8 |
---|
33 | scale := 23348.89927; |
---|
34 | qtlimit1 := 1.0*220.0/scale; |
---|
35 | qtlimit2 := 1.0*200.0/scale; |
---|
36 | qtlimit3 := 1.0*130.0/scale; |
---|
37 | qtlimit4 := 1.0*160.0/scale; |
---|
38 | |
---|
39 | tar=0; |
---|
40 | while( n < 2 ) { ! tar < 1E-10 ) { |
---|
41 | n=n+1; |
---|
42 | beta.ip8=beta.ip8*.6; |
---|
43 | match,sequence=lhcb1,beta0=bir8b1; |
---|
44 | constraint,sequence=lhcb1,range=ip8,betx=beta.ip8,bety=beta.ip8; |
---|
45 | constraint,sequence=lhcb1,range=ip8,alfx=0.0,alfy=0.0; |
---|
46 | constraint,sequence=lhcb1,range=ip8,dx=0.0,dpx=0.0; |
---|
47 | |
---|
48 | constraint,sequence=lhcb1,range=e.DS.R8.B1, |
---|
49 | alfx=eir8b1->alfx,alfy=eir8b1->alfy, |
---|
50 | betx=eir8b1->betx,bety=eir8b1->bety; |
---|
51 | constraint,sequence=lhcb1,range=e.DS.R8.B1,dx=eir8b1->dx,dpx=eir8b1->dpx; |
---|
52 | constraint,sequence=lhcb1,range=e.DS.R8.B1,mux=muxip8,muy=muyip8; |
---|
53 | |
---|
54 | vary,name=KQ4.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
55 | vary,name=KQ5.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
56 | vary,name=KQ6.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
57 | vary,name=KQ7.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
58 | vary,name=KQ8.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
59 | vary,name=KQ9.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
60 | vary,name=KQ10.L8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
61 | vary,name=KQTL11.L8B1,step=1.0e-6,LOWER=-qtlimit3,UPPER=qtlimit3; |
---|
62 | vary,name=KQT12.L8B1,step=1.0e-6,LOWER=-qtlimit3,UPPER=qtlimit3; |
---|
63 | vary,name=KQT13.L8B1,step=1.0e-6,LOWER=-qtlimit3,UPPER=qtlimit3; |
---|
64 | |
---|
65 | vary,name=KQ4.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
66 | vary,name=KQ5.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
67 | vary,name=KQ6.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
68 | vary,name=KQ7.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
69 | vary,name=KQ8.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
70 | vary,name=KQ9.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
71 | vary,name=KQ10.R8B1,step=1.0e-6,LOWER=-qtlimit2,UPPER=qtlimit2; |
---|
72 | vary,name=KQTL11.R8B1,step=1.0e-6,LOWER=-qtlimit3,UPPER=qtlimit3; |
---|
73 | vary,name=KQT12.R8B1,step=1.0e-6,LOWER=-qtlimit3,UPPER=qtlimit3; |
---|
74 | vary,name=KQT13.R8B1,step=1.0e-6,LOWER=-qtlimit3,UPPER=qtlimit3; |
---|
75 | jacobian,calls=30,tolerance=1.e-24; |
---|
76 | endmatch; |
---|
77 | fill,table=str.ip8.b1; |
---|
78 | }; |
---|
79 | write,table=str.ip8.b1,file="str.ip8.b1.dat"; |
---|
80 | stop; |
---|