! reg filter for updated variables updateInjector := "S[I1].*k1;S20SY01.*k1"; ! into laser heater sinlh01.mqua020.k1 = 0; sinlh01.mqua040.k1 = 0; sinlh01.mqua070.k1 = 0; sinsb03.mqua130.k1 = 0; sinsb03.mqua230.k1 = 0; L = 8.72; alpha = 1; beta = alpha*L; MATCH,SEQUENCE=SwissFEL,range=#s/sinbc02$start,beta0 = Twiss0; VARY,NAME=sinlh01.MQUA020.k1,STEP=0.0001; VARY,NAME=sinlh01.MQUA040.k1,STEP=0.0001; VARY,NAME=sinlh01.MQUA070.k1,STEP=0.0001; VARY,NAME=sinsb03.MQUA130.k1,STEP=0.0001; VARY,NAME=sinsb03.MQUA230.k1,STEP=0.0001; VARY,NAME=sinsb04.MQUA130.k1,STEP=0.0001; VARY,NAME=sinsb04.MQUA230.k1,STEP=0.0001; CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, alfx = alpha; CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, alfy = alpha; CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, betx = beta; CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, bety = beta; CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua130$end, betx < 100; CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua130$end, bety < 100; CONSTRAINT,SEQUENCE=SwissFEL,range=sinlh01.mqua070$end, betx < 100; CONSTRAINT,SEQUENCE=SwissFEL,range=sinlh01.mqua070$end, bety < 100; LMDIF,CALLS=1000,TOLERANCE=1.e-21; SIMPLEX,CALLS=1000,TOLERANCE=1.e-21; ENDMATCH; sinbc01.mqua020.k1=0.0; sinbc01.mqua050.k1=0; sinbc01.mqua070.k1=0; sinbc01.mqua090.k1=0; sinbc01.mqua110.k1=0; twiss,SEQUENCE=swissfel,range=#s/sinbc01$end,beta0 = Twiss0; plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100; MATCH,SEQUENCE=SwissFEL,range=#s/sinma01$start,beta0 = Twiss0; VARY,NAME=sinbc01.MQUA020.k1,STEP=0.0001; VARY,NAME=sinbc01.MQUA050.k1,STEP=0.0001; VARY,NAME=sinbc01.MQUA070.k1,STEP=0.0001; VARY,NAME=sinbc01.MQUA090.k1,STEP=0.0001; VARY,NAME=sinbc01.MQUA110.k1,STEP=0.0001; CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc02$end, betx < 5; CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc02$end, alfx = 0; CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc01.mqua070$end, bety < 32; CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc02$end, bety < 59; CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc01$end, x = 0; SIMPLEX,CALLS=1000,TOLERANCE=1.e-21; ENDMATCH; twiss,SEQUENCE=swissfel,range=#s/sinbc02$end,beta0 = Twiss0; plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100; sinma01.mqua020.k1=-0.1; sinma01.mqua030.k1=0; sinma01.mqua050.k1=0; sincb01.mqua230.k1=0; sincb01.mqua430.k1=0; sindi01.mqua020.k1=0; sindi01.mqua070.k1=0; sindi02.mqua020.k1=0.0; sindi02.mqua030.k1=0.0; sindi02.mqua050.k1=0; sindi02.mqua060.k1=0; sindi02.mqua090.k1=0; bc1betx=11.1557; bc1alfx=-1.17; bc1bety=50; bc1alfy=0; beta=50; MATCH,SEQUENCE=SwissFEL,range=#s/sindi02$end,beta0 = Twiss0; VARY,NAME=sinma01.MQUA020.k1,STEP=0.0001; VARY,NAME=sinma01.MQUA030.k1,STEP=0.0001; VARY,NAME=sinma01.MQUA050.k1,STEP=0.0001; VARY,NAME=sincb01.MQUA230.k1,STEP=0.0001; VARY,NAME=sincb01.MQUA430.k1,STEP=0.0001; VARY,NAME=sindi01.mqua020.k1,STEP=0.0001,lower=-3.5,upper=3.5; VARY,NAME=sindi01.mqua070.k1,STEP=0.0001,lower=-3.5,upper=3.5; CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,bety=bc1bety; CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,alfy=bc1alfy; CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,betx=bc1betx; CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,alfx=bc1alfx; CONSTRAINT,SEQUENCE=SwissFEL,range=sinma01$end, betx < 100; CONSTRAINT,SEQUENCE=SwissFEL,range=sinma01$end, bety < 100; CONSTRAINT,SEQUENCE=SwissFEL,range=sincb01$end, betx < 100; CONSTRAINT,SEQUENCE=SwissFEL,range=sincb01$end, bety < 100; LMDIF,CALLS=1000,TOLERANCE=1.e-21; SIMPLEX,CALLS=1000,TOLERANCE=1.e-21; ENDMATCH; twiss,SEQUENCE=swissfel,range=#s/sindi02$end,beta0 = Twiss0; plot,haxis=s,vaxis=betx,bety,range=sinbc02$start/#e,colour=100; s10cb01.mqua230.k1=0.2; s10cb01.mqua430.k1=-0.2; muLin1=0.2; match,SEQUENCE=swissfel,range=S10cb01$start/s10cb01$end; Vary,name=S10CB01.MQUA230.k1,step=0.0001; Vary,name=S10CB01.MQUA430.k1,step=0.0001; constraint,sequence=swissfel,range=s10cb01$end,mux=muLin1; constraint,sequence=swissfel,range=s10cb01$end,muy=muLin1; lmdif,calls=100,tolerance=1e-21; endmatch; s10cb02.mqua230.k1 = s10cb01.mqua230.k1; s10cb02.mqua430.k1 = s10cb01.mqua430.k1; twiss,SEQUENCE=swissfel,range=s10cb01$start/s10cb01$end; nbetx=table(twiss,s10cb01$end,betx); nalfx=table(twiss,s10cb01$end,alfx); nbety=table(twiss,s10cb01$end,bety); nalfy=table(twiss,s10cb01$end,alfy); plot,haxis=s,vaxis=betx,bety,colour=100; MATCH,SEQUENCE=SwissFEL,range=#s/s10cb02$end,beta0 = Twiss0; VARY,NAME=sindi02.mqua020.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=sindi02.mqua030.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=sindi02.mqua050.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=sindi02.mqua060.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=sindi02.mqua090.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=s10cb01.mqua230.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=s10cb01.mqua430.k1,STEP=0.0001,lower=-5.5,upper=5.5; CONSTRAINT,SEQUENCE=swissfel,range=s10cb02$start,betx=nbetx; CONSTRAINT,SEQUENCE=swissfel,range=s10cb02$start,alfx=nalfx; CONSTRAINT,SEQUENCE=swissfel,range=s10cb02$start,bety=nbety; CONSTRAINT,SEQUENCE=swissfel,range=s10cb02$start,alfy=nalfy; CONSTRAINT,SEQUENCE=swissfel,range=s10cb01$start,x=0; CONSTRAINT,SEQUENCE=swissfel,range=s10cb01$start,y=0; CONSTRAINT,SEQUENCE=swissfel,range=s10cb01$start,dx=0; CONSTRAINT,SEQUENCE=swissfel,range=s10cb01$start,dy=0; LMDIF,CALLS=1000,TOLERANCE=1.e-21; ENDMATCH; twiss,SEQUENCE=swissfel,range=#s/s10cb02$end,beta0 = Twiss0; plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100; S10DI01.MQUA120.k1=S10CB02.MQUA230.k1; S10CB03.MQUA230.k1=S10CB02.MQUA430.k1; S10CB03.MQUA430.k1=S10CB02.MQUA230.k1; S10CB04.MQUA230.k1=S10CB02.MQUA430.k1; S10CB04.MQUA430.k1=S10CB02.MQUA230.k1; S10CB05.MQUA230.k1=S10CB02.MQUA430.k1; S10CB05.MQUA430.k1=S10CB02.MQUA230.k1; S10CB06.MQUA230.k1=S10CB02.MQUA430.k1; S10CB06.MQUA430.k1=S10CB02.MQUA230.k1; S10CB07.MQUA230.k1=S10CB02.MQUA430.k1; S10CB07.MQUA430.k1=S10CB02.MQUA230.k1; S10CB08.MQUA230.k1=S10CB02.MQUA430.k1; S10CB08.MQUA430.k1=S10CB02.MQUA230.k1; S10CB09.MQUA230.k1=S10CB02.MQUA430.k1; S10CB09.MQUA430.k1=S10CB02.MQUA230.k1; S10CB10.MQUA230.k1=S10CB02.MQUA430.k1; S10CB10.MQUA430.k1=S10CB02.MQUA230.k1; S10CB11.MQUA230.k1=S10CB02.MQUA430.k1; twiss,SEQUENCE=swissfel,range=#s/s10cb10$end,beta0 = Twiss0; plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100; s20sy01.mqua010.k1:=0; s20sy01.mqua020.k1:=0; s20sy01.mqua030.k1:=0; s20sy01.mqua040.k1:=0; MATCH,SEQUENCE=SwissFEL,range=#s/s20sy02$start,beta0 = Twiss0; VARY,NAME=s20sy01.mqua010.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=s20sy01.mqua020.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=s20sy01.mqua030.k1,STEP=0.0001,lower=-5.5,upper=5.5; VARY,NAME=s20sy01.mqua040.k1,STEP=0.0001,lower=-5.5,upper=5.5; !VARY,NAME=s20sy01.mqua080.k1,STEP=0.0001,lower=-5.5,upper=5.5; CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,betx=10; CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,alfx=-0.2; CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,bety=15; CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,alfy=1; !CONSTRAINT,SEQUENCE=swissfel,range=s20sy01.mqua020$end,bety<80; LMDIF,CALLS=1000,TOLERANCE=1.e-21; ENDMATCH; !Twisssep: beta0,betx=20,alfx=-0.5,bety=15,alfy=1; twiss,SEQUENCE=swissfel,range=#s/s20sy01$end,beta0 = Twiss0; plot,haxis=s,vaxis=betx,bety,range=s10cb08$start/#e,colour=100; plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;