TITLE, "BAF Beam Line" ! baf beam line 11/2/01 ! ! constants and strengths, calculated from currents ! ! initialize currents (expected values in amp, transform into kamp) ! IQ1:=0.0 IQ2:=0.0 IQ3:=0.0 IQ4:=0.0 IQ5:=0.0 IQ6:=0.0 IQ7:=0.0 IQ8:=0.0 IQ1s:=IQ1/1000.0 IQ2s:=IQ2/1000.0 IQ3s:=IQ3/1000.0 IQ4s:=IQ4/1000.0 IQ5s:=IQ5/1000.0 IQ6s:=IQ6/1000.0 IQ7s:=IQ7/1000.0 IQ8s:=IQ8/1000.0 ! IO1:=0.0 IO2:=0.0 IO1s:=IO1/1000.0 IO2s:=IO2/1000.0 ! ! initialize polarities ! PQ1:=-1.0 PQ2:= 1.0 PQ3:= 1.0 PQ4:=-1.0 PQ5:= 1.0 PQ6:=-1.0 PQ7:= 1.0 PQ8:= 1.0 ! PO1:= 1.0 PO2:=-1.0 ! IDIPO:= 640.0 ! booster main dipole current, default injection ANGD: CONSTANT = 0.174532925 ! bend angle of a booster main dipole LEND: CONSTANT = 2.42 ! length of a booster main dipole CONV: CONSTANT = 0.0254 ! RHO := LEND/ANGD IDIPO2:=IDIPO*IDIPO IDIPO3:=IDIPO*IDIPO*IDIPO IDIPO4:=IDIPO*IDIPO*IDIPO*IDIPO IDIPO5:=IDIPO*IDIPO*IDIPO*IDIPO*IDIPO IDIPO6:=IDIPO*IDIPO*IDIPO*IDIPO*IDIPO*IDIPO IDIPO7:=IDIPO*IDIPO*IDIPO*IDIPO*IDIPO*IDIPO*IDIPO IDIPO8:=IDIPO*IDIPO*IDIPO*IDIPO*IDIPO*IDIPO*IDIPO*IDIPO BoostB := 0.0009122+idipo*2.371e-4+idipo2*1.717e-8-idipo3*2.412e-11 & +idipo4*1.836e-14-idipo5*7.88e-18+idipo6*1.891e-21 & -idipo7*2.351e-25+idipo8*1.163e-29 BRho:= BoostB*RHO ! ! Q1-Q8 are 8Q24 type magnets. Following transformation requires I positive. ! ! 8Q24 dB/dr as a function of current, based on field measurements ! BQ1:=PQ1*IQ1s*(1.276+0.03598*IQ1s-0.08089*IQ1s*IQ1s+0.06999*IQ1s*IQ1s*IQ1s- & 0.02653*IQ1s*IQ1s*IQ1s*IQ1s+ & 0.003175*IQ1s*IQ1s*IQ1s*IQ1s*IQ1s)/(10*CONV) BQ2:=PQ2*IQ2s*(1.276+0.03598*IQ2s-0.08089*IQ2s*IQ2s+0.06999*IQ2s*IQ2s*IQ2s- & 0.02653*IQ2s*IQ2s*IQ2s*IQ2s+ & 0.003175*IQ2s*IQ2s*IQ2s*IQ2s*IQ2s)/(10*CONV) BQ3:=PQ3*IQ3s*(1.276+0.03598*IQ3s-0.08089*IQ3s*IQ3s+0.06999*IQ3s*IQ3s*IQ3s- & 0.02653*IQ3s*IQ3s*IQ3s*IQ3s+ & 0.003175*IQ3s*IQ3s*IQ3s*IQ3s*IQ3s)/(10*CONV) BQ4:=PQ4*IQ4s*(1.276+0.03598*IQ4s-0.08089*IQ4s*IQ4s+0.06999*IQ4s*IQ4s*IQ4s- & 0.02653*IQ4s*IQ4s*IQ4s*IQ4s+ & 0.003175*IQ4s*IQ4s*IQ4s*IQ4s*IQ4s)/(10*CONV) BQ5:=PQ5*IQ5s*(1.276+0.03598*IQ5s-0.08089*IQ5s*IQ5s+0.06999*IQ5s*IQ5s*IQ5s- & 0.02653*IQ5s*IQ5s*IQ5s*IQ5s+ & 0.003175*IQ5s*IQ5s*IQ5s*IQ5s*IQ5s)/(10*CONV) BQ6:=PQ6*IQ6s*(1.276+0.03598*IQ6s-0.08089*IQ6s*IQ6s+0.06999*IQ6s*IQ6s*IQ6s- & 0.02653*IQ6s*IQ6s*IQ6s*IQ6s+ & 0.003175*IQ6s*IQ6s*IQ6s*IQ6s*IQ6s)/(10*CONV) BQ7:=PQ7*IQ7s*(1.276+0.03598*IQ7s-0.08089*IQ7s*IQ7s+0.06999*IQ7s*IQ7s*IQ7s- & 0.02653*IQ7s*IQ7s*IQ7s*IQ7s+ & 0.003175*IQ7s*IQ7s*IQ7s*IQ7s*IQ7s)/(10*CONV) BQ8:=PQ8*IQ8s*(1.276+0.03598*IQ8s-0.08089*IQ8s*IQ8s+0.06999*IQ8s*IQ8s*IQ8s- & 0.02653*IQ8s*IQ8s*IQ8s*IQ8s+ & 0.003175*IQ8s*IQ8s*IQ8s*IQ8s*IQ8s)/(10*CONV) ! ! simple transformation based on B(x) vs x at 2000 amp. BO1:=PO1*IO1s*(0.335473)/(10*CONV*CONV*CONV) ! d^3B/dx^3 in T/m^3 BO2:=PO2*IO2s*(0.335473)/(10*CONV*CONV*CONV) !======================================================== ! bend angle definitions !======================================================== !BendD6h: constant = 0.0715 ! half bend of D6 = 143/2 mrad BendD6h: constant = 0.07775 ! half bend of D6 = 155.5/2 mrad BendDh: constant = 0.087266463 ! half bend of D1 and D2 BendTrim: constant = 0.000 !======================================================== ! magnet lengths !======================================================== LD6h : constant = 1.15 ! half length of D6 LDh : constant = 0.5335 ! half length of D1 and D2 LDTh : constant = 0.31496 ! half length of trim correctors LBAFQh : constant = 0.3555 ! BAF quad half length LBAFOh : constant = 0.2 ! BAF octupole half length !======================================================== ! generic drift types !======================================================== LdT0 := 0.1 LdT1 := 0.2 LdT2 := 0.5 LdT3 := 1.0 !======================================================== ! special types !======================================================== LdS0 := 0.08440637 LdS1 := 0.073000 LdS2 := 0.02334 LdS3 := 0.08448 LdS4 := 0.0987015 LdS5 := 0.0027198 LdS6 := 0.0923601 LdS7 := 0.0 LdS8 := 0.0 LdS9 := 0.00943822 LdS10:= 0.02750052 LdS11:= 0.04874 LdS12:= 0.0984402 LdS13:= 0.02649976 LdS14:= 0.04000016 LdS15:= 0.08543776 !======================================================== ! drifts !======================================================== ! ! D6 to Q1 ! d01_1: drift, l = LdT3 d01_2: drift, l = LdT3 d01_3: drift, l = LdT3 d01_4: drift, l = LdT3 d01_5: drift, l = LdT3 d01_6: drift, l = LdT3 d01_7: drift, l = LdT3 d01_8: drift, l = LdT3 d01_9: drift, l = LdT3 d01_10: drift, l = LdT3 d01_11: drift, l = LdT3 d01_12: drift, l = LdT3 d01_13: drift, l = LdT3 d01_14: drift, l = LdT3 d01_15: drift, l = LdT3 d01_16: drift, l = LdT2+LdS0 ! ! Q1 to Q2 ! d02_1: drift, l = LdT3 d02_2: drift, l = LdT2+LdT1+LdT0+LdS1 ! ! Q2 to D70 ! d03_1: drift, l = LdT2 d03_2: drift, l = LdS2 ! ! D70 to P73 ! d04_1: drift, l = LdT1+LdS3 ! ! P73 to D1 ! d05_1: drift, l = LdT3 d05_2: drift, l = LdT3 d05_3: drift, l = LdT3 d05_4: drift, l = LdT3 d05_5: drift, l = LdT3 d05_6: drift, l = LdT3 d05_7: drift, l = LdT3 d05_8: drift, l = LdT3 d05_9: drift, l = LdT2+LdT0+LdS4 ! ! D1 to D2 ! d06_1: drift, l = LdT2 d06_2: drift, l = LdT0+LdS5 ! ! D2 to Q3 ! d07_1: drift, l = LdT3 d07_2: drift, l = LdT3 d07_3: drift, l = LdT3 d07_4: drift, l = LdT2+LdS6 ! ! Q3 to Q4 ! d08_1: drift, l = LdT3 d08_2: drift, l = LdT2+LdT1+LdT0+LdS1 ! ! Q4 to D137 ! d09_1: drift, l = LdT2+LdS11 ! ! D137 to P140 ! d10_1: drift, l = LdT1+LdS3 ! ! P140 to O1 ! d11_1: drift, l = LdT3 d11_2: drift, l = LdT3 d11_3: drift, l = LdT3 d11_4: drift, l = LdT3 d11_5: drift, l = LdT3 d11_6: drift, l = LdT3 d11_7: drift, l = LdT3 d11_8: drift, l = LdT3 d11_9: drift, l = LdT2+LdT1+LdT1+LdS9 ! ! O1 to Q5 ! d12_1: drift, l = LdT1+LdT0+LdS10 ! ! Q5 to D178 ! d13_1: drift, l = LdT2+LdS11 ! ! D178 to P181 ! d14_1: drift, l = LdT1+LdS3 ! ! P181 to O2 ! d15_1: drift, l = LdT3 d15_2: drift, l = LdT3 d15_3: drift, l = LdT3 d15_4: drift, l = LdT3 d15_5: drift, l = LdT2+LdT1+LdT1+LdS12 ! ! O2 to Q6 ! d16_1: drift, l = LdT1+LdT0+LdS13 ! ! Q6 to Q7 ! d17_1: drift, l = LdT3 d17_2: drift, l = LdT3 d17_3: drift, l = LdT3 d17_4: drift, l = LdT3 d17_5: drift, l = LdT3 d17_6: drift, l = LdT3 d17_7: drift, l = LdT0+LdS1 ! ! Q7 to Q8 ! d18_1: drift, l = LdT3 d18_2: drift, l = LdT3 d18_3: drift, l = LdT3 d18_4: drift, l = LdT3 d18_5: drift, l = LdT3 d18_6: drift, l = LdT2+LdT1+LdT1+LdS14 ! ! Q8 to D250 ! d19_1: drift, l = LdT2+LdS11 ! ! D250 to P253 ! d20_1: drift, l = LdT1+LdS3 ! ! P253 to RTGT ! d21_1: drift, l = LdT3 d21_2: drift, l = LdT3 d21_3: drift, l = LdT3 d21_4: drift, l = LdT3 d21_5: drift, l = LdT3 d21_6: drift, l = LdT3 d21_7: drift, l = LdT3 d21_8: drift, l = LdT3 d21_9: drift, l = LdT3 d21_10: drift, l = LdT3 d21_11: drift, l = LdT3 d21_12: drift, l = LdT3 d21_13: drift, l = LdT3 d21_14: drift, l = LdT3 d21_15: drift, l = LdT3 d21_16: drift, l = LdT3 d21_17: drift, l = LdT3 d21_18: drift, l = LdT3 d21_19: drift, l = LdT3 d21_20: drift, l = LdT3 d21_21: drift, l = LdT3 d21_22: drift, l = LdT2+LdT1+LdS15 !======================================================== ! Magnet definitions !======================================================== ! ! Dipoles ! ! Booster D6 septum arc magnet BD6us: sbend, l = LD6h, angle = BendD6h BD6ds: sbend, l = LD6h, angle = BendD6h ! BAF D1 and D2 10 degree bends D1us: rbend, l = LDh, angle = BendDh D1ds: rbend, l = LDh, angle = BendDh D2us: rbend, l = LDh, angle = BendDh D2ds: rbend, l = LDh, angle = BendDh ! ! trims ! D70us : rbend, l = LDTh, angle = BendTrim D70ds : rbend, l = LDTh, angle = BendTrim D137us: rbend, l = LDTh, angle = BendTrim D137ds: rbend, l = LDTh, angle = BendTrim D178us: rbend, l = LDTh, angle = BendTrim D178ds: rbend, l = LDTh, angle = BendTrim D250us: rbend, l = LDTh, angle = BendTrim D250ds: rbend, l = LDTh, angle = BendTrim P73us : rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P73ds : rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P140us: rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P140ds: rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P181us: rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P181ds: rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P253us: rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 P253ds: rbend, l = LDTh, angle = BendTrim, tilt=-PI/2 ! ! Quadrupoles ! Q1us: quad, l = LBAFQh, K1 = BQ1/BRHO Q1ds: quad, l = LBAFQh, K1 = BQ1/BRHO Q2us: quad, l = LBAFQh, K1 = BQ2/BRHO Q2ds: quad, l = LBAFQh, K1 = BQ2/BRHO Q3us: quad, l = LBAFQh, K1 = BQ3/BRHO Q3ds: quad, l = LBAFQh, K1 = BQ3/BRHO Q4us: quad, l = LBAFQh, K1 = BQ4/BRHO Q4ds: quad, l = LBAFQh, K1 = BQ4/BRHO Q5us: quad, l = LBAFQh, K1 = BQ5/BRHO Q5ds: quad, l = LBAFQh, K1 = BQ5/BRHO Q6us: quad, l = LBAFQh, K1 = BQ6/BRHO Q6ds: quad, l = LBAFQh, K1 = BQ6/BRHO Q7us: quad, l = LBAFQh, K1 = BQ7/BRHO Q7ds: quad, l = LBAFQh, K1 = BQ7/BRHO Q8us: quad, l = LBAFQh, K1 = BQ8/BRHO Q8ds: quad, l = LBAFQh, K1 = BQ8/BRHO ! ! Octupoles ! O1us: oct, l = LBAFOh, K3 = BO1/(BRHO) O1ds: oct, l = LBAFOh, K3 = BO1/(BRHO) O2us: oct, l = LBAFOh, K3 = BO2/(BRHO) O2ds: oct, l = LBAFOh, K3 = BO2/(BRHO) !========================================================= ! markers, misc. !========================================================= D6usF: MARKER FPM63: MARKER ! flag between Q1 and Q2 FPM92: MARKER ! flag in front of D1 FPM158: MARKER ! flag in front of O1 FPM188: MARKER ! flag in front of O2 FPM196: MARKER ! flag at end of line on window RTGT: MARKER ! ! initial values just quesses L_Foil:=0.00008 A_Foil:=0.00002 DP_Foil:=-0.0001 D6FOIL: FOIL, L=L_Foil, angle=A_Foil, deltap=DP_Foil ! D6CL:=0.0254 D6Cx:=0.0254 D6Cy:=0.0254 D6Coll: Rcollimator, L=D6CL, Xsize=D6Cx, Ysize=D6Cy !========================================================= ! Lines !========================================================= BtD6wf: LINE=(D6FOIL,D6usF,D6Coll) BtD6: LINE=(D6usF) D6tQ1: LINE=(d01_1, d01_2, d01_3, d01_4, d01_5, d01_6, & d01_7, d01_8, d01_9, d01_10,d01_11,d01_12, & d01_13,d01_14,d01_15,d01_16) Q1tQ2: LINE=(d02_1, FPM63, d02_2) Q2tD70: LINE=(d03_1, d03_2) D70tP73: LINE=(d04_1) P73tD1: LINE=(d05_1, d05_2, d05_3, d05_4, d05_5, d05_6, & d05_7, d05_8, FPM92, d05_9) D1tD2: LINE=(d06_1, d06_2) D2tQ3: LINE=(d07_1, d07_2, d07_3, d07_4) Q3tQ4: LINE=(d08_1, d08_2) Q4tD137: LINE=(d09_1) D137tP140: LINE=(d10_1) P140tO1: LINE=(d11_1, d11_2, d11_3, d11_4, d11_5, d11_6, & d11_7, d11_8, FPM158, d11_9) O1tQ5: LINE=(d12_1) Q5tD178: LINE=(d13_1) D178tP181: LINE=(d14_1) P181tO2: LINE=(d15_1, d15_2, d15_3, d15_4, FPM188, d15_5) O2tQ6: LINE=(d16_1) Q6tQ7: LINE=(d17_1, d17_2, d17_3, d17_4, d17_5, d17_6, & d17_7) Q7tQ8: LINE=(d18_1, d18_2, d18_3, d18_4, d18_5, d18_6) Q8tD250: LINE=(d19_1) D250tP253: LINE=(d20_1) P253tRT: LINE=(d21_1, d21_2, d21_3, d21_4, d21_5, d21_6, & d21_7, d21_8, d21_9, d21_10,d21_11,d21_12, & d21_13,d21_14,d21_15,d21_16,FPM196, & d21_17,d21_18,d21_19,d21_20,d21_21,d21_22,RTGT) !--------------------------------------------------------- BAFwfus: LINE=(BtD6wf, & BD6us, BD6ds, D6tQ1, & Q1us, Q1ds, Q1tQ2, & Q2us, Q2ds, Q2tD70, & D70us, D70ds, D70tP73, & P73us, P73ds, P73tD1, & D1us, D1ds, D1tD2) BAFus: LINE=(BtD6, & BD6us, BD6ds, D6tQ1, & Q1us, Q1ds, Q1tQ2, & Q2us, Q2ds, Q2tD70, & D70us, D70ds, D70tP73, & P73us, P73ds, P73tD1, & D1us, D1ds, D1tD2) BAFmid: LINE=(D2us, D2ds, D2tQ3, & Q3us, Q3ds, Q3tQ4, & Q4us, Q4ds, Q4tD137, & D137us, D137ds, D137tP140, & P140us, P140ds, P140tO1) BAFds: LINE=(O1us, O1ds, O1tQ5, & Q5us, Q5ds, Q5tD178, & D178us, D178ds, D178tP181, & P181us, P181ds, P181tO2, & O2us, O2ds, O2tQ6, & Q6us, Q6ds, Q6tQ7, & Q7us, Q7ds, Q7tQ8, & Q8us, Q8ds, Q8tD250, & D250us, D250ds, D250tP253, & P253us, P253ds, P253tRT) BAFwf: LINE=(BAFwfus, BAFmid, BAFds) BAF: LINE=(BAFus, BAFmid, BAFds)