Working on the design optics for SF+

This commit is contained in:
2026-09-15 14:11:54 +02:00
parent f050e3425d
commit 85e73c09d5
3 changed files with 338 additions and 321 deletions
+20 -15
View File
@@ -213,14 +213,15 @@ if (ECOLasBC ==0.) {
sarcl02.mqua460.k1=sarcl02.mqua130.k1;
dL=0.625+0.25;
bx0=25;
bx0=25-20;
bx=bx0+dL*dL/bx0;
ax=-dL/bx0;
by0=0.8;
by0=1.2;
by=by0+dL*dL/by0;
ay=-dL/by0;
twiss,sequence=swissfel,range=sarcl02.mqsk300/sarcl02$end,betx=bx,alfx=ax,bety=by,alfy=ay;
twiss,sequence=swissfel,range=sarcl02.mqsk300$start/sarma01$start,betx=bx,alfx=ax,bety=by,alfy=ay;
plot,haxis=s,vaxis=betx,bety,colour=100;
nbetx= table(twiss,sarcl02$end,betx);
@@ -282,34 +283,38 @@ sarcl01.mqua190.k1 := -1.475278354;
use,sequence=swissfel;
Print,text='MATCH POINT: Match into Energy Collimator';
MATCH,SEQUENCE=swissfel,range=s20SY02$start/sarma02$start,beta0=twisssep;
VARY,NAME=sarcl01.mqua020.k1,STEP=0.0001,lower=-1., upper =1.;
MATCH,SEQUENCE=swissfel,range=s20SY02$start/sarma01$end,beta0=twisssep;
VARY,NAME=sarcl01.mqua020.k1,STEP=0.0001;!,lower=-1., upper =1.;
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;
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;
! 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=sarcl02$start,betx=nbetx;
constraint,sequence=swissfel,range=sarcl02$start,bety=nbety;
constraint,sequence=swissfel,range=sarcl02$start,alfx=nalfx;
constraint,sequence=swissfel,range=sarcl02$start,alfy=nalfy;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua050$start,bety<30;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua190$start,betx<30;
} else {
CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dscr280$start,betx = 10;
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;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua050$start,bety<70;
CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua190$start,betx<70;
}
LMDIF,CALLS=100,TOLERANCE=1.e-21;
ENDMATCH;
twiss,sequence=swissfel,range=s20SY02$start/sarcl01$start,beta0=twisssep;
twiss,sequence=swissfel,range=s20SY02$start/sarma01$start,beta0=twisssep;
plot,haxis=s,vaxis=betx,bety,range=S30CB15$START/SARCL02$END,colour=100;
File diff suppressed because it is too large Load Diff