Files
OpticsTools/Scripts/switchyard.madx
2026-01-26 12:51:49 +01:00

111 lines
4.0 KiB
Plaintext

satsy01.mqua020.k1 := 0.48577;
satsy01.mqua040.k1 := 1.0122;
satsy01.mqua070.k1 := -0.055;
satsy01.mqua090.k1 := -0.826;
kmin=-2;
kmax=2;
MATCH,SEQUENCE=swissfel,range=s20SY02$start/satcl01$end,beta0=initcon;
VARY, NAME=satsy01.mqua020.k1, STEP=0.00001,LOWER=0,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 < 7.05e2;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPX = 7.87e-3;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, ALFX=0;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, ALFY=0;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPY =-1.16e-4;
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
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.000;
DPXS = 0.000;
MATCH,SEQUENCE=swissfel,range=s20SY02$start/satcl01$end,beta0=initcon;
VARY, NAME=satsy01.mqua230.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy01.mqua210.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy01.mqua300.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy01.mqua280.k1, STEP=0.00001,LOWER=-4,UPPER=4;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DX = 0;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DPX = 0;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DY < -0.009;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, X<10;
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
satsy01.mqua280.k1 = satsy01.mqua280.k1*1.3;
!------------------------------------------
! close vertical dispersion
satsy02.mqua010.k1 := - 1.71;
satsy02.mqua110.k1 := 1.22622;
satsy02.mqua120.k1 := 1.64073;
satsy02.mqua230.k1 = -1.61620;
MATCH,SEQUENCE=swissfel,range=s20SY02$start/satcl01$end,beta0=initcon;
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;
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
satcl011:=-1.3;
satcl012:= 1.1;
satcl01.mqua120.k1:=satcl011;
satcl01.mqua130.k1:=satcl012;
satcl01.mqua180.k1:=satcl012;
satcl01.mqua190.k1:=satcl011;
MATCH, SEQUENCE=swissfel, range=SATCL01$START/#SATCL01$END,betx=5,alfx=0,bety=30,alfy=0;
VARY, NAME=satcl011, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satcl012, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satcl01$end, DX = 0;
CONSTRAINT, SEQUENCE=swissfel, RANGE=satcl01$end, DPX = 0;
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
satsy02.mqua230.k1 = -0.12;
satsy03.mqua010.k1 = 0.56;
satsy03.mqua040.k1 = 0.72;
satsy03.mqua070.k1 = 0.427;
satsy03.mqua100.k1 = -0.01;
satsy03.mqua130.k1 = -0.67;
MATCH,SEQUENCE=swissfel,range=#s/#e,range=s20SY02$start/satcl01$end,beta0=initcon;
VARY, NAME=satsy02.mqua230.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy03.mqua010.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy03.mqua040.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy03.mqua070.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy03.mqua100.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
VARY, NAME=satsy03.mqua130.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satcl01.msex160,betx=10.8;
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satcl01.msex160,alfx=-0.01;
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satcl01.msex160,bety<30.8; ! was 13.8
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satcl01.msex160,alfy=-0.01;
constraint, sequence=swissfel, range=satsy03.mqua130$end, betx <90 ;
constraint, sequence=swissfel, range=satsy03.mqua130$end, bety <90 ;
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
twiss,sequence=swissfel,range=s20sy02$start/satcl01$end,rmatrix,beta0=initcon;