Refinement of SF+ Optics -> Still needs position checks with HolyList

This commit is contained in:
2026-01-16 16:23:41 +01:00
parent 4c5ab1e29b
commit 8b7a5004a1
10 changed files with 301 additions and 267 deletions

View File

@@ -41,7 +41,10 @@ class OpticsTools(QtWidgets.QMainWindow, QtCore.QObject, Ui_OpticsGUI):
self.UIMatchOpticsSelect.clear()
for key in self.match.matchlist.keys():
self.UIMatchOpticsSelect.addItem(key)
self.UIMatchOpticsSelect.setCurrentIndex(0)
if phase == 0:
self.UIMatchOpticsSelect.setCurrentIndex(0)
else:
self.UIMatchOpticsSelect.setCurrentIndex(1)
self.updateMatchingCase()
@@ -95,6 +98,8 @@ class OpticsTools(QtWidgets.QMainWindow, QtCore.QObject, Ui_OpticsGUI):
if self.UISaveMatchSettings.isChecked():
fileName = self.match.scriptdir+'/settings.json'
self.saveSettingsdirect(fileName)
if self.UIReportMatchStrength.isChecked():
self.model.checkMagnetLimit()
def updateMatchingCase(self):

View File

@@ -271,11 +271,17 @@ ENDMATCH;
!-----------------
! into septum
S20SY01.MQUA020.k1= -1.4084554435040675;
S20SY01.MQUA030.k1= 1.6527516900200674;
S20SY01.MQUA050.k1= -1.2455405678473916;
S20SY01.MQUA080.k1= 1.3915642831470632;
MATCH,SEQUENCE=SwissFEL,range=#s/s20sy02$start,beta0 = Twiss0;
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.mqua050.k1,STEP=0.0001,lower=-5.5,upper=5.5;
VARY,NAME=s20sy01.mqua080.k1,STEP=0.0001,lower=-5.5,upper=5.5;
VARY,NAME=s20sy01.mqua020.k1,STEP=0.0001,lower=-2.2,upper=2.2;
VARY,NAME=s20sy01.mqua030.k1,STEP=0.0001,lower=-2.2,upper=2.2;
VARY,NAME=s20sy01.mqua050.k1,STEP=0.0001,lower=-2.2,upper=2.2;
VARY,NAME=s20sy01.mqua080.k1,STEP=0.0001,lower=-2.2,upper=2.2;
CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,betx=Twisssep->BETX;
CONSTRAINT,SEQUENCE=swissfel,range=s20sy01$end,alfx=Twisssep->ALFX;

View File

@@ -1,4 +1,16 @@
option,-echo;
! starting condition
Twiss0: beta0,betx=10,alfx=0,bety=10,alfy=0;
Twisssep: beta0,betx=10,alfx=-0.2,bety=15,alfy=1;
Twiss0: beta0,betx=10,alfx=0,bety=10,alfy=0; ! location:swissfel$start
TwissM1: beta0,betx=8.72,alfx=1,bety=8.72,alfy=1; ! 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=5,alfx=1.77,bety=4,alfy=-1.04; ! label: Switchyard - Double Bend location:satsy03.mqua110
TwissAT3: beta0,betx=14,alfx=0.7,bety=14,alfy=0.7; ! 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
twisspor: beta0, betx=3.9036,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

View File

