Optimizing SF+ matching including sextupoles.
Lattice plots have now also an indication for screens
This commit is contained in:
@@ -1,15 +1,17 @@
|
||||
option,-echo;
|
||||
! starting condition
|
||||
Twiss0: beta0,betx=10,alfx=0,bety=10,alfy=0; ! location:swissfel$start
|
||||
TwissM1: beta0,betx=4.36,alfx=0.5,bety=4.36,alfy=0.5; ! location:sinsb04.mqua230$end
|
||||
TwissM1: beta0,betx=5.232,alfx=0.6,bety=5.232,alfy=0.6; ! location:sinsb04.mqua230$end
|
||||
TwissM2: beta0, betx = 11.1557, alfx = -1.17, bety = 50, alfy = 0.; ! label: After BC1 location:sindi02.mqua020$start
|
||||
Twisssep: beta0,betx=10,alfx=-0.2,bety=20,alfy=1.0; ! label: Septum location:s20sy02$start
|
||||
TwissAT1: beta0,betx=34.45,alfx=1,bety=34.45,alfy=1; ! label: Switchyard - Drift location:satsy02.mqua230
|
||||
TwissAT2: beta0,betx=38,alfx=8,bety=1.52,alfy=-0.5; ! label: Switchyard - Double Bend location:satsy03.mqua110
|
||||
TwissAT2: beta0,betx=15,alfx=5,bety=1.52,alfy=-0.5; ! label: Switchyard - Double Bend location:satsy03.mqua110
|
||||
|
||||
TwissAT3: beta0,betx=10,alfx=0.5,bety=10,alfy=0.5; ! label: Beam Stopper location:satcb01.mqua430$end
|
||||
twissee: beta0,betx=7,bety=30,alfx=0.5,alfy=1.5; ! label: EEHG location:satma01.mqua250$end
|
||||
twissAT4: beta0, betx=50,bety=50,alfx=0.0,alfy=0; ! label: Athos XTCAV location: satbd01.mqua010$start
|
||||
twisspor: beta0, betx=3.9036,alfx=-0.05021,bety=37.6374,alfy=4.4433; ! label: Porthos Septum location:s30cb15$end
|
||||
twissL2: beta0, betx=21.84,bety=21.84,alfx=0.6,alfy=0.6; ! label: Athos Linac 2: s20cb01.mqua430$end
|
||||
twisspor: beta0, betx=3.8936,alfx=-0.05021,bety=37.6374,alfy=4.4433; ! label: Porthos Septum location:s30cb15$end
|
||||
twissARECOL:beta0, betx = 2.304, alfx = -1.4045, bety = 25.929, alfy = -6.363; ! label: Aramis ECOL location:sarma01.mqua010$start
|
||||
! variables
|
||||
ECOLasBC = 0; ! Description: Flag to configure Aramis Energy collimator as a bunch compressor
|
||||
|
||||
@@ -15,10 +15,10 @@ MATCH,SEQUENCE=Swissfel,range=s20sy02$start/s20bc02$end,beta0=twisssep;
|
||||
VARY,NAME=s20bc01.mqua010.k1,STEP=0.0001;
|
||||
VARY,NAME=s20bc01.mqua030.k1,STEP=0.0001;
|
||||
VARY,NAME=s20bc01.mqua060.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc02$end,betx<4;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc02$end,bety<90;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc01$end,betx<250;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc01$end,bety<20;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc02$end,betx<4.5;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc02$end,bety<150;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc01$end,betx<150;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20bc01$end,bety<50;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
@@ -27,8 +27,8 @@ plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
||||
|
||||
|
||||
|
||||
muLin3=0.2;
|
||||
pol = 1;
|
||||
muLin3=0.18;
|
||||
pol = -1;
|
||||
s20cb01.mqua430.k1=0.5*pol;
|
||||
s20cb02.mqua430.k1=-0.5*pol;
|
||||
|
||||
@@ -69,7 +69,10 @@ s30cb13.mqua430.k1 = s20cb01.mqua430.k1;
|
||||
s30cb14.mqua430.k1 = s20cb02.mqua430.k1;
|
||||
|
||||
|
||||
|
||||
s20ma01.mqua010.k1=0;
|
||||
s20ma01.mqua020.k1=0;
|
||||
s20ma01.mqua040.k1=0;
|
||||
s20cb01.mqua430.k1=0;
|
||||
|
||||
Print,text='MATCH POINT: Match into Linac 2';
|
||||
MATCH,SEQUENCE=Swissfel,range=s20sy02$start/s20cb04$end,beta0=twisssep;
|
||||
@@ -77,10 +80,14 @@ VARY,NAME=s20ma01.mqua010.k1,STEP=0.0001;
|
||||
VARY,NAME=s20ma01.mqua020.k1,STEP=0.0001;
|
||||
VARY,NAME=s20ma01.mqua040.k1,STEP=0.0001;
|
||||
vary,name=s20cb01.mqua430.k1,step=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,betx=nbetx;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,bety=nbety;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,alfx=nalfx;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,alfy=nalfy;
|
||||
!CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,betx=20;
|
||||
!CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,bety=20;
|
||||
!CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,alfx=0.5;
|
||||
!CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb03$start,alfy=0.5;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb01.mqua430$end,betx=twissL2->betx;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb01.mqua430$end,bety=twissL2->bety;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb01.mqua430$end,alfx=twissL2->alfx;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s20cb01.mqua430$end,alfy=twissL2->alfy;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
@@ -91,14 +98,16 @@ plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
||||
|
||||
Print,text='MATCH POINT: Corrected Matching into Linac 3';
|
||||
MATCH,SEQUENCE=Swissfel,range=s20sy02$start/s30cb07$end,beta0=twisssep;
|
||||
VARY,NAME=s20cb02.mqua430.k1,STEP=0.0001;
|
||||
VARY,NAME=s20cb03.mqua430.k1,STEP=0.0001;
|
||||
VARY,NAME=s20cb04.mqua430.k1,STEP=0.0001;
|
||||
VARY,NAME=s30cb01.mqua430.k1,STEP=0.0001;
|
||||
VARY,NAME=s30cb02.mqua430.k1,STEP=0.0001;
|
||||
VARY,NAME=s30cb03.mqua430.k1,STEP=0.0001;
|
||||
VARY,NAME=s30cb04.mqua430.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb05$start,betx=nbetx;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb05$start,bety=nbety;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb05$start,alfx=nalfx;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb05$start,alfy=nalfy;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb05$start,X<10;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
@@ -133,6 +142,10 @@ LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
s30cb13.mqua430.k1 = 0.456;
|
||||
s30cb14.mqua430.k1 = -1.741;
|
||||
s30cb15.mqua010.k1 = 1.1533;
|
||||
@@ -150,7 +163,7 @@ CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,betx=twisspor->betx;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,bety=twisspor->bety;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,alfx=twisspor->alfx;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,alfy=twisspor->alfy;
|
||||
!LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
!!LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
Simplex, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
@@ -216,13 +229,13 @@ if (ECOLasBC ==0.) {
|
||||
nalfy=-table(twiss,sarcl02$end,alfy);
|
||||
|
||||
|
||||
sarcl02.msex255.k2:=110;
|
||||
sarcl02.msex305.k2:=110;
|
||||
sarcl02.msex255.k2:=ecol_k2;
|
||||
sarcl02.msex305.k2:=ecol_k2;
|
||||
|
||||
Print,text='MATCH POINT: Sextupoles in Energy Collimator';
|
||||
MATCH,chrom,SEQUENCE=sarcl02,range=#s/#e,betx=nbetx,alfx=nalfx,bety=nbety,alfy=nalfy;
|
||||
MATCH,chrom,SEQUENCE=swissfel,range=sarcl02$start/sarcl02$end,betx=nbetx,alfx=nalfx,bety=nbety,alfy=nalfy;
|
||||
VARY,NAME=ecol_k2,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=Sarcl02,range=#e,ddx=0;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$end,ddx=0;
|
||||
LMDIF,CALLS=100,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
@@ -304,14 +317,16 @@ plot,haxis=s,vaxis=betx,bety,range=S30CB15$START/SARCL02$END,colour=100;
|
||||
|
||||
|
||||
!-----------------
|
||||
muAR=0.16;
|
||||
muAR=0.15;
|
||||
sarun02.mqua080.k1=1;
|
||||
sarun03.mqua080.k1=-1;
|
||||
Print,text='MATCH POINT: FODO - Aramis Undulator';
|
||||
match,SEQUENCE=swissfel,range=sarun02$start/sarun03$end;
|
||||
Vary,name=sarun02.mqua080.k1,step=0.0001;
|
||||
Vary,name=sarun03.mqua080.k1,step=0.0001;
|
||||
constraint,sequence=swissfel,range=sarun03$end,mux=muAR;
|
||||
constraint,sequence=swissfel,range=sarun03$end,muy=muAR;
|
||||
lmdif,calls=100,tolerance=1e-21;
|
||||
lmdif,calls=1000,tolerance=1e-21;
|
||||
endmatch;
|
||||
|
||||
twiss,sequence=swissfel,range=sarun02$start/sarun03$end;
|
||||
@@ -367,6 +382,20 @@ ENDMATCH;
|
||||
! from eduard
|
||||
SARUN18.MQUA080.K1= -6.305232722687153e-01;
|
||||
SARUN19.MQUA080.K1= 1.167256186348939e+00;
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Aramis XTCAV';
|
||||
MATCH, SEQUENCE=swissfel,range=s20sy02$start/satbd01$end,beta0=twisssep;
|
||||
VARY,NAME=sarun18.mqua080.k1,STEP=0.0001;
|
||||
VARY,NAME=sarun19.mqua080.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=sarun20$start,betx=50;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=sarun20$start,alfx=0;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
|
||||
|
||||
SARUN20.mqua220.K1= 8.363412365675689e-01;
|
||||
SARBD01.MQUA010.K1= -2.099999992065428e+00;
|
||||
SARBD01.MQUA020.K1= -2.099998228837625e+00;
|
||||
|
||||
@@ -49,7 +49,7 @@ plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
||||
plot,haxis=s,vaxis=y,dy,range=#s/#e,colour=100;
|
||||
|
||||
|
||||
satsy01.mqua110.k1=-0.7;
|
||||
satsy01.mqua110.k1=-1.7;
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Closed Dispersion in Switchyard';
|
||||
@@ -69,24 +69,44 @@ ENDMATCH;
|
||||
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Sextupoles in Switch Yard';
|
||||
MATCH,chrom,SEQUENCE=swissfel,range=s20sy02$start/satsy02$end,beta0=twisssep;
|
||||
VARY,NAME=satsy01.msex030.k2,STEP=0.0001;
|
||||
VARY,NAME=satsy01.msex090.k2,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=satsy01$end,ddx=0;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=satsy01$end,ddpx=0;
|
||||
LMDIF,CALLS=100,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
twiss,SEQUENCE=swissfel,range=s20sy02$start/Satsy02.mqua210$start,beta0=twisssep;
|
||||
|
||||
|
||||
twiss,chrom,SEQUENCE=swissfel,range=s20sy02$start/Satsy02.mqua210$start,beta0=twisssep;
|
||||
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
||||
plot,haxis=s,vaxis=dx,dy,range=#s/#e,colour=100;
|
||||
|
||||
plot,haxis=s,vaxis=ddx,range=#s/#e,colour=100;
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Closed Dispersion in SATSY03';
|
||||
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satsy03$end,beta0=twisssep;
|
||||
VARY,NAME=satsy03.mqua120.k1,STEP=0.0001;
|
||||
VARY,NAME=satsy03.mqua130.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mbnd200,DX=0.0;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
satsy02.mqua210.k1=1;
|
||||
satsy02.mqua230.k1=0;
|
||||
satsy02.mqua240.k1=0;
|
||||
satsy02.mqua260.k1=0;
|
||||
|
||||
Print,text='MATCH POINT: Sextupoles in SATSY03';
|
||||
MATCH,chrom,SEQUENCE=swissfel,range=s20sy02$start/satsy03$end,beta0=twisssep;
|
||||
VARY,NAME=satsy03.msex110.k2,STEP=0.0001;
|
||||
VARY,NAME=satsy03.msex140.k2,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=satsy03.mqua220$start,ddx=0;
|
||||
CONSTRAINT,SEQUENCE=swissfel,range=satsy03.mqua220$start,ddpx=0;
|
||||
LMDIF,CALLS=100,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Switchyard Drift';
|
||||
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satsy03$end,beta0=twisssep;
|
||||
@@ -98,6 +118,7 @@ CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua260$end,betx=twissAT1->BETX;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua260$end,bety=twissAT1->BETY;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua260$end,alfx=twissAT1->ALFX;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua260$end,alfy=twissAT1->ALFY;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua230$end,betx<120;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
@@ -109,10 +130,10 @@ VARY,NAME=satsy02.mqua310.k1,STEP=0.0001;
|
||||
VARY,NAME=satsy02.mqua330.k1,STEP=0.0001;
|
||||
VARY,NAME=satsy02.mqua340.k1,STEP=0.0001;
|
||||
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua120,betx=twissAT2->BETX;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua120,bety=twissAT2->BETY;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua120,alfx=twissAT2->ALFX;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua120,alfy=twissAT2->ALFY;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua130,betx=twissAT2->BETX;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua130,bety=twissAT2->BETY;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua130,alfx=twissAT2->ALFX;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua130,alfy=twissAT2->ALFY;
|
||||
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
@@ -129,14 +150,14 @@ MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satbc01$end,beta0=twisssep;
|
||||
VARY,NAME=satsy03.mqua220.k1,STEP=0.0001;
|
||||
VARY,NAME=satsy03.mqua310.k1,STEP=0.0001;
|
||||
VARY,NAME=satsy03.mqua430.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satbc01.mbnd400,BETX<5;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satbc01.mbnd400,BETY<60;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satbc01.mbnd100,BETX<80;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satbc01.mbnd400,BETX<3;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satbc01.mbnd400,BETY<160;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satbc01.mbnd100,BETX<180;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
CL1.k1 := -1.3;
|
||||
CL2.k1 := 1.1;
|
||||
CL1.k1 := -1.;
|
||||
CL2.k1 := 1.3;
|
||||
satcl01.mqua120.k1 := CL1.k1;
|
||||
satcl01.mqua130.k1 := CL2.k1;
|
||||
satcl01.mqua180.k1 := CL2.k1;
|
||||
@@ -155,6 +176,13 @@ LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
satbc01.mqua410.k1=0;
|
||||
satbc01.mqua430.k1=0;
|
||||
satbc01.mqua450.k1=0;
|
||||
satbc01.mqua470.k1=0;
|
||||
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Match into SATCL01';
|
||||
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satcl01$end,beta0=twisssep;
|
||||
VARY,NAME=satbc01.mqua410.k1,STEP=0.0001;
|
||||
@@ -164,25 +192,43 @@ VARY,NAME=satbc01.mqua470.k1,STEP=0.0001;
|
||||
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, alfx = 0;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, alfy = 0;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, betx > 10;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, bety < 5;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, betx = 10;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, bety =15;
|
||||
SIMPLEX,CALLS=1000,TOLERANCE=1.e-21;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Sextupole in SATCL01';
|
||||
MATCH,chrom,SEQUENCE=SwissFEL,range=s20sy02$start/satdi01$end,beta0=twisssep;
|
||||
VARY,NAME=satcl01.msex110.k2,STEP=0.0001;
|
||||
VARY,NAME=satcl01.msex160.k2,STEP=0.0001;
|
||||
VARY,NAME=satcl01.mqua180.k1,STEP=0.0001;
|
||||
VARY,NAME=satcl01.mqua190.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01$end,ddx=0;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01$end,ddpx=0;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01$end,dx=0;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01$end,dpx=0;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Minimizing Beam Size in HERO Modulator';
|
||||
|
||||
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satdi01$end,beta0=twisssep;
|
||||
VARY,NAME=satdi01.mqua025.k1,STEP=0.0001;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, betx<19;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, bety<19;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, betx<22;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, bety<22;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
twiss,SEQUENCE=swissfel,rmatrix,range=s20sy02$start/satdi01.dscr065$end,beta0=twisssep;
|
||||
twiss,chrom,SEQUENCE=swissfel,rmatrix,range=s20sy02$start/satdi01.dscr065$end,beta0=twisssep;
|
||||
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
||||
plot,haxis=s,vaxis=dx,dy,range=#s/#e,colour=100;
|
||||
plot,haxis=s,vaxis=ddx,range=#s/#e,colour=100;
|
||||
plot,haxis=s,vaxis=re56,range=#s/#e,colour=100;
|
||||
|
||||
|
||||
@@ -306,7 +352,7 @@ twiss,SEQUENCE=swissfel,range=satma01.mqua250$end/satun11$end,beta0=twissee;
|
||||
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
|
||||
|
||||
|
||||
scl=7;
|
||||
scl=6.5;
|
||||
satcb02.mqua230.k1=scl*0.2;
|
||||
satcb02.mqua430.k1=-scl*0.2;
|
||||
satcb03.mqua230.k1=scl*0.2;
|
||||
|
||||
@@ -2,7 +2,13 @@
|
||||
! into laser heater
|
||||
|
||||
|
||||
|
||||
sinlh01.mqua020.k1=4.13741e-01;
|
||||
sinlh01.mqua040.k1=1.02263e-02;
|
||||
sinlh01.mqua070.k1=8.56362e-01;
|
||||
sinsb03.mqua130.k1=-9.18903e-01;
|
||||
sinsb03.mqua230.k1=1.61605e+00;
|
||||
sinsb04.mqua130.k1=-1.34639e+00;
|
||||
sinsb04.mqua230.k1=1.47628e+00;
|
||||
|
||||
|
||||
Print,text='MATCH POINT: Laser Heater';
|
||||
@@ -25,9 +31,9 @@ CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb03.mqua230$end, betx < 65;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb03.mqua230$end, bety < 65;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb03.mqua130$end, betx < 65;
|
||||
CONSTRAINT,SEQUENCE=SwissFEL,range=sinsb03.mqua130$end, bety < 65;
|
||||
SIMPLEX,CALLS=1000,TOLERANCE=1.e-21;
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
|
||||
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
|
||||
SIMPLEX,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
@@ -84,7 +90,7 @@ plot,haxis=s,vaxis=betx,bety,range=sinbc02$start/#e,colour=100;
|
||||
s10cb02.mqua230.k1=-0.2;
|
||||
s10cb02.mqua430.k1=0.2;
|
||||
|
||||
muLin1=0.13;
|
||||
muLin1=0.1;
|
||||
Print,text='MATCH POINT: FODO - Linac 1';
|
||||
match,SEQUENCE=swissfel,range=S10cb02$start/s10cb02$end;
|
||||
Vary,name=S10CB02.MQUA230.k1,step=0.0001;
|
||||
@@ -113,7 +119,7 @@ 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;
|
||||
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;
|
||||
@@ -124,6 +130,7 @@ 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;
|
||||
SIMPLEX,CALLS=1000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
twiss,SEQUENCE=swissfel,range=#s/s10cb02$end,beta0 = Twiss0;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
|
||||
3) Match for sextupoles!
|
||||
|
||||
|
||||
|
||||
|
||||
9
plot.py
9
plot.py
@@ -297,6 +297,15 @@ class OpticsPlot(QtWidgets.QMainWindow, Ui_OpticsPlotGUI):
|
||||
s2 = s[i]
|
||||
self.axes2.add_patch(patches.Rectangle((s1, 0.89), (s2 - s1), 0.02, facecolor='cyan', edgecolor="none"))
|
||||
|
||||
if 'dscr' in name:
|
||||
if 'start' in name:
|
||||
sstart = s[i]
|
||||
if 'end' in name:
|
||||
s1 = sstart
|
||||
s2 = s[i]
|
||||
self.axes2.add_patch(
|
||||
patches.Rectangle((s1, 0.89), (s2 - s1), 0.02, facecolor='orange', edgecolor="none"))
|
||||
|
||||
if 'mqua' in name:
|
||||
if splitquads == True:
|
||||
if 'end' in name:
|
||||
|
||||
Reference in New Issue
Block a user