Initial test of matching
This commit is contained in:
86
Scripts/switchyard.madx
Normal file
86
Scripts/switchyard.madx
Normal file
@@ -0,0 +1,86 @@
|
||||
MATCH,SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy01.mqua020.k1, STEP=0.00001,LOWER=-4,UPPER=4;
|
||||
VARY, NAME=satsy01.mqua040.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy01.mqua070.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy01.mqua090.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DX = 0.082; !
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPX = 0.0084;
|
||||
!CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPX = DPXM*1.2;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DY < 0.09;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01.mbnd200, DPY < 1;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
|
||||
!-------------------------------------
|
||||
! match second half of SATSY01 - closing dispersion
|
||||
|
||||
if (initquads ==1){
|
||||
satsy01.mqua210.k1=satsy01.mqua090.k1;
|
||||
satsy01.mqua230.k1=satsy01.mqua070.k1;
|
||||
satsy01.mqua260.k1=satsy01.mqua040.k1;
|
||||
satsy01.mqua280.k1=satsy01.mqua020.k1;
|
||||
satsy01.mqua300.k1 := 5.27400e-01;
|
||||
}
|
||||
|
||||
DXS = -0.030;
|
||||
DPXS = -0.001;
|
||||
|
||||
MATCH,SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy01.mqua280.k1, STEP=0.00001,LOWER=-4,UPPER=4;
|
||||
VARY, NAME=satsy01.mqua300.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DX = DXS;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, DPX =DPXS;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy01$end, X < 0.1;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
matching.xdispersion=TAR;
|
||||
|
||||
|
||||
!------------------------------------------
|
||||
! close vertical dispersion
|
||||
|
||||
if (initquads==1){
|
||||
satsy02.mqua010.k1 := - 1.71;
|
||||
satsy02.mqua110.k1 := 1.22622;
|
||||
satsy02.mqua120.k1 := 1.64073;
|
||||
satsy02.mqua230.k1 = -1.61620;
|
||||
}
|
||||
|
||||
MATCH,SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy02.mqua010.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy02.mqua110.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
VARY, NAME=satsy02.mqua120.k1, STEP=0.00001,LOWER=Kmin,UPPER=Kmax;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy02$end, DY = 0.0;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy02$end, DPY = 0.0;
|
||||
CONSTRAINT, SEQUENCE=swissfel, RANGE=satsy02$end, X = 0.0;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
|
||||
matching.ydispersion=TAR;
|
||||
|
||||
|
||||
!---------------------------------
|
||||
! match sextupoles
|
||||
|
||||
if (initquads==1){
|
||||
satsy01.msex050.k2 = 100;
|
||||
satsy01.msex080.k2 = -100;
|
||||
satsy01.msex220.k2 = -100;
|
||||
satsy01.msex250.k2 = 100;
|
||||
}
|
||||
|
||||
|
||||
MATCH,chrom, SEQUENCE=swissfel,range=#s/#e,betx=betax0,alfx=alphax0,bety=betay0,alfy=alphay0;
|
||||
VARY, NAME=satsy01.msex050.k2, STEP=0.00001;
|
||||
VARY, NAME=satsy01.msex080.k2, STEP=0.00001;
|
||||
VARY, NAME=satsy01.msex220.k2, STEP=0.00001;
|
||||
VARY, NAME=satsy01.msex250.k2, STEP=0.00001;
|
||||
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDX = 0;
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDY = 0;
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDPX = 0;
|
||||
CONSTRAINT, SEQUENCE=swissFEL, RANGE=satsy02$end, DDPY = 0;
|
||||
LMDIF, CALLS=1000, TOLERANCE=1.E-21;
|
||||
ENDMATCH;
|
||||
34
Scripts/switchyard_kicker.madx
Normal file
34
Scripts/switchyard_kicker.madx
Normal file
@@ -0,0 +1,34 @@
|
||||
!-----------------------------------
|
||||
! switch yard
|
||||
! matching condition at the septum, the new design by Natalia on 27th July 2011
|
||||
! find the correct kicker strength to have the right dispersion and offset.
|
||||
|
||||
y_sep=0.01;
|
||||
py_sep=0.0;
|
||||
dy_sep=-y_sep;
|
||||
dpy_sep=-py_sep;
|
||||
|
||||
|
||||
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=s20sy02;
|
||||
MATCH,SEQUENCE=s20sy02,range=#s/#e,betx=20,alfx=0,bety=20,alfy=0;
|
||||
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=s20sy02,range=S20SY02.mbnd200,y=y_sep;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,py=py_sep;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,dy=-0.007;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mbnd200,dpy<1;
|
||||
CONSTRAINT,SEQUENCE=s20sy02,range=S20SY02.mqua180, BETY < 60;
|
||||
LMDIF,CALLS=8000,TOLERANCE=1.e-21;
|
||||
ENDMATCH;
|
||||
|
||||
twiss,sequence=s20sy02,range=#s/#e,rmatrix,betx=20,alfx=0,bety=20,alfy=0;
|
||||
449
Settings/Reference.json
Normal file
449
Settings/Reference.json
Normal file
@@ -0,0 +1,449 @@
|
||||
{
|
||||
"Label": "Reference",
|
||||
"Order": [
|
||||
{
|
||||
"Reference": "Start",
|
||||
"MatchID": "Laser Heater",
|
||||
"End": "SINLH02",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": null,
|
||||
"MatchID": "SINSB04",
|
||||
"End": null,
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": "SINSB04",
|
||||
"Save": true
|
||||
},
|
||||
{
|
||||
"Reference": "Laser Heater",
|
||||
"MatchID": "Match to SINSB04",
|
||||
"End": "SINSB04",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": "Laser Heater",
|
||||
"MatchID": "Bunch Compressor 1",
|
||||
"End": "SINDI02",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": null,
|
||||
"MatchID": "Linac 1",
|
||||
"End": null,
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": "S10CB02",
|
||||
"Save": true
|
||||
},
|
||||
{
|
||||
"Reference": "Bunch Compressor 1",
|
||||
"MatchID": "Match to Linac 1",
|
||||
"End": "S10CB02",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": "Bunch Compressor 1",
|
||||
"MatchID": "End of Linac 1",
|
||||
"End": "S10BC01",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": "Bunch Compressor 1",
|
||||
"MatchID": "Bunch Compressor 2",
|
||||
"End": "S10MA01",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": null,
|
||||
"MatchID": "Linac 2",
|
||||
"End": null,
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": [
|
||||
"S20CB01",
|
||||
"S20CB02"
|
||||
],
|
||||
"Save": true
|
||||
},
|
||||
{
|
||||
"Reference": "Bunch Compressor 2",
|
||||
"MatchID": "Match to Linac 2",
|
||||
"End": "S20CB04",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": "Bunch Compressor 2",
|
||||
"MatchID": "Match to Switchyard",
|
||||
"End": "S20SY02",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
},
|
||||
{
|
||||
"Reference": "Switchyard",
|
||||
"MatchID": "Resonant Kicker",
|
||||
"End": "S20SY02",
|
||||
"Destination": "SATBD01",
|
||||
"Sequence": null,
|
||||
"Save": null
|
||||
}
|
||||
],
|
||||
"Dependence": {
|
||||
"SINSB04-MQUA230": [
|
||||
"SINSB03-MQUA230"
|
||||
],
|
||||
"S10CB02-MQUA230": [
|
||||
"S10DI01-MQUA120",
|
||||
"S10CB03-MQUA430",
|
||||
"S10CB04-MQUA430",
|
||||
"S10CB05-MQUA430",
|
||||
"S10CB06-MQUA430",
|
||||
"S10CB07-MQUA430",
|
||||
"S10CB08-MQUA430"
|
||||
],
|
||||
"S10CB02-MQUA430": [
|
||||
"S10CB03-MQUA230",
|
||||
"S10CB04-MQUA230",
|
||||
"S10CB05-MQUA230",
|
||||
"S10CB06-MQUA230",
|
||||
"S10CB07-MQUA230",
|
||||
"S10CB08-MQUA230"
|
||||
],
|
||||
"S20CB01-MQUA430": [
|
||||
"S20CB03-MQUA430"
|
||||
],
|
||||
"SATSY01-MQUA090": [
|
||||
"SATSY01-MQUA210"
|
||||
],
|
||||
"SATSY01-MQUA070": [
|
||||
"SATSY01-MQUA230"
|
||||
],
|
||||
"SATSY01-MQUA040": [
|
||||
"SATSY01-MQUA260"
|
||||
]
|
||||
},
|
||||
"Reference": {
|
||||
"Start": {
|
||||
"Location": "start",
|
||||
"Twiss": {
|
||||
"betax": 29.971,
|
||||
"alphax": 0.003,
|
||||
"betay": 26.0,
|
||||
"alphay": -0.288
|
||||
}
|
||||
},
|
||||
"Laser Heater": {
|
||||
"Location": "sinlh02.mqua410$start",
|
||||
"Twiss": {
|
||||
"betax": 11.2,
|
||||
"alphax": 3.2,
|
||||
"betay": 0.8,
|
||||
"alphay": 0.75
|
||||
}
|
||||
},
|
||||
"Bunch Compressor 1": {
|
||||
"Location": "sindi02.mqua020$start",
|
||||
"Twiss": {
|
||||
"betax": 11.1557,
|
||||
"alphax": -1.17,
|
||||
"betay": 50,
|
||||
"alphay": 0.0
|
||||
}
|
||||
},
|
||||
"Bunch Compressor 2": {
|
||||
"Location": "s10ma01.mqua020$start",
|
||||
"Twiss": {
|
||||
"betax": 6.14,
|
||||
"alphax": -0.83,
|
||||
"betay": 22.86,
|
||||
"alphay": -1.18
|
||||
}
|
||||
},
|
||||
"Switchyard": {
|
||||
"Location": "s20sy02$start",
|
||||
"Twiss": {
|
||||
"betax": 48.26,
|
||||
"alphax": 7.322,
|
||||
"betay": 14.293,
|
||||
"alphay": -3.513
|
||||
}
|
||||
},
|
||||
"Linac3": {
|
||||
"Location": "s30cb10.mqua430$start",
|
||||
"Twiss": {
|
||||
"betax": 8.83,
|
||||
"alphax": 0.548,
|
||||
"betay": 30.44,
|
||||
"alphay": -1.866
|
||||
}
|
||||
},
|
||||
"Aramis Stopper": {
|
||||
"Location": "sarma01.mqua010$start",
|
||||
"Twiss": {
|
||||
"betax": 2.304,
|
||||
"alphax": -1.4045,
|
||||
"betay": 25.929,
|
||||
"alphay": -6.363
|
||||
}
|
||||
},
|
||||
"Athos HERO": {
|
||||
"Location": "satdi01.mqua250$start",
|
||||
"Twiss": {
|
||||
"betax": 35.76,
|
||||
"alphax": -1.166,
|
||||
"betay": 24.087,
|
||||
"alphay": 0.648
|
||||
}
|
||||
},
|
||||
"Athos Deflector": {
|
||||
"Location": "satbd01.mqua010$start",
|
||||
"Twiss": {
|
||||
"betax": 50,
|
||||
"alphax": 0,
|
||||
"betay": 50,
|
||||
"alphay": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"Parameter": {
|
||||
"Laser Heater": {
|
||||
"Variable": [
|
||||
"SINLH01-MQUA020",
|
||||
"SINLH01-MQUA040",
|
||||
"SINLH01-MQUA050",
|
||||
"SINLH01-MQUA070",
|
||||
"SINLH02-MQUA010"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "sinlh02.mqua410$start",
|
||||
"Twiss": {
|
||||
"betax": 11.2,
|
||||
"alphax": 3.2,
|
||||
"betay": 0.8,
|
||||
"alphay": 0.75
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"SINSB04": {
|
||||
"Variable": [
|
||||
"SINSB04-MQUA130",
|
||||
"SINSB04-MQUA230"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "#e",
|
||||
"Twiss": {
|
||||
"MUX": 0.2,
|
||||
"MUY": 0.2
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Match to SINSB04": {
|
||||
"Variable": [
|
||||
"SINLH02-MQUA410",
|
||||
"SINLH03-MQUA030",
|
||||
"SINLH03-MQUA040",
|
||||
"SINLH03-MQUA060",
|
||||
"SINLH03-MQUA080",
|
||||
"SINSB03-MQUA130"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "sinsb04$start",
|
||||
"SavedID": "SINSB04"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Bunch Compressor 1": {
|
||||
"Variable": [
|
||||
"SINBC01-MQUA020",
|
||||
"SINBC01-MQUA050",
|
||||
"SINBC01-MQUA070",
|
||||
"SINBC01-MQUA090",
|
||||
"SINBC01-MQUA110",
|
||||
"SINDI01-MQUA020",
|
||||
"SINDI01-MQUA070"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "sindi02.mqua020$start",
|
||||
"Twiss": {
|
||||
"betax": 11.1557,
|
||||
"alphax": -1.17,
|
||||
"betay": 50,
|
||||
"alphay": 0.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"Location": "sinbc02.mbnd400",
|
||||
"Twiss": {
|
||||
"betax": 5.1,
|
||||
"betay": 100
|
||||
},
|
||||
"Limit": 1
|
||||
},
|
||||
{
|
||||
"Location": "sinbc01.mqua110$end",
|
||||
"Twiss": {
|
||||
"betax": 100
|
||||
},
|
||||
"Limit": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Linac 1": {
|
||||
"Variable": [
|
||||
"S10CB02-MQUA230",
|
||||
"S10CB02-MQUA430"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "#e",
|
||||
"Twiss": {
|
||||
"MUX": 0.1883,
|
||||
"MUY": 0.1883
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Match to Linac 1": {
|
||||
"Variable": [
|
||||
"S10CB01-MQUA230",
|
||||
"S10CB01-MQUA430",
|
||||
"SINDI02-MQUA020",
|
||||
"SINDI02-MQUA030",
|
||||
"SINDI02-MQUA050",
|
||||
"SINDI02-MQUA060",
|
||||
"SINDI02-MQUA090"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "s10cb02$start",
|
||||
"SavedID": "Linac 1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"End of Linac 1": {
|
||||
"Variable": [
|
||||
"S10CB07-MQUA430",
|
||||
"S10CB08-MQUA230",
|
||||
"S10CB08-MQUA430",
|
||||
"S10CB09-MQUA230"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "s10bc01.mqua020$start",
|
||||
"Twiss": {
|
||||
"betax": 4.88,
|
||||
"betay": 16.11,
|
||||
"alphax": 0.5546,
|
||||
"alphay": -1.81
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Bunch Compressor 2": {
|
||||
"Variable": [
|
||||
"S10BC01-MQUA020",
|
||||
"S10BC01-MQUA040",
|
||||
"S10BC01-MQUA060",
|
||||
"S10BC01-MQUA080",
|
||||
"S10BC01-MQUA100"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "s10ma01.mqua020$start",
|
||||
"Twiss": {
|
||||
"betax": 6.14,
|
||||
"alphax": -0.83,
|
||||
"betay": 22.86,
|
||||
"alphay": -1.18
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Linac 2": {
|
||||
"Variable": [
|
||||
"S20CB01-MQUA430",
|
||||
"S20CB02-MQUA430"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "#e",
|
||||
"Twiss": {
|
||||
"MUX": 0.2,
|
||||
"MUY": 0.2
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Match to Linac 2": {
|
||||
"Variable": [
|
||||
"S10MA01-MQUA020",
|
||||
"S10MA01-MQUA050",
|
||||
"S10MA01-MQUA070",
|
||||
"S10MA01-MQUA110",
|
||||
"S10MA01-MQUA130"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "s20cb01$start",
|
||||
"SavedID": "Linac 2"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Match to Switchyard": {
|
||||
"Variable": [
|
||||
"S20SY01-MQUA020",
|
||||
"S20SY01-MQUA030",
|
||||
"S20SY01-MQUA050",
|
||||
"S20SY01-MQUA080"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Location": "s20sy02$start",
|
||||
"Twiss": {
|
||||
"betax": 48.26,
|
||||
"alphax": 7.322,
|
||||
"betay": 14.293,
|
||||
"alphay": -3.513
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Resonant Kicker": {
|
||||
"Variable": [
|
||||
"S20SY02-MQUA070",
|
||||
"S20SY02-MQUA100",
|
||||
"S20SY02-MQUA140",
|
||||
"S20SY02-MQUA180",
|
||||
"S20SY02-MKDC010",
|
||||
"S20SY02-MKAC020",
|
||||
"S20SY02-MKDC030",
|
||||
"S20SY02-MKAC040",
|
||||
"S20SY02-MKDC050"
|
||||
],
|
||||
"Target": [
|
||||
{
|
||||
"Script": "Scripts/switchyard_kicker.madx"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user