@@ -1,48 +1,12 @@
y_sep=0.01;
py_sep=0.0;
S20SY02.MKDC010.cory := SYKICK*2;
S20SY02.MKAC020.cory := SYKICK*3;
S20SY02.MKDC030.cory := SYKICK*2;
S20SY02.MKAC040.cory := SYKICK*3;
S20SY02.MKDC050.cory := SYKICK*2;
use,sequence=swissfel;
select,flag=Error,pattern="SAT.*";
ealign,DY=0.01;
MATCH,SEQUENCE=swissfel,range=s20sy02$start/s20sy02$end,beta0=Twisssep;
VARY,NAME=s20sy02.mqua070.k1,STEP=0.0001,lower=-3,upper=3;
VARY,NAME=s20sy02.mqua100.k1,STEP=0.0001,lower=-3,upper=3;
VARY,NAME=s20sy02.mqua140.k1,STEP=0.0001,lower=-3,upper=3;
VARY,NAME=s20sy02.mqua180.k1,STEP=0.0001,lower=-3,upper=3;
VARY,NAME=SYKICK,STEP=0.0001;
CONSTRAINT,SEQUENCE=swissfel,range=S20SY02.mbnd200,y=y_sep;
CONSTRAINT,SEQUENCE=swissfel,range=S20SY02.mbnd200,py=py_sep;
CONSTRAINT,SEQUENCE=swissfel,range=S20SY02.mbnd200,dy=-0.007;
CONSTRAINT,SEQUENCE=swissfel,range=S20SY02.mbnd200,dpy=1.7e-3;
CONSTRAINT,SEQUENCE=swissfel,range=S20SY02.mqua180, BETY < 60;
LMDIF,CALLS=8000,TOLERANCE=1.e-21;
ENDMATCH;
! this statements are needed to have explicit values in the output file
SYKICK=0;
S20SY02.MKDC010.c1:= SYKICK*2;
S20SY02.MKAC020.c1:= SYKICK*3;
S20SY02.MKDC030.c1:= SYKICK*2;
S20SY02.MKAC040.c1:= SYKICK*3;
S20SY02.MKDC050.c1:= SYKICK*2;
S20SY02.MKDC010.cory:= SYKICK*2;
S20SY02.MKAC020.cory:= SYKICK*3;
S20SY02.MKDC030.cory:= SYKICK*2;
S20SY02.MKAC040.cory:= SYKICK*3;
S20SY02.MKDC050.cory:= SYKICK*2;
s20bc01.mqua010.k1:=1.;
@@ -135,32 +99,13 @@ LMDIF,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
!L = 9;
!alpha = 1.5;
!beta = alpha*L;
!MATCH,SEQUENCE=Swissfel,range=s20sy02$start/s30cb14$end,beta0=twisssep;
!VARY,NAME=s30cb10.mqua430.k1,STEP=0.0001;
!VARY,NAME=s30cb11.mqua430.k1,STEP=0.0001;
!VARY,NAME=s30cb12.mqua430.k1,STEP=0.0001;
!VARY,NAME=s30cb13.mqua430.k1,STEP=0.0001;
!VARY,NAME=s30cb14.mqua430.k1,STEP=0.0001;
!CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb14.mqua430$end,betx=beta;
!CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb14.mqua430$end,bety=beta;
!CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb14.mqua430$end,alfx=alpha;
!CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb14.mqua430$end,alfy=alpha;
!CONSTRAINT,SEQUENCE=SwissFEL,range= s30cb14.mqua430$end,X<1;
!LMDIF,CALLS=1000,TOLERANCE=1.e-21;
!ENDMATCH;
twiss,SEQUENCE=swissfel,range=s20sy02$start/S30cb14$END,beta0=twisssep;
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
Select,flag=Error,pattern="SPO.*";
EALIGN,DY=0.01;
PSYKICK:=0.1;
@@ -183,27 +128,21 @@ LMDIF, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
pbetx=3.9036;
palfx=-0.05021;
pbety=37.6374;
palfy=4.4433;
twisspor: beta0, betx=pbetx,alfx=palfx, bety=pbety,alfy=palfy;
s30cb13.mqua430.k1 = 0.456;
s30cb14.mqua430.k1 = -1.741;
s30cb15.mqua010.k1 = 1.1533;
s30cb15.mqua020.k1 = -0.0961;
MATCH,SEQUENCE=Swissfel,range=s20sy02$start/s30sy01$end,beta0=twisssep;
VARY,NAME=s30cb13.mqua430.k1,STEP=0.0001;
VARY,NAME=s30cb14.mqua430.k1,STEP=0.0001;
VARY,NAME=s30cb15.mqua010.k1,STEP=0.0001;
VARY,NAME=s30cb15.mqua020.k1,STEP=0.0001;
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,betx=pbetx;
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,bety=pbety;
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,alfx=palfx;
CONSTRAINT, SEQUENCE=swissfel, RANGE=s30cb15$end,alfy=palfy;
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;
Simplex, CALLS=1000, TOLERANCE=1.E-21;
ENDMATCH;
@@ -214,76 +153,147 @@ plot,haxis=s,vaxis=y,dy,range=s30cb15$start/#e,colour=100;
S30cb15.MKDC010.cory := 0;
S30cb15.MKAC020.cory := 0;
S30cb15.MKDC030.cory := 0;
S30cb15.MKAC040.cory := 0;
S30CB15.MKDC050.cory := 0;
R56 = -000e-6;
MATCH,RMATRIX,SEQUENCE=swissFEL,range=SARCL02$start/SARCL02$end,betx=10,alfx=0,bety=10,alfy=0;
VARY,NAME=sarcl02.mqua130.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.mqua210,re56=R56*0.5;
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
sarcl02.mqua210.k1=-sarcl02.mqua130.k1*0.9;
MATCH,SEQUENCE=swissfel,range=sarcl02$start/sarma01.mqua010,betx=10,alfx=0,bety=10,alfy=0;
VARY,NAME=sarcl02.mqua250.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dbpm260$end,dpx=0;
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
sarcl02.mqua310.k1=sarcl02.mqua250.k1;
sarcl02.mqua350.k1=sarcl02.mqua210.k1;
sarcl02.mqua460.k1=sarcl02.mqua130.k1;
dL=0.625+0.25;
bx0=25;
bx=bx0+dL*dL/bx0;
ax=-dL/bx0;
by0=0.8;
by=by0+dL*dL/by0;
ay=-dL/by0;
twiss,sequence=swissfel,range=sarcl02.mqsk300/sarma01.mqua010,betx=bx,alfx=ax,bety=by,alfy=ay;
nbetx= table(twiss,sarma01$start,betx);
nalfx=-table(twiss,sarma01$start,alfx);
nbety= table(twiss,sarma01$start,bety);
nalfy=-table(twiss,sarma01$start,alfy);
MATCH,SEQUENCE=swissfel,range=S30SY01$start/sarma01.mqua010,beta0=twisspor;
!--------------------------------------------------
! Match ecol
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
! energy collimator
if (ECOLasBC ==0.) {
sarcl02.mqua130.k1=1.8;
R56 = -000e-6;
MATCH,RMATRIX,SEQUENCE=swissfel,range=SARCL02$START/SARCL02$END,betx=10,alfx=0,bety=10,alfy=0;
VARY,NAME=sarcl02.mqua130.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.mqua210,re56=R56*0.5;
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
sarcl02.mqua210.k1=-sarcl02.mqua130.k1*0.9;
sarcl02.mqua250.k1= sarcl02.mqua130.k1;
MATCH,SEQUENCE=swissfel,range=SARCL02$START/SARCL02$END,betx=10,alfx=0,bety=10,alfy=0;
VARY,NAME=sarcl02.mqua250.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dbpm260$end,dpx=0;
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
sarcl02.mqua310.k1=sarcl02.mqua250.k1;
sarcl02.mqua350.k1=sarcl02.mqua210.k1;
sarcl02.mqua460.k1=sarcl02.mqua130.k1;
dL=0.625+0.25;
bx0=25;
bx=bx0+dL*dL/bx0;
ax=-dL/bx0;
by0=0.8;
by=by0+dL*dL/by0;
ay=-dL/by0;
twiss,sequence=swissfel,range=sarcl02.mqsk300/sarcl02$end,betx=bx,alfx=ax,bety=by,alfy=ay;
plot,haxis=s,vaxis=betx,bety,colour=100;
nbetx= table(twiss,sarcl02$end,betx);
nalfx=-table(twiss,sarcl02$end,alfx);
nbety= table(twiss,sarcl02$end,bety);
nalfy=-table(twiss,sarcl02$end,alfy);
sarcl02.msex255.k2:=110;
sarcl02.msex305.k2:=110;
MATCH,chrom,SEQUENCE=sarcl02,range=#s/#e,betx=nbetx,alfx=nalfx,bety=nbety,alfy=nalfy;
VARY,NAME=ecol_k2,STEP=0.0001;
CONSTRAINT,SEQUENCE=Sarcl02,range=#e,ddx=0;
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
sarcl02.msex255.k2=ecol_k2;
sarcl02.msex305.k2=ecol_k2;
twiss,chrom,rmatrix,range=SARCL02$START/SARCL02$END,betx=nbetx,alfx=nalfx,bety=nbety,alfy=nalfy;
plot,haxis=s,vaxis=betx,colour=100;
plot,haxis=s,vaxis=bety,colour=100;
plot,haxis=s,vaxis=dx,colour=100;
plot,haxis=s,vaxis=ddx,colour=100;
plot,haxis=s,vaxis=re56,colour=100;
} else {
sarcl02.mqua130.k1=0;
sarcl02.mqua210.k1=0;
sarcl02.mqua250.k1=0;
sarcl02.mqua310.k1=0;
sarcl02.mqua350.k1=0;
sarcl02.mqua460.k1=0;
sarcl02.msex255.k2=0;
sarcl02.msex305.k2=0;
}
!---------------------------------
! match into energy collimator
! reference point is sarma01-mqua010
sarcl01.mqua020.k1 := 0.4550820417;
sarcl01.mqua050.k1 := -0.02350776516;
sarcl01.mqua080.k1 := -0.3705426893;
sarcl01.mqua100.k1 := 0.3937186328;
sarcl01.mqua140.k1 := 1.214406656;
sarcl01.mqua190.k1 := -1.475278354;
use,sequence=swissfel;
MATCH,SEQUENCE=swissfel,range=s20SY02$start/sarma02$start,beta0=twisssep;
VARY,NAME=sarcl01.mqua020.k1,STEP=0.0001;
VARY,NAME=sarcl01.mqua050.k1,STEP=0.0001;
VARY,NAME=sarcl01.mqua080.k1,STEP=0.0001;
VARY,NAME=sarcl01.mqua100.k1,STEP=0.0001;
VARY,NAME=sarcl01.mqua140.k1,STEP=0.0001;
VARY,NAME=sarcl01.mqua190.k1,STEP=0.0001;
!CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua080,betx=beta;
!CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua080,alfx=alpha;
!CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua080,bety=beta;
!CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua080,alfy=alpha;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,betx=nbetx;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,alfx=nalfx;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,bety=nbety;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,alfy=nalfy;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua050,bety<30;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua190,betx<30;
if (ECOLasBC ==0.){
CONSTRAINT,SEQUENCE=swissfel,range=sarma01.mqua010$start,betx=twissARECOL->BETX;
CONSTRAINT,SEQUENCE=swissfel,range=sarma01.mqua010$start,alfx=twissARECOL->ALFX;
CONSTRAINT,SEQUENCE=swissfel,range=sarma01.mqua010$start,bety=twissARECOL->BETY;
CONSTRAINT,SEQUENCE=swissfel,range=sarma01.mqua010$start,alfy=twissARECOL->ALFY;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua050,bety<30;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua190,betx<30;
} else {
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dscr280$start,betx = 10;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dscr280$start,alfx=0.14;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dscr280$start,bety = 10;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dscr280$start,alfy=0.14;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua050,bety<70;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua190,betx<70;
}
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
twiss,sequence=swissfel,range=s20SY02$start/sarcl01$start,beta0=twisssep;
plot,haxis=s,vaxis=betx,bety,range=S30CB15$START/SARCL02$END,colour=100;
!-----------------
muAR=0.17;
match,SEQUENCE=swissfel,range=sarun02$start/sarun03$end;
Vary,name=sarun02.mqua080.k1,step=0.0001;
@@ -342,9 +352,20 @@ CONSTRAINT,SEQUENCE=swissfel,range=sarun02$start,x<5;
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
! from eduard
SARUN18.MQUA080.K1= -6.305232722687153e-01;
SARUN19.MQUA080.K1= 1.167256186348939e+00;
SARUN20.mqua220.K1= 8.363412365675689e-01;
SARBD01.MQUA010.K1= -2.099999992065428e+00;
SARBD01.MQUA020.K1= -2.099998228837625e+00;
SARBD02.MQUA030.K1= -2.099998942347312e+00;
!The matching routine imposes bx=50 and ax=0 at the TDS,
!sin(mux)~1 between the TDS and the dump screen,
!and minimization of by/dispy^2 at the dump screen.
!I find a solution fulfilling the conditions with by=1.136313m and dispy= 2.534262e-01 m at the screen.
twiss,SEQUENCE=swissfel,range=#s/sarun19$end,beta0=twiss0;
twiss,SEQUENCE=swissfel,range=#s/sarbd02.dscr050$end,beta0=twiss0;
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
plot,haxis=s,vaxis=dx,dy,range=#s/#e,colour=100;

