176 lines
6.7 KiB
Plaintext
176 lines
6.7 KiB
Plaintext
|
|
! into laser heater
|
|
|
|
|
|
|
|
L = 8.72;
|
|
alpha = 1;
|
|
beta = alpha*L;
|
|
|
|
|
|
Print,text='MATCH POINT: Laser Heater';
|
|
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 = TwissM1->ALFX;
|
|
CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, alfy = TwissM1->ALFY;
|
|
CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, betx = TwissM1->BETX;
|
|
CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb04.mqua230$end, bety = TwissM1->BETY;
|
|
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;
|
|
|
|
|
|
|
|
twiss,SEQUENCE=swissfel,range=#s/sinbc01$end,beta0 = Twiss0;
|
|
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
|
|
|
Print,text='MATCH POINT: BC 1';
|
|
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;
|
|
|
|
Print,text='MATCH POINT: Injector-TDS';
|
|
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=TwissM2->BETY;
|
|
CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,alfy=TwissM2->ALFY;
|
|
CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,betx=TwissM2->BETX;
|
|
CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,alfx=TwissM2->ALFX;
|
|
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;
|
|
|
|
|
|
s10cb02.mqua230.k1=0.2;
|
|
s10cb02.mqua430.k1=-0.2;
|
|
|
|
muLin1=0.2;
|
|
Print,text='MATCH POINT: FODO - Linac 1';
|
|
match,SEQUENCE=swissfel,range=S10cb02$start/s10cb02$end;
|
|
Vary,name=S10CB02.MQUA230.k1,step=0.0001;
|
|
Vary,name=S10CB02.MQUA430.k1,step=0.0001;
|
|
constraint,sequence=swissfel,range=s10cb02$end,mux=muLin1;
|
|
constraint,sequence=swissfel,range=s10cb02$end,muy=muLin1;
|
|
lmdif,calls=100,tolerance=1e-21;
|
|
endmatch;
|
|
|
|
s10cb01.mqua230.k1 = s10cb02.mqua230.k1;
|
|
s10cb01.mqua430.k1 = s10cb02.mqua430.k1;
|
|
|
|
twiss,SEQUENCE=swissfel,range=s10cb02$start/s10cb02$end;
|
|
|
|
nbetx=table(twiss,s10cb02$end,betx);
|
|
nalfx=table(twiss,s10cb02$end,alfx);
|
|
nbety=table(twiss,s10cb02$end,bety);
|
|
nalfy=table(twiss,s10cb02$end,alfy);
|
|
plot,haxis=s,vaxis=betx,bety,colour=100;
|
|
|
|
Print,text='MATCH POINT: Match into Linac 1';
|
|
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;
|
|
|
|
|
|
Print,text='MATCH POINT: Match into Athos Septum';
|
|
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.mqua060.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;
|
|
CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,betx=twisssep->BETX;
|
|
CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,alfx=twisssep->ALFX;
|
|
CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,bety=twisssep->BETY;
|
|
CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,alfy=twisssep->ALFY;
|
|
!CONSTRAINT,SEQUENCE=swissfel,range=s20sy01.mqua020$end,bety<80;
|
|
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
|
ENDMATCH;
|
|
|
|
|
|
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;
|
|
|
|
|