! ILCDR FODO LATTICE, version FODO5 ! Created by Sun Yi-Peng, Jan. 01, 2008 ! Composed of 8 arc sections, 4 wiggler straight, 2 RF straight ! one injection straight and one extraction straight ! Resume the number of wiggler sections from 2 to 4 ! Seperate the wiggler from RF ! Use the new dispersion suppressor, injection\extraction, and Chicane ! Momentum compaction can be freely tuned between 1.68 and 4*10^-4 ! Adjust the arc cell length and number. ! Half quads and sextupoles cleaned by Dr. Weishi Wan of LBNL. ! Optimization work is done together with Dr. Weishi Wan of LBNL. ! Wiggler and RF design from OCS8 lattice (2007.12 version). ! Beam Energy E0 := 5.0 !-------------------------------------Magnets strength and RF voltage--------- !--common-- K1QDINJ1 := -0.417487446272 K1QFINJ1 := 0.294579826789 !---------- !--90 degree arc cell, for alpha=2.56e-4-- !------------------------------- comment K1.QFA := -5.019342E-01 K1.QDA := 5.015237E-01 K1.DSQFA := -5.019342E-01 K1.DSQDA := 5.015237E-01 K1.DS2QFA := -5.019342E-01 K1.DS2QDA := 5.015237E-01 K1.QFAS := -5.019342E-01 K1.QDMS1 := 0.241962576364 K1.QFMS1 := -0.182057415347 K1.QDMS2 := 0.187598774691 K1.QFMS2 := -0.223114573415 K1.QDMW1 := 0.535419333876 K1.QFMW1 := -0.551742730567 K1.QDMW2 := -0.036163730919 K1.QFMW2 := 0.137513407195 K1.QDMW3 := -0.063645032474 K1.QDMRF1 := 0.302446907292 K1.QFMRF1 := -0.465210190019 K1.QDMRF2 := 0.911803293212 K1.QFMRF2 := -0.435764250049 K1.QDMRF3 := -0.861314229333 K2.SF = 0.5600075143*2 K2.SD = -1.3775334423*2 !--RF voltage-- VRF := 29.2 endcomment !------------------------------- !--108 degree arc cell, for alpha=1.68e-4-- !------------------------------- !comment K1.QFA := -5.726926E-01 K1.QDA := 5.745954E-01 K1.DSQFA := -0.428293174628 K1.DSQDA := 0.53613080212 K1.DS2QFA := -0.472840866997 K1.DS2QDA := 0.662672153043 K1.QFAS := -1.048720573697 K1.QDMS1 := 0.227945923934 K1.QFMS1 := 0.111266824143 K1.QDMS2 := 0.153371941853 K1.QFMS2 := -0.274246304214 K1.QDMRF1 := 0.597689710915 K1.QFMRF1 := -0.410591564369 K1.QDMRF2 := -0.376241701983 K1.QFMRF2 := 0.438000081617 K1.QDMRF3 := -0.330951535054 K1.QDMW1 := 0.733967178804 K1.QFMW1 := -0.430318832187 K1.QDMW2 := -0.152966169625 K1.QFMW2 := 0.176688446217 K1.QDMW3 := -0.351507879724 K2.SF = 0.811075143*2 K2.SD = -2.2725334423*2 !--RF voltage-- VRF := 20.5 !endcomment !------------------------------- !--72 degree arc cell, for alpha=4e-4-- !------------------------------- comment K1.QFA := -4.186751E-01 K1.QDA := 4.190645E-01 K1.DSQFA := -0.243329561886 K1.DSQDA := 0.419637004094 K1.DS2QFA := -0.492238934164 K1.DS2QDA := 0.286306194053 K1.QFAS := 0.16601199713 K1.QDMS1 := 0.104623503628 K1.QFMS1 := -0.199493201165 K1.QDMS2 := 0.17110674629 K1.QFMS2 := -0.190533795764 K1.QDMW1 := 0.722660142584 K1.QFMW1 := -0.741219963133 K1.QDMW2 := 0.032348886334 K1.QFMW2 := -0.088934727721 K1.QDMW3 := -0.399625038475 K1.QDMRF1 := 0.732501506971 K1.QFMRF1 := -0.659901978052 K1.QDMRF2 := 0.887733791382 K1.QFMRF2 := -0.900508775136 K1.QDMRF3 := -0.963282998134 K2.SF = 0.3665984551082348*2 K2.SD = -0.7351814175344777*2 !--RF voltage-- VRF := 45 endcomment !------------------------------- !---------------------------------------------------- ! BPMs, KICKERs, and MARKERs !---------------------------------------------------- MARKSUN1: MARKER MARKSUN2: MARKER MARKSUN3: MARKER MARKSUN4: MARKER MARKSUN5: MARKER MARKSUN6: MARKER M0: MARKER MRK: MARKER MRKL: MARKER MRKA: MARKER MRKAD: MARKER MRKW: MARKER MRKT: MARKER MRKRF: MARKER MARKINJ1: MARKER MARKINJ2: MARKER !-------------------------------------------------------------------- !-----------start of lattice----------------------------------------- !---------------------------------------------------- ! RF Cavities !---------------------------------------------------- RF_ON := 0 RFVOLT := RF_ON*VRF/32 ! 650MHz RF, 12 RF Cavities RFC : RFCAVITY, L=0.23, VOLT=RFVOLT, LAG=0.5, HARMON=14042 RFC1: DRIFT, L=0.23 ! --------Arc section !---------------------------------------------------- BANGLE := TWOPI/176 HBANGLE := BANGLE/2 QBANGLE := BANGLE/4 BLENGTH := 6 HBLENGTH := BLENGTH/2 QBLENGTH := BLENGTH/4 BA: SBEND, L=6, ANGLE=BANGLE, E1=HBANGLE, E2=HBANGLE BA2F: SBEND, L=3, ANGLE=HBANGLE, E1=0.0, E2=HBANGLE BA2B: SBEND, L=3, ANGLE=HBANGLE, E1=HBANGLE, E2=0.0 BA2: SBEND, L=3, ANGLE=HBANGLE, E1=QBANGLE, E2=QBANGLE BA2F2: SBEND, L=1, ANGLE=QBANGLE, E1=0.0, E2=QBANGLE BA2B2: SBEND, L=1, ANGLE=QBANGLE, E1=QBANGLE, E2=0.0 QLENGTH := 0.1 QFA: QUADRUPOLE, L=0.3, K1= 2.852939E-01 QFA1: QUADRUPOLE, L=QLENGTH, K1= K1.QFA QFA2: QUADRUPOLE, L=QLENGTH, K1= K1.QFA QDA: QUADRUPOLE, L=0.3, K1= -2.869627E-01 !QDA1: QUADRUPOLE, L=QLENGTH, K1= -K1.QFA !QDA2: QUADRUPOLE, L=QLENGTH, K1= -K1.QFA QDA1: QUADRUPOLE, L=QLENGTH, K1= K1.QDA QDA2: QUADRUPOLE, L=QLENGTH, K1= K1.QDA SXT_ON := 1 SF : SEXTUPOLE, L=0.25, K2= K2.SF*SXT_ON SD : SEXTUPOLE, L=0.25, K2= K2.SD*SXT_ON DSF: DRIFT, L=0.2 DSD: DRIFT, L=0.2 DSD0: DRIFT, L=0.25 DLA1: DRIFT, L=6.65 DLA2: DRIFT, L=3.6 DLA3: DRIFT, L=4.7 DFODO1: DRIFT,L=9.55-0.2-0.1854166666666 DFODO2: DRIFT,L=2.05-0.1 ACELLMATCH: LINE=( QDA2,DSF, SF, DFODO1, BA2B2, BA2F2, DFODO2, & SD, DSD, QFA1, QFA2, DSD, DSD0, DFODO2, & BA2B2,BA2F2, DFODO1, DSD0, DSF, QDA1 ) ACELL: LINE=( QFA2, DSD, SD, DFODO2, & BA2B2,BA2F2, DFODO1, DSD0, DSF, QDA1,& QDA2,DSF, SF, DFODO1, BA2B2, BA2F2, DFODO2, & DSD0, DSD, QFA1 ) ! --------Dispersion Suppressor section !---------------------------------------------------- DSQFA1: QUADRUPOLE, L=QLENGTH, K1= K1.DSQFA DSQFA2: QUADRUPOLE, L=QLENGTH, K1= K1.DSQFA DSQDA1: QUADRUPOLE, L=QLENGTH, K1= K1.DSQDA DSQDA2: QUADRUPOLE, L=QLENGTH, K1= K1.DSQDA BANGLEs1 := TWOPI/176/2 HBANGLEs1 := BANGLEs1/2 QBANGLEs1 := BANGLEs1/4 BA2F2s1: SBEND, L=1, ANGLE=QBANGLEs1, E1=0.0, E2=QBANGLEs1 BA2B2s1: SBEND, L=1, ANGLE=QBANGLEs1, E1=QBANGLEs1, E2=0.0 ACELLs1: LINE=( DSQFA2, DSD, DSD0, DFODO2, & BA2B2s1,BA2F2s1, DFODO1, DSD0, DSF, DSQDA1,& DSQDA2,DSF, DSD0, DFODO1, BA2B2s1, BA2F2s1, DFODO2, & DSD0, DSD, DSQFA1 ) !---------------------------------------------------- DS2QFA1: QUADRUPOLE, L=QLENGTH, K1= K1.QFAs DS2QFA2: QUADRUPOLE, L=QLENGTH, K1= K1.DS2QFA DS2QDA1: QUADRUPOLE, L=QLENGTH, K1= K1.DS2QDA DS2QDA2: QUADRUPOLE, L=QLENGTH, K1= K1.DS2QDA BANGLEs2 := TWOPI/176/2 HBANGLEs2 := BANGLEs2/2 QBANGLEs2 := BANGLEs2/4 SF1 : SEXTUPOLE, L=0.25, K2= 0 SD1 : SEXTUPOLE, L=0.25, K2= 0 BA2F2s2: SBEND, L=1, ANGLE=QBANGLEs2, E1=0.0, E2=QBANGLEs2 BA2B2s2: SBEND, L=1, ANGLE=QBANGLEs2, E1=QBANGLEs2, E2=0.0 ACELLs2: LINE=( DS2QFA2, DSD, DSD0, DFODO2, & BA2B2s2,BA2F2s2, DFODO1, DSD0, DSF, DS2QDA1,& DS2QDA2,DSF, DSD0, DFODO1, BA2B2s2, BA2F2s2, DFODO2, & DSD0, DSD, DS2QFA1 ) ACELLs0 : LINE= (ACELLs1,ACELLs2) !---------------------------------------------------- ! Wiggler Section !---------------------------------------------------- MRKW : MARK BWPU: SBEND, L=0.05, ANGLE=0.473418870904E-2, E1=0.473418870904E-2 & , E2=0.0 BWPD: SBEND, L=0.05, ANGLE=0.473418870904E-2, E1=0.0, E2= & 0.473418870904E-2 BWMU: SBEND, L=0.05, ANGLE=-0.473418870904E-2, E1= & -0.473418870904E-2, E2=0.0 BWMD: SBEND, L=0.05, ANGLE=-0.473418870904E-2, E1=0.0, E2= & -0.473418870904E-2 BWPH: SBEND, L=0.05, ANGLE=0.473418870904E-2, E1=0.236709435452E-2, E2= & 0.236709435452E-2 BWMH: SBEND, L=0.05, ANGLE=-0.473418870904E-2, E1=-0.236709435452E-2, E2= & -0.236709435452E-2 D1W: DRIFT, L=0.75 D2W: DRIFT, L=0.1 D3W: DRIFT, L=0.025 QDWH: QUAD, L=0.15, K1= -6.498290E-01 QFWH: QUAD, L=0.15, K1= 7.408488E-01 BWP : LINE=(BWPU,BWPD) BWM : LINE=(BWMU,BWMD) WIGPRD : LINE=(BWMD,D2W,BWP,D2W,BWMU) WIGSECU : LINE=(BWPH,D3W,BWMU,5*WIGPRD,BWMD,D2W,BWP,D3W,BWMH) WIGSECD : LINE=(BWMH,D3W,BWP,D2W,BWMU,5*WIGPRD,BWMD,D3W,BWPH) CWIG : LINE = (MRKW, & QFWH, D1W, WIGSECU, D1W, QDWH, & QDWH, D1W, WIGSECD, D1W, QFWH) !---------------------------------------------------- ! RF Section !---------------------------------------------------- MRKRF : MARK RF_ON := 0 RFVOLT := RF_ON*VRF/20 RFC : RFCAVITY, L=0.23, VOLT=RFVOLT, LAG=0.5, HARMON=14042 RFCS : RFCAVITY, L=0.23, VOLT=0 DRFC : DRIFT, L = 1.3175 LRFC : LINE = (DRFC, RFC, DRFC) LRFCS : LINE = (DRFC, RFCS,DRFC) BPMRF : MONITOR HVRF : KICKER DRF : DRIFT, L = 0.215 QDRF : QUAD, L=0.15, K1= -7.234429E-01 QFRF : QUAD, L=0.15, K1= 7.234429E-01 UQDRF : LINE = (DRF, BPMRF, DRF, QDRF) DQDRF : LINE = (QDRF, DRF, HVRF, DRF) UQFRF : LINE = (DRF, BPMRF, DRF, QFRF) DQFRF : LINE = (QFRF, DRF, HVRF, DRF) LQDRF : LINE = (DRF, BPMRF, DRF, QDRF, QDRF, DRF, HVRF, DRF) LQFRF : LINE = (DRF, BPMRF, DRF, QFRF, QFRF, DRF, HVRF, DRF) RFCELL : LINE = (MRKRF, DQFRF, LRFC, UQDRF, DQDRF, LRFC, UQFRF) RFCELL0 : LINE = (MRKRF, DQFRF, LRFCS, UQDRF, DQDRF, LRFCS, UQFRF) !---------------------------------------------------- ! Matching to wiggler !---------------------------------------------------- QDMW1: QUADRUPOLE, L=0.3, K1= K1.QDMW1 QFMW1: QUADRUPOLE, L=0.3, K1= K1.QFMW1 QDMW2: QUADRUPOLE, L=0.3, K1= K1.QDMW2 QFMW2: QUADRUPOLE, L=0.3, K1= K1.QFMW2 QDMW3: QUADRUPOLE, L=0.3, K1= K1.QDMW3 DLMW1: DRIFT, L = 3 DLMW2: DRIFT, L = 2 DLMW3: DRIFT, L = 2.9+0.0115 DLMW4: DRIFT, L = 2 DLMW5: DRIFT, L = 3 SUPW : LINE = (DLMW1, QFMW1, DLMW2, QDMW1, DLMW3, QFMW2, & DLMW4, QDMW2,DLMW5,QDMW3) !---------------------------------------------------- ! Matching to Injection/extraction !---------------------------------------------------- QDMS1: QUADRUPOLE, L=0.3, K1= K1.QDMS1 QFMS1: QUADRUPOLE, L=0.3, K1= K1.QFMS1 QDMS2: QUADRUPOLE, L=0.3, K1= K1.QDMS2 QFMS2: QUADRUPOLE, L=0.3, K1= K1.QFMS2 DLMS1: DRIFT, L = 7 DLMS2: DRIFT, L = 5 DLMS3: DRIFT, L = 14 DLMS4: DRIFT, L = 5 DLMS5: DRIFT, L = 7 SUPS : LINE = (DLMS1, QFMS1, DLMS2, QDMS1, DLMS3, QFMS2, & DLMS4, QDMS2) !---------------------------------------------------- ! Matching to RF !---------------------------------------------------- QDMRF1: QUADRUPOLE, L=0.3, K1= K1.QDMRF1 QFMRF1: QUADRUPOLE, L=0.3, K1= K1.QFMRF1 QDMRF2: QUADRUPOLE, L=0.3, K1= K1.QDMRF2 QFMRF2: QUADRUPOLE, L=0.3, K1= K1.QFMRF2 QDMRF3: QUADRUPOLE, L=0.3, K1= K1.QDMRF3 DLMRF1: DRIFT, L = 3 DLMRF2: DRIFT, L = 2 DLMRF3: DRIFT, L = 2.9+0.0115 DLMRF4: DRIFT, L = 2 DLMRF5: DRIFT, L = 3 SUPRF : LINE = (DLMRF1, QFMRF1, DLMRF2, QDMRF1, DLMRF3, QFMRF2, & DLMRF4, QDMRF2,DLMRF5,QDMRF3) !---------------------------------------------------- ! Injection/extraction section !---------------------------------------------------- ! Fast strip line kicker ! Theta = 2*10E3(Voltage)*.3(Length)/5E9(E0)/.03(Gap)= 4E-5(rad) KICK_ON := 0 D1KA : DRIFT, L=0.05 BKM : HKICK, L=0.3, KICK=-4E-5*KICK_ON BKP : HKICK, L=0.3, KICK= 4E-5*KICK_ON KINJ1 : LINE = (D1KA, BKM, D1KA) KINJ2 : LINE = (D1KA, BKP, D1KA) KEXT2 : LINE = (D1KA, BKP, D1KA) ! Septum data from APS storage ring ! Thin septum: 2mm thickness. Peak field 0.73 T ! Thick septum: 30mm thickness. Peak field 1.08 T BSPI1 : HKICK, L=1, KICK=0.0436*KICK_ON BSPI2 : HKICK, L=1, KICK=0.0645*KICK_ON BSPE1 : HKICK, L=1, KICK=0.0436*KICK_ON BSPE2 : HKICK, L=1, KICK=0.0645*KICK_ON QDINJ1: QUADRUPOLE, L=0.3, K1= K1QDINJ1 QFINJ1: QUADRUPOLE, L=0.3, K1= K1QFINJ1 DLINJ1: DRIFT, L = 5.6 DLINJ1a: DRIFT, L = 1.1 DLINJ1b: DRIFT, L = 2 DLINJ1c: DRIFT, L = 1 DLINJ2: DRIFT, L = 3+1.5 DLINJ3: DRIFT, L = 17.706875-1.5 DINJ7: DRIFT, L = 0.5 INJ: LINE =(DLINJ1a,BSPI2,DINJ7,BSPI1, DLINJ1b, & QFINJ1, DLINJ2, QDINJ1, DLINJ3,DLINJ3, QDINJ1, & DLINJ2, QFINJ1, DLINJ1c,5*KINJ2, 15*KINJ1,3*KINJ2, & DLINJ1c,QFINJ1,DLINJ2,QDINJ1,DLINJ3,DLINJ3,QDINJ1, & DLINJ2,QFINJ1,DLINJ1b,BSPE2,DINJ7,BSPE1,DLINJ1a) !---------------------------------------------------- !ring !---------------------------------------------------- SECTORW : LINE = (10*ACELL,ACELLs0, SUPW, & 10*CWIG, -SUPW, -ACELLs0,10*ACELL) SECTORRF : LINE = (10*ACELL,ACELLs0, SUPRF, & 5*RFCELL0, 5*RFCELL, -SUPRF, -ACELLs0,10*ACELL) SECTORINJ : LINE = (10*ACELL,ACELLs0, SUPS, INJ, & -SUPS,-ACELLs0, 10*ACELL) SECTORSF : LINE = (-SUPS,-ACELLs0, 10*ACELL) SECTORSB : LINE = (10*ACELL, ACELLs0, SUPS, INJ) RING : LINE = (SECTORSF, SECTORW, SECTORRF, SECTORW, & SECTORINJ,SECTORW,SECTORRF,SECTORW, SECTORSB) SECTORWshort : LINE = (ACELL,ACELLs0, SUPW, & 10*CWIG, -SUPW, -ACELLs0,ACELL) SECTORRFshort : LINE = (ACELL,ACELLs0, SUPRF, & 5*RFCELL0, 5*RFCELL, -SUPRF, -ACELLs0,ACELL) SECTORINJshort : LINE = (ACELL,ACELLs0, SUPS, INJ, & -SUPS,-ACELLs0, ACELL) !-----------end of lattice------------------------------------------- !-------------------------------------------------------------------- BEAM, PARTICLE=ELECTRON, ENERGY=E0 SETPLOT, FONT=2, LSCALE=1.5, RSCALE=1.2, SSCALE=1.0,& ASCALE=1.2, LWIDTH=5 use, ACELL print, full TWISS, SAVE PLOT,table=twiss,haxis=s,vaxis1=betx,bety,vaxis2=dx,colour=100,spline, & FILE="ACELL" use, RING print, full TWISS, SAVE PLOT,table=twiss,haxis=s,vaxis1=betx,bety,vaxis2=dx,colour=100,spline, & FILE="FODO5" use, SECTORINJshort print, full TWISS, SAVE PLOT,table=twiss,haxis=s,vaxis1=betx,bety,vaxis2=dx,colour=100,spline, & FILE="Injection" use, SECTORWshort print, full TWISS, SAVE PLOT,table=twiss,haxis=s,vaxis1=betx,bety,vaxis2=dx,colour=100,spline, & FILE="Wiggler" use, SECTORRFshort print, full TWISS, SAVE PLOT,table=twiss,haxis=s,vaxis1=betx,bety,vaxis2=dx,colour=100,spline, & FILE="RF" USE, RING SURVEY, TAPE="FODO5.survey.txt" SELECT, OPTICS, CLEAR SELECT, OPTICS, #S/#E OPTICS, COLUMNS= NAME, S, L, & BETX, ALFX, MUX, DX, DPX, & BETY, ALFY, MUY, & K0L, E1, E2, K1L, K2L, & FILENAME= "FODO5.lfunctions.txt" OPTICS, COLUMNS= NAME, KEYWORD, S, L, & K0L, E1, E2, K1L, K2L, & FILENAME= "FODO5.lattice.txt" ASSIGN, PRINT="ILCDR.bmpm.txt" USE, RING RF_ON := 0 SXT_ON := 0 PRINT, #E TWISS, TUNES, SAVE RF_ON := 1 SXT_ON := 1 PRINT, #E TWISS, COUPLE, SAVE BMPM BEAM, PARTICLE=electron, ENERGY=E0, NPART=2.0E10, RADIATE EMIT STOP