View File

@@ -46,27 +46,28 @@ 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.mqua040.k1=0.7;
MATCH,SEQUENCE=Swissfel,range=s20sy02$start/satsy02$end,beta0=twisssep;
VARY,NAME=satsy01.mqua010.k1,STEP=0.0001;
VARY,NAME=satsy01.mqua020.k1,STEP=0.0001;
VARY,NAME=satsy01.mqua030.k1,STEP=0.0001;
VARY,NAME=satsy01.mqua050.k1,STEP=0.0001;
VARY,NAME=satsy01.mqua080.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua010.k1,STEP=0.0001;
!VARY,NAME=satsy01.mqua110.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy01$end,DX=0.0;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy01$end,DPX=0.0;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mbnd200,DY=0.0;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mbnd200,DPY=0.0;
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
JACOBIAN,CALLS=1000,TOLERANCE=1.e-21;
SIMPLEX,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
twiss,SEQUENCE=swissfel,range=s20sy02$start/Satsy02.mbnd200,beta0=twisssep;
twiss,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;
@@ -74,24 +75,25 @@ plot,haxis=s,vaxis=dx,dy,range=#s/#e,colour=100;
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satsy03$end,beta0=twisssep;
VARY,NAME=satsy03.mqua110.k1,STEP=0.0001;
VARY,NAME=satsy03.mqua120.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mbnd200,DX=0.0;
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
L = 38-9.8+6.25;
satsy02.mqua210.k1=1;
satsy02.mqua230.k1=0;
satsy02.mqua240.k1=0;
satsy02.mqua260.k1=0;
alpha=1.0;
beta = L*alpha;
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satsy03$end,beta0=twisssep;
VARY,NAME=satsy02.mqua205.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua210.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua220.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua230.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua230,betx=beta;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua230,bety=beta;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua230,alfx=alpha;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy02.mqua230,alfy=alpha;
VARY,NAME=satsy02.mqua240.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua260.k1,STEP=0.0001;
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;
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
@@ -99,13 +101,13 @@ ENDMATCH;
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satsy03$end,beta0=twisssep;
VARY,NAME=satsy02.mqua300.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua310.k1,STEP=0.0001;
VARY,NAME=satsy02.mqua320.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.mqua110,betx=5;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua110,bety=4;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua110,alfx=1.77;
CONSTRAINT,SEQUENCE=SwissFEL,range= satsy03.mqua110,alfy=-1.04;
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;
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
@@ -115,12 +117,12 @@ twiss,SEQUENCE=swissfel,range=s20sy02$start/Satsy03.mbnd200,beta0=twisssep;
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
plot,haxis=s,vaxis=dx,dy,range=#s/#e,colour=100;
exit;
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satbc01$end,beta0=twisssep;
VARY,NAME=satsy03.mqua210.k1,STEP=0.0001;
VARY,NAME=satsy03.mqua220.k1,STEP=0.0001;
VARY,NAME=satsy03.mqua310.k1,STEP=0.0001;
VARY,NAME=satsy03.mqua410.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;
@@ -149,9 +151,9 @@ ENDMATCH;
MATCH,SEQUENCE=SwissFEL,range=s20sy02$start/satcl01$end,beta0=twisssep;
VARY,NAME=satbc01.mqua410.k1,STEP=0.0001;
VARY,NAME=satbc01.mqua420.k1,STEP=0.0001;
VARY,NAME=satbc01.mqua430.k1,STEP=0.0001;
VARY,NAME=satbc01.mqua440.k1,STEP=0.0001;
VARY,NAME=satbc01.mqua450.k1,STEP=0.0001;
VARY,NAME=satbc01.mqua470.k1,STEP=0.0001;
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, alfx = 0;
CONSTRAINT,SEQUENCE=SwissFEL,range= satcl01.msex160, alfy = 0;
@@ -162,8 +164,8 @@ ENDMATCH;
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<18;
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, bety<18;
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, betx<19;
CONSTRAINT,SEQUENCE=SwissFEL,range= satdi01.dscr065$start, bety<19;
LMDIF,CALLS=1000,TOLERANCE=1.e-21;
ENDMATCH;
@@ -174,19 +176,6 @@ plot,haxis=s,vaxis=re56,range=#s/#e,colour=100;
scl:=1.5;
ss:=0.83;
@@ -210,10 +199,10 @@ VARY,NAME=satdi01.mqua230.k1,STEP=0.0001,lower=-1.8,upper=1.8;
VARY,NAME=satdi01.mqua250.k1,STEP=0.0001,lower=-1.8,upper=1.8;
VARY,NAME=satcb01.mqua230.k1,STEP=0.0001,lower=-1.8,upper=1.8;
VARY,NAME=satcb01.mqua430.k1,STEP=0.0001,lower=-1.8,upper=1.8;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,betx=beta;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,alfx=alpha;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,bety=beta;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,alfy=alpha;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,betx=twissAT3->BETX;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,alfx=twissAT3->ALFX;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,bety=twissAT3->BETY;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$end,alfy=twissAT3->ALFY;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$start,x<10;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$start,y<10;
CONSTRAINT,SEQUENCE=swissfel,range=satcb01.mqua430$start,DX<10;
@@ -298,13 +287,10 @@ ENDMATCH;
twiss,SEQUENCE=swissfel,range=satma01.mqua250$end/satun11$end,beta0=twissee;
plot,haxis=s,vaxis=betx,bety,range=#s/#e,colour=100;
scl=4;
satcb02.mqua230.k1=scl*0.2;
satcb02.mqua430.k1=-scl*0.2;
@@ -313,14 +299,6 @@ satcb03.mqua430.k1=-scl*0.2;
satma01.mqua120.k1=0;
satma01.mqua140.k1=0;
satma01.mqua160.k1=0;
satma01.mqua180.k1=0;
satma01.mqua230.k1=0;
satma01.mqua250.k1=0;
MATCH, SEQUENCE=swissfel,range=s20sy02$start/satma01$end,beta0=twisssep;
VARY,NAME=satcb03.mqua430.k1,STEP=0.0001,lower=-3.8,upper=3.8;
VARY,NAME=satma01.mqua120.k1,STEP=0.0001,lower=-3.8,upper=3.8;
@@ -329,10 +307,10 @@ VARY,NAME=satma01.mqua160.k1,STEP=0.0001,lower=-3.8,upper=3.8;
VARY,NAME=satma01.mqua180.k1,STEP=0.0001,lower=-3.8,upper=3.8;
VARY,NAME=satma01.mqua230.k1,STEP=0.0001,lower=-3.0,upper=3.0;
VARY,NAME=satma01.mqua250.k1,STEP=0.0001,lower=-3.0,upper=3.0;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,betx=eebetx;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,bety=eebety;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,alfx=eealfx;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,alfy=eealfy;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,betx=twissee->BETX;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,bety=twissee->BETY;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,alfx=twissee->ALFX;
CONSTRAINT,SEQUENCE=swissfel,range=satma01.mqua250$end,alfy=twissee->ALFY;
CONSTRAINT,SEQUENCE=swissFEL,range=satma01.mqua120$start, betx <70;
CONSTRAINT,SEQUENCE=swissFEL,range=satma01.mqua120$start, bety <70;
CONSTRAINT,SEQUENCE=swissFEL,range=satma01.mqua140$start, betx <70;

