Initial test of matching
This commit is contained in:
86
Scripts/switchyard.madx
Normal file
86
Scripts/switchyard.madx
Normal file
@@ -0,0 +1,86 @@
|
||||
MATCH,SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy01.mqua020.k1, STEP=0.00001,LOWER=-4,UPPER=4;
|
||||
VARY, NAME=satsy01.mqua040.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy01.mqua070.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy01.mqua090.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DX = 0.082; !
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPX = 0.0084;
|
||||
!CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPX = DPXM*1.2;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DY < 0.09;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPY < 1;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
!-------------------------------------
|
||||
! match second half of SATSY01 - closing dispersion
|
||||
|
||||
if (initquads ==1){
|
||||
satsy01.mqua210.k1=satsy01.mqua090.k1;
|
||||
satsy01.mqua230.k1=satsy01.mqua070.k1;
|
||||
satsy01.mqua260.k1=satsy01.mqua040.k1;
|
||||
satsy01.mqua280.k1=satsy01.mqua020.k1;
|
||||
satsy01.mqua300.k1 := 5.27400e-01;
|
||||
}
|
||||
|
||||
DXS = -0.030;
|
||||
DPXS = -0.001;
|
||||
|
||||
MATCH,SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy01.mqua280.k1, STEP=0.00001,LOWER=-4,UPPER=4;
|
||||
VARY, NAME=satsy01.mqua300.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DX = DXS;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DPX =DPXS;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, X < 0.1;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
matching.xdispersion=TAR;
|
||||
|
||||
|
||||
!------------------------------------------
|
||||
! close vertical dispersion
|
||||
|
||||
if (initquads==1){
|
||||
satsy02.mqua010.k1 := - 1.71;
|
||||
satsy02.mqua110.k1 := 1.22622;
|
||||
satsy02.mqua120.k1 := 1.64073;
|
||||
satsy02.mqua230.k1 = -1.61620;
|
||||
}
|
||||
|
||||
MATCH,SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy02.mqua010.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy02.mqua110.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy02.mqua120.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy02$end, DY = 0.0;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy02$end, DPY = 0.0;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy02$end, X = 0.0;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
matching.ydispersion=TAR;
|
||||
|
||||
|
||||
!---------------------------------
|
||||
! match sextupoles
|
||||
|
||||
if (initquads==1){
|
||||
satsy01.msex050.k2 = 100;
|
||||
satsy01.msex080.k2 = -100;
|
||||
satsy01.msex220.k2 = -100;
|
||||
satsy01.msex250.k2 = 100;
|
||||
}
|
||||
|
||||
|
||||
MATCH,chrom, SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy01.msex050.k2, STEP=0.00001;
|
||||
VARY, NAME=satsy01.msex080.k2, STEP=0.00001;
|
||||
VARY, NAME=satsy01.msex220.k2, STEP=0.00001;
|
||||
VARY, NAME=satsy01.msex250.k2, STEP=0.00001;
|
||||
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDX = 0;
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDY = 0;
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDPX = 0;
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDPY = 0;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
34
Scripts/switchyard_kicker.madx
Normal file
34
Scripts/switchyard_kicker.madx
Normal file
@@ -0,0 +1,34 @@
|
||||
!-----------------------------------
|
||||
! switch yard
|
||||
! matching condition at the septum, the new design by Natalia on 27th July 2011
|
||||
! find the correct kicker strength to have the right dispersion and offset.
|
||||
|
||||
y_sep=0.01;
|
||||
py_sep=0.0;
|
||||
dy_sep=-y_sep;
|
||||
dpy_sep=-py_sep;
|
||||
|
||||
|
||||
S20SY02.MKDC010.cory := SYKICK*2;
|
||||
S20SY02.MKAC020.cory := SYKICK*3;
|
||||
S20SY02.MKDC030.cory := SYKICK*2;
|
||||
S20SY02.MKAC040.cory := SYKICK*3;
|
||||
S20SY02.MKDC050.cory := SYKICK*2;
|
||||
|
||||
|
||||
use,sequence=s20sy02;
|
||||
MATCH,SEQUENCE=s20sy02,range=#s/#e,betx=20,alfx=0,bety=20,alfy=0;
|
||||
VARY,NAME=s20sy02.mqua070.k1,STEP=0.0001,lower=-3,upper=3;
|
||||
VARY,NAME=s20sy02.mqua100.k1,STEP=0.0001,lower=-3,upper=3;
|
||||
VARY,NAME=s20sy02.mqua140.k1,STEP=0.0001,lower=-3,upper=3;
|
||||
VARY,NAME=s20sy02.mqua180.k1,STEP=0.0001,lower=-3,upper=3;
|
||||
VARY,NAME=SYKICK,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,y=y_sep;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,py=py_sep;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,dy=-0.007;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,dpy<1;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mqua180, BETY < 60;
|
||||
LMDIF,CALLS=8000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
twiss,sequence=s20sy02,range=#s/#e,rmatrix,betx=20,alfx=0,bety=20,alfy=0;
|
||||
Reference in New Issue
Block a user