Optimized matching for the case of compression in the Switchyard

This commit is contained in:
2026-01-28 14:40:45 +01:00
parent 437d031b71
commit 9b09bb0914
7 changed files with 226 additions and 201 deletions
@@ -84,7 +84,11 @@ plot,haxis=s,vaxis=betx,bety,colour=100;
sinsb05.mqua130.k1 := sinsb04.mqua130.k1;
sinsb05.mqua230.k1 := sinsb04.mqua230.k1;
SINBC01.MQUA020.k1= -0.46904024313911785;
SINBC01.MQUA050.k1= -0.18048692888559933;
SINBC01.MQUA070.k1= 0.03866457210745946;
SINBC01.MQUA090.k1= 0.21543435379513257;
SINBC01.MQUA110.k1= 0.8008417564740974;
Print,text='MATCH POINT: Match through BC1';
MATCH,SEQUENCE=SwissFEL,range=#s/sindi02$end,beta0=twiss0;
@@ -95,14 +99,14 @@ VARY,NAME=sinbc01.mqua090.k1,STEP=0.0001,lower=-3.5,upper=3.5;
VARY,NAME=sinbc01.mqua110.k1,STEP=0.0001,lower=-3.5,upper=3.5;
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=sinbc01.mqua110$end,betx<120;
CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc02.mbnd400,bety<100;
CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc02.mbnd400,betx<5.1;
CONSTRAINT,SEQUENCE=SwissFEL,range=sinbc02.mbnd400,betx<3.1;
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->ALFY;
CONSTRAINT,SEQUENCE=SwissFEL,range=sindi02.mqua020$start,alfx=TwissM2->ALFX;
SIMPLEX,CALLS=1000,TOLERANCE=1.e-21;
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
@@ -209,7 +213,11 @@ ENDMATCH;
! reference point s10ma01-mqua020
S10BC01.MQUA020.k1= 2.1236457315221373;
S10BC01.MQUA040.k1= -0.8332634315651051;
S10BC01.MQUA060.k1= -1.7337532980446841;
S10BC01.MQUA080.k1= 0.7800006260607678;
S10BC01.MQUA100.k1= 1.0388756300422775;
Print,text='MATCH POINT: Match through BC2';
MATCH,SEQUENCE=SwissFEL,range=#s/s20cb01$start,beta0 = twiss0;