View File

@@ -1,14 +1,7 @@
! 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;
@@ -25,10 +18,10 @@ 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.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;
@@ -37,11 +30,7 @@ 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;
@@ -64,27 +53,7 @@ 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;
@@ -93,10 +62,10 @@ 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=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;
@@ -110,28 +79,28 @@ 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;
s10cb02.mqua230.k1=0.2;
s10cb02.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;
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;
s10cb02.mqua230.k1 = s10cb01.mqua230.k1;
s10cb02.mqua430.k1 = s10cb01.mqua430.k1;
s10cb01.mqua230.k1 = s10cb02.mqua230.k1;
s10cb01.mqua430.k1 = s10cb02.mqua430.k1;
twiss,SEQUENCE=swissfel,range=s10cb01$start/s10cb01$end;
twiss,SEQUENCE=swissfel,range=s10cb02$start/s10cb02$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);
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;
@@ -178,33 +147,24 @@ 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.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;
!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$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;
!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;

View File

@@ -57,9 +57,9 @@ class MatchMaker:
def match(self, om, variables = None, Injector=True, Athos = True, Aramis = False, Porthos = False):
if Athos:
target = 'SATBD01'
target = 'SATBD02'
else:
target = 'SARBD01'
target = 'SARBD02'
f = io.StringIO()
madx = CMadX(f)

View File

@@ -305,3 +305,44 @@ class Model:
return start,end
########################################3
def checkMagnetLimit(self):
# using magnet calibration
quad={}
quad['QFA'] = [0.15, 0.173, 150.0, 91.1, 0.0, 0.74521, -0.00813, -0.03542,
22.5e-3] # From MEASUREMENT. Documentation: https://intranet.psi.ch/pub/Swiss_FEL/FinQuadrupoles/QFA.pdf
quad['QFB'] = [0.08, 0.11, 10.0, 4.9, 0.0, 0.03815, -1.8e-4, -0.7e-3,
22.5e-3] # From MEASUREMENT(?). Documentation(Implementaion): the matlab version Injector on-line model, Curr2KLquad.m
quad['QFC'] = [0.08, 0.11, 10.0, 10.1, 0.0, 0.5, 0.0, 0.0,
1.0] # From DESIGN(?). Documentation: Injector wiki, Subsystems (as of 14th Aug 2014)
quad['QFD'] = [0.15, 0.1628, 10.0, 5.6, 0.0, 0.23313, -27.6e-4, 15.5e-4,
0.011] # From Measurement. Documentation: FEL-SS88-007-7.pdf (found in Alfresco: Company Home > Projects > SwissFEL > Facility > 8850 Magnets)
quad['QFF'] = [0.08, 0.0875, 10.0, 2.9, 0.0, 0.32897, -0.5e-4, -42.9e-4,
0.006] # From Measurement. Documentation: FEL-SS88-008-8.pdf (found in Alfresco)
quad['QFM'] = [0.3, 0.311, 50.0, 21.1, 0.0, 0.64541, -0.00296, -0.00617, 0.011] # From Measurement
k1brho={}
for key in quad.keys():
[PhysicalLength, MagneticLength, Imax, Ilin, b0, b1, b2, b3, R] = quad[key] # quick conversion for quadrupoles and sextupoles
if abs(Imax) < Ilin:
B = b0 + b1
else:
B = b0 + b1 + b2 +b3
k1brho[key]= B * MagneticLength/R/PhysicalLength
#k1 = val/brho
elements=self.getElements()
print('Relative Magnet Strength')
for ele in elements:
if 'MQUA' in ele.Name.upper():
bg = ele.Baugruppe
Energy = self.om.EnergyAt(ele.Name)[0]*1e-6
gamma = (Energy + 0.511) / 0.511 # Energy in units of MeV since 29.06.2015
beta = np.sqrt(1 - 1 / gamma ** 2)
p = 511e3 * beta * gamma / 1e9 # momentum in GeV/c
brho = p / 0.299792 # P[GeV/c]=0.3*Brho[T.m]
if bg in k1brho.keys():
k1max=k1brho[bg]/brho
rat=np.abs(ele.k1/k1max)*100.
print('%s: %5.1f (percent)' % (ele.Name.replace('.','-'),rat))

View File

@@ -356,9 +356,9 @@ class Ui_OpticsGUI(object):
self.UIInitAllMagnets = QtWidgets.QCheckBox(self.widget)
self.UIInitAllMagnets.setObjectName("UIInitAllMagnets")
self.verticalLayout_3.addWidget(self.UIInitAllMagnets)
self.UIModifyKnobs = QtWidgets.QCheckBox(self.widget)
self.UIModifyKnobs.setObjectName("UIModifyKnobs")
self.verticalLayout_3.addWidget(self.UIModifyKnobs)
self.UIReportMatchStrength = QtWidgets.QCheckBox(self.widget)
self.UIReportMatchStrength.setObjectName("UIReportMatchStrength")
self.verticalLayout_3.addWidget(self.UIReportMatchStrength)
self.label_19 = QtWidgets.QLabel(self.widget)
font = QtGui.QFont()
font.setBold(True)
@@ -366,6 +366,9 @@ class Ui_OpticsGUI(object):
self.label_19.setFont(font)
self.label_19.setObjectName("label_19")
self.verticalLayout_3.addWidget(self.label_19)
self.UIModifyKnobs = QtWidgets.QCheckBox(self.widget)
self.UIModifyKnobs.setObjectName("UIModifyKnobs")
self.verticalLayout_3.addWidget(self.UIModifyKnobs)
self.UIMatchKnobs = QtWidgets.QTableWidget(self.widget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
@@ -657,8 +660,9 @@ class Ui_OpticsGUI(object):
self.UIMatchAramis.setText(_translate("OpticsGUI", "Aramis"))
self.UISaveMatchSettings.setText(_translate("OpticsGUI", "Save matched machine settings automtically"))
self.UIInitAllMagnets.setText(_translate("OpticsGUI", "Initialize all magnets to zero before matching"))
self.UIModifyKnobs.setText(_translate("OpticsGUI", "Overwrite default values for matching variables "))
self.UIReportMatchStrength.setText(_translate("OpticsGUI", "Report matched quadrupole strength"))
self.label_19.setText(_translate("OpticsGUI", "Matching Variables"))
self.UIModifyKnobs.setText(_translate("OpticsGUI", "Overwrite default values for matching variables "))
item = self.UIMatchKnobs.horizontalHeaderItem(0)
item.setText(_translate("OpticsGUI", "Parameter"))
item = self.UIMatchKnobs.horizontalHeaderItem(1)

View File

@@ -582,9 +582,9 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="UIModifyKnobs">
<widget class="QCheckBox" name="UIReportMatchStrength">
<property name="text">
<string>Overwrite default values for matching variables </string>
<string>Report matched quadrupole strength</string>
</property>
</widget>
</item>
@@ -601,6 +601,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="UIModifyKnobs">
<property name="text">
<string>Overwrite default values for matching variables </string>
</property>
</widget>
</item>
<item>
<widget class="QTableWidget" name="UIMatchKnobs">
<property name="sizePolicy">