Skip to content

Commit

Permalink
More tutorial ring design devel.
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidSagan committed Jul 30, 2024
1 parent e3fb94e commit 4e948e1
Show file tree
Hide file tree
Showing 9 changed files with 1,850 additions and 23 deletions.
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,16 @@ This will add all of the appropriate executables to the environment's PATH.

### Compile from source

If you want to compile Bmad directly, download a [Release](https://github.com/bmad-sim/bmad-ecosystem/releases) (or click on link on right hand side of this page and download the **bmad_dist.tar.gz** file (ignore the *source code* files) and follow the setup instructions at <https://wiki.classe.cornell.edu/ACC/ACL/OffsiteDoc>.
If you want to compile Bmad directly,
download a [Release](https://github.com/bmad-sim/bmad-ecosystem/releases)
(or click on link on right hand side of this page and download the **bmad_dist.tar.gz** file.
ignore the *source code* files))
and follow the setup instructions at <https://wiki.classe.cornell.edu/ACC/ACL/OffsiteDoc>.


## Developer Setup
## Developer Setup (for people involved in Bmad development)

Developers should clone this repository, as well as its external packages:
Developers should clone this repository, as well as the external packages repository:

```bash
git clone https://github.com/bmad-sim/bmad-ecosystem.git
Expand All @@ -48,7 +52,9 @@ rm ../bmad-external-packages/README.md # Do not copy this file
cp -r ../bmad-external-packages/* .
```

To build everything:
If this is the first time,
follow the setup instructions at <https://wiki.classe.cornell.edu/ACC/ACL/OffsiteDoc>.
Otherwise if the environment has been setup, to build do:
```bash
cd bmad-ecosystem
source util/dist_source_me
Expand Down
2 changes: 1 addition & 1 deletion bmad-doc/tutorial_ring_design/doc/tutorial_ring_design.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3060,7 +3060,7 @@ \subsection{Example: Adding Corrector Coils and BPMs}
! (3) Define and add BPMs
BPM: marker
\end{code}
Then insert the BPMs after dipoles by searching and replacing \vn{B,} with \vn{B, BPM,} (including the commas) and repeat for \vn{HB} and \vn{DB}.
Then insert the BPMs after dipoles by searching and replacing \vn{B,} with \vn{B, BPM,} (including the commas) and repeat for \vn{BH}.
\end{enumerate}

%------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,325 @@
! (1): Define horizontal/vertical corrector coils and
! split D1 into D1C1 and D1C2 to fit coils
! (2) Add corrector coils near quadrupoles using Find and Replace with regular expressions.
! (3) Define and add BPMs
! (4): Turn on radiation damping

parameter[geometry] = closed

parameter[p0c] = 1.7846262612447E10
parameter[particle] = Electron

! (4): Turn on radiation damping
bmad_com[radiation_damping_on] = T

!-------------------------------------------------------
QF: Quadrupole, L = 0.5, K1 = 0.312808574467162, DS_STEP = 0.05
D1: Drift, L = 0.609
BH: SBend, L = 6.86004047683621, G = 1.73467958576489E-3, E1 = 5.94998608634431E-3,
E2 = 5.94998608634431E-3
D2: Drift, L = 1.241
QD: Quadrupole, L = 0.5, K1 = -0.312643401293818, DS_STEP = 0.05
B: SBend, L = 6.86016190935103, G = 3.46929776000413E-3, E1 = 0.0118999721726886, E2 = 0.0118999721726886

QFSS: Quadrupole, L = 0.5, K1 = 0.351957452649287, DS_STEP = 0.05
DB: Drift, L = 5.855
QDSS: Quadrupole, L = 0.5, K1 = -0.351957452649287, DS_STEP = 0.05

QFF1: Quadrupole, L = 0.5, K1 = 0.312788849040316, DS_STEP = 0.05
QDF1: Quadrupole, L = 0.5, K1 = -0.312435213005613, DS_STEP = 0.05
QFF2: Quadrupole, L = 0.5, K1 = 0.356878102586152, DS_STEP = 0.05
QDF2: Quadrupole, L = 0.5, K1 = -0.352748341241363, DS_STEP = 0.05
QFF3: Quadrupole, L = 0.5, K1 = 0.378866292084376, DS_STEP = 0.05
QDF3: Quadrupole, L = 0.5, K1 = -0.361253854611549, DS_STEP = 0.05

QFR1: Quadrupole, L = 0.5, K1 = 0.31279043710515, DS_STEP = 0.05
QDR1: Quadrupole, L = 0.5, K1 = -0.312476088830373, DS_STEP = 0.05
QFR2: Quadrupole, L = 0.5, K1 = 0.356875472837547, DS_STEP = 0.05
QDR2: Quadrupole, L = 0.5, K1 = -0.352734374012209, DS_STEP = 0.05
QFR3: Quadrupole, L = 0.5, K1 = 0.378868523273032, DS_STEP = 0.05
QDR3: Quadrupole, L = 0.5, K1 = -0.361193022269439, DS_STEP = 0.05

QEF1: Quadrupole, L = 0.5, K1 = 0.472771266311092
QEF2: Quadrupole, L = 0.5, K1 = -0.112382775182896
DEF1: Drift, L = 20.46
QEF3: Quadrupole, L = 1.6, K1 = 0.109225406228901
DEF2: Drift, L = 3.76
QEF4: Quadrupole, L = 1.2, K1 = -0.22417037885855
DEF3: Drift, L = 5.8
IP6: Marker
DER3: Drift, L = 5.3
QER4: Quadrupole, L = 1.8, K1 = -0.237106026895982
DER2: Drift, L = 0.5
QER3: Quadrupole, L = 1.4, K1 = 0.235216011329213
DER1: Drift, L = 23.82
QER2: Quadrupole, L = 0.5, K1 = -9.91959187109746E-3
QER1: Quadrupole, L = 0.5, K1 = -0.380938440181242

QFSS_2: Quadrupole, L = 0.5, K1 = 0.351957452649287, DS_STEP = 0.05
QDSS_2: Quadrupole, L = 0.5, K1 = -0.351957452649287, DS_STEP = 0.05
QFF1_2: Quadrupole, L = 0.5, K1 = 0.312788849040316, DS_STEP = 0.05
QDF1_2: Quadrupole, L = 0.5, K1 = -0.312435213005613, DS_STEP = 0.05
QFF2_2: Quadrupole, L = 0.5, K1 = 0.356878102586152, DS_STEP = 0.05
QDF2_2: Quadrupole, L = 0.5, K1 = -0.352748341241363, DS_STEP = 0.05
QFF3_2: Quadrupole, L = 0.5, K1 = 0.378866292084376, DS_STEP = 0.05
QDF3_2: Quadrupole, L = 0.5, K1 = -0.361253854611549, DS_STEP = 0.05

QFF2_6: Quadrupole, L = 0.5, K1 = 0.356878102586152, DS_STEP = 0.05
QDF2_6: Quadrupole, L = 0.5, K1 = -0.352748341241363, DS_STEP = 0.05
QFF3_6: Quadrupole, L = 0.5, K1 = 0.378866292084376, DS_STEP = 0.05
QDF3_6: Quadrupole, L = 0.5, K1 = -0.361253854611549, DS_STEP = 0.05

QFR2_6: Quadrupole, L = 0.5, K1 = 0.356875472837547, DS_STEP = 0.05
QDR2_6: Quadrupole, L = 0.5, K1 = -0.352734374012209, DS_STEP = 0.05
QFR3_6: Quadrupole, L = 0.5, K1 = 0.378868523273032, DS_STEP = 0.05
QDR3_6: Quadrupole, L = 0.5, K1 = -0.361193022269439, DS_STEP = 0.05


! In ESR: 2 RF cavities in between each quad with equal 30 cm drifts
! For our lattice, ((1.241+5.855+0.609)-2*3.41)/3
RF0: RFCavity, L = 3.41, harmon = 7560, voltage=3.5579437E+06 !68.0/18.0 * 1e6
DRF: Drift, L = ((1.241+5.855+0.609)-2*3.41)/3 ! = 0.295

! 1 o'clock arc:
SF1_1: Sextupole, L = 0.584, k2 = 2
SD1_1: Sextupole, L = 0.584, k2 = -2
SF2_1: Sextupole, L = 0.584, k2 = 2
SD2_1: Sextupole, L = 0.584, k2 = -2

! 3 o'clock arc:
SF1_3: Sextupole, L = 0.584, k2 = 2
SD1_3: Sextupole, L = 0.584, k2 = -2
SF2_3: Sextupole, L = 0.584, k2 = 2
SD2_3: Sextupole, L = 0.584, k2 = -2

! 5 o'clock arc:
SF1_5: Sextupole, L = 0.584, k2 = 2
SD1_5: Sextupole, L = 0.584, k2 = -2
SF2_5: Sextupole, L = 0.584, k2 = 2
SD2_5: Sextupole, L = 0.584, k2 = -2

! 7 o'clock arc:
SF1_7: Sextupole, L = 0.584, k2 = 2
SD1_7: Sextupole, L = 0.584, k2 = -2
SF2_7: Sextupole, L = 0.584, k2 = 2
SD2_7: Sextupole, L = 0.584, k2 = -2

! 9 o'clock arc:
SF1_9: Sextupole, L = 0.584, k2 = 2
SD1_9: Sextupole, L = 0.584, k2 = -2
SF2_9: Sextupole, L = 0.584, k2 = 2
SD2_9: Sextupole, L = 0.584, k2 = -2

! 11 o'clock arc:
SF1_11: Sextupole, L = 0.584, k2 = 2
SD1_11: Sextupole, L = 0.584, k2 = -2
SF2_11: Sextupole, L = 0.584, k2 = 2
SD2_11: Sextupole, L = 0.584, k2 = -2

SFSS: Sextupole, L = 0.584, k2 = 0.
SDSS: Sextupole, L = 0.584, k2 = -0.

D2S1: Drift, L = 0.501
D2S2: Drift, L = 0.156

OF_1: overlay = {SF1_1[k2]: 1.17391350481685941E+000 + x, SF2_1[k2]: 1.17391350481685941E+000 - x}, var = {x}
OD_1: overlay = {SD1_1[k2]: -2.38981076830464190E+000 + x, SD2_1[k2]: -2.38981076830464190E+000 - x}, var = {x}

OF_3: overlay = {SF1_3[k2]: 1.17391350481685941E+000 + x, SF2_3[k2]: 1.17391350481685941E+000 - x}, var = {x}
OD_3: overlay = {SD1_3[k2]: -2.38981076830464190E+000 + x, SD2_3[k2]: -2.38981076830464190E+000 - x}, var = {x}

OF_5: overlay = {SF1_5[k2]: 1.17391350481685941E+000 + x, SF2_5[k2]: 1.17391350481685941E+000 - x}, var = {x}
OD_5: overlay = {SD1_5[k2]: -2.38981076830464190E+000 + x, SD2_5[k2]: -2.38981076830464190E+000 - x}, var = {x}

OF_7: overlay = {SF1_7[k2]: 1.17391350481685941E+000 + x, SF2_7[k2]: 1.17391350481685941E+000 - x}, var = {x}
OD_7: overlay = {SD1_7[k2]: -2.38981076830464190E+000 + x, SD2_7[k2]: -2.38981076830464190E+000 - x}, var = {x}

OF_9: overlay = {SF1_9[k2]: 1.17391350481685941E+000 + x, SF2_9[k2]: 1.17391350481685941E+000 - x}, var = {x}
OD_9: overlay = {SD1_9[k2]: -2.38981076830464190E+000 + x, SD2_9[k2]: -2.38981076830464190E+000 - x}, var = {x}

OF_11: overlay = {SF1_11[k2]: 1.17391350481685941E+000 + x, SF2_11[k2]: 1.17391350481685941E+000 - x}, var = {x}
OD_11: overlay = {SD1_11[k2]: -2.38981076830464190E+000 + x, SD2_11[k2]: -2.38981076830464190E+000 - x}, var = {x}

!-------------------------------------------------------

END_7: marker

END_5: marker

! (1): Define horizontal/vertical corrector coils and
! split D1 into D1C1 and D1C2 to fit coils
D1C1: Drift, L = 0.064
D1C2: Drift, L = 0.345 !0.609 - 0.064 - 0.2
CH: hkicker, L = 0.2
CV: vkicker, L = 0.2

! (2) Add corrector coils near quadrupoles using Find and Replace with regular expressions.
! Recipe:
!1. In the forward arcs for drifts after focusing quadrupoles:
! Replace (QF[^,\n]*,[^,\n]*)D1 with \1D1C1, CH, D1C2 for
!2. In the forward arcs for drifts after defocusing quadrupoles:
! Replace (QD[^,\n]*,[^,\n]*)D1 with \1D1C1, CV, D1C2
!
!3. In the reverse arcs for drifts before focusing quadrupoles:
! Replace (D1C2, CH, D1C1)([^,\n]*,[^,\n]*QF)
! with D1C2, CH, D1C1\2
!4. In the reverse arcs for drifts before defocusing quadrupoles:
! Replace (D1C2, CH, D1C1)([^,\n]*,[^,\n]*QD)
! with D1C2, CV, D1C1\2
!5. In the reverse arcs for drifts at the end of a cell:
! Replace D1C2, CH, D1C1) with D1C2, CH, D1C1)

! (3) Define and add BPMs
BPM: marker
!-------------------------------------------------------


! Straight section forward FoDo:
FODOSSF: line = ( \1D1C1, CH, D1C2, DB, BPM, D2S1, SDSS, D2S2, \1D1C1, CV, D1C2, DB, BPM, D2S1, SFSS, D2S2)

! Straight section reverse FoDo:
FODOSSR: line = ( QFSS, D2S2, SFSS, D2S1, DB, BPM, D1C2, CV, D1C1\2SS, D2S2, SFSS, D2S1, DB, BPM, D1C2, CH, D1C1)

! 1 o'clock arc forward 2*FoDo:
FODOAF_1: line = (\1D1C1, CH, D1C2, B, BPM, D2S1, SD1_1, D2S2, \1D1C1, CV, D1C2, B, BPM, D2S1, SF1_1, D2S2, \1D1C1, CH, D1C2, B, BPM, D2S1, SD2_1, D2S2, \1D1C1, CV, D1C2, B, BPM, D2S1, SF2_1, D2S2)

! 5 o'clock arc forward 2*FoDo:
FODOAF_5: line = (\1D1C1, CH, D1C2, B, BPM, D2S1, SD1_5, D2S2, \1D1C1, CV, D1C2, B, BPM, D2S1, SF1_5, D2S2, \1D1C1, CH, D1C2, B, BPM, D2S1, SD2_5, D2S2, \1D1C1, CV, D1C2, B, BPM, D2S1, SF2_5, D2S2)

! 9 o'clock arc forward 2*FoDo:
FODOAF_9: line = (\1D1C1, CH, D1C2, B, BPM, D2S1, SD1_9, D2S2, \1D1C1, CV, D1C2, B, BPM, D2S1, SF1_9, D2S2, \1D1C1, CH, D1C2, B, BPM, D2S1, SD2_9, D2S2, \1D1C1, CV, D1C2, B, BPM, D2S1, SF2_9, D2S2)


! 3 o'clock arc reverse 2*FoDo:
FODOAR_3: line = (QF, D2S2, SF1_3, D2S1, B, BPM, D1C2, CV, D1C1\2, D2S2, SD1_3, D2S1, B, BPM, D1C2, CH, D1C1\2, D2S2, SF2_3, D2S1, B, BPM, D1C2, CV, D1C1\2, D2S2, SD2_3, D2S1, B, BPM, D1C2, CH, D1C1)

! 7 o'clock arc reverse 2*FoDo:
FODOAR_7: line = (QF, D2S2, SF1_7, D2S1, B, BPM, D1C2, CV, D1C1\2, D2S2, SD1_7, D2S1, B, BPM, D1C2, CH, D1C1\2, D2S2, SF2_7, D2S1, B, BPM, D1C2, CV, D1C1\2, D2S2, SD2_7, D2S1, B, BPM, D1C2, CH, D1C1)

! 11 o'clock arc reverse 2*FoDo:
FODOAR_11: line = (QF, D2S2, SF1_11, D2S1, B, BPM, D1C2, CV, D1C1\2, D2S2, SD1_11, D2S1, B, BPM, D1C2, CH, D1C1\2, D2S2, SF2_11, D2S1, B, BPM, D1C2, CV, D1C1\2, D2S2, SD2_11, D2S1, B, BPM, D1C2, CH, D1C1)

!-------------------------------------------------------

! Forward dispersion suppressor:
DISPSUPF: line = (\1D1C1, CH, D1C2, BH, BPM, D2, \1D1C1, CV, D1C2, BH, BPM, D2, \1D1C1, CH, D1C2, BH, BPM, D2, \1D1C1, CV, D1C2, BH, BPM, D2)

! Match forward dispersion suppressor to SS:
MSSF: line = ( \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2, \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2)

ARC_TO_SSF: line = (DISPSUPF, MSSF)

! Reverse dispersion suppressor:
DISPSUPR: line = ( QF, D2, BH, BPM, D1C2, CV, D1C1\2, D2, BH, BPM, D1C2, CH, D1C1\2R1, D2, BH, BPM, D1C2, CV, D1C1\2R1, D2, BH, BPM, D1C2, CH, D1C1)

! Match reverse dispersion suppressor to SS:
MSSR: line = ( QFR2, D2, DB, BPM, D1C2, CV, D1C1\2R2, D2, DB, BPM, D1C2, CH, D1C1\2R3, D2, DB, BPM, D1C2, CV, D1C1\2R3, D2, DB, BPM, D1C2, CH, D1C1)

ARC_TO_SSR: line = (DISPSUPR, MSSR)


!-------------------------------------------------------

! Match forward straight section to dispersion "creator" (use QFR)
MDCF: line = (\1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2, \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2)

! Forward dispersion "creator" (use QFR)
DISPCREF: line = (\1D1C1, CH, D1C2, BH, BPM, D2, \1D1C1, CV, D1C2, BH, BPM, D2, \1D1C1, CH, D1C2, BH, BPM, D2, \1D1C1, CV, D1C2, BH, BPM, D2)

SS_TO_ARCF: line = (MDCF, DISPCREF)

! Match reverse straight section to dispersion "creator" (use QFF)
MDCR: line = ( QFSS, D2, DB, BPM, D1C2, CV, D1C1\2F3, D2, DB, BPM, D1C2, CH, D1C1\2F3, D2, DB, BPM, D1C2, CV, D1C1\2F2, D2, DB, BPM, D1C2, CH, D1C1)

! Reverse dispersion "creator" (use QFF)
DISPCRER: line = ( QFF2, D2, BH, BPM, D1C2, CV, D1C1\2F1, D2, BH, BPM, D1C2, CH, D1C1\2F1, D2, BH, BPM, D1C2, CV, D1C1\2, D2, BH, BPM, D1C2, CH, D1C1)

SS_TO_ARCR: line = (MDCR, DISPCRER)

!-------------------------------------------------------

IPF: line = ( QEF1, D1, DB, BPM, D2, QEF2, D1, DB, BPM, D2, DEF1, QEF3, DEF2, QEF4, DEF3, IP6)
IPR: line = (IP6, DER3, QER4, DER2, QER3, DER1, QER2, D2, DB, BPM, D1, QER1, D2, DB, BPM, D1C2, CH, D1C1)

!-------------------------------------------------------

! Straight section forward FoDo:
FODOSSF_2: line = ( \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2)

! Straight section reverse FoDo:
FODOSSR_2: line = ( QFSS_2, D2, DB, BPM, D1C2, CV, D1C1\2SS_2, D2, DB, BPM, D1C2, CH, D1C1)

! Match forward dispersion suppressor to SS:
MSSF_2: line = ( \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2, \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2)

! Match forward dispersion suppressor to SS:
MSSF_6: line = ( \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2, \1D1C1, CH, D1C2, DB, BPM, D2, \1D1C1, CV, D1C2, DB, BPM, D2)

! Match reverse straight section to dispersion "creator" (use QFF)
MDCR_2: line = ( QFSS_2, D2, DB, BPM, D1C2, CV, D1C1\2F3_2, D2, DB, BPM, D1C2, CH, D1C1\2F3_2, D2, DB, BPM, D1C2, CV, D1C1\2F2_2, D2, DB, BPM, D1C2, CH, D1C1)

! Match reverse straight section to dispersion "creator" (use QFF)
MDCR_6: line = ( QFSS, D2, DB, BPM, D1C2, CV, D1C1\2R3_6, D2, DB, BPM, D1C2, CH, D1C1\2R3_6, D2, DB, BPM, D1C2, CV, D1C1\2R2_6, D2, DB, BPM, D1C2, CH, D1C1)


! Reverse dispersion "creator" to steal 1 quad from (use QFF)
DISPCRER_2: line = ( QFF2_2, D2, BH, BPM, D1C2, CV, D1C1\2F1_2, D2, BH, BPM, D1C2, CH, D1C1\2F1_2, D2, BH, BPM, D1C2, CV, D1C1\2, D2, BH, BPM, D1C2, CH, D1C1)


ARC_TO_SSF_2: line = (DISPSUPF, MSSF_2)
SS_TO_ARCR_2: line = (MDCR_2, DISPCRER_2)


ARC_TO_SSF_6: line = (DISPSUPF, MSSF_6)
SS_TO_ARCR_6: line = (MDCR_6, DISPCRER)

!-------------------------------------------------------

FODORF: line = ( QFSS, DRF, RF0, DRF, RF0, DRF, QDSS, DRF, RF0, DRF, RF0, DRF)

!-------------------------------------------------------


SEXTANT1: line = (4*FODOSSF, SS_TO_ARCF, 10*FODOAF_1, ARC_TO_SSF_2, 4*FODOSSF_2)
SEXTANT3: line = (4*FODOSSR_2, SS_TO_ARCR_2, 10*FODOAR_3, ARC_TO_SSR, 4*FODOSSR)
SEXTANT5: line = (4*FODOSSF, SS_TO_ARCF, 10*FODOAF_5, END_5, ARC_TO_SSF_6, 1*FODOSSF, IPF)
SEXTANT7: line = (IPR, 1*FODOSSR, SS_TO_ARCR_6, 10*FODOAR_7, END_7 ,ARC_TO_SSR, 4*FODOSSR)
SEXTANT9: line = (4*FODOSSF, SS_TO_ARCF, 10*FODOAF_9, ARC_TO_SSF, 2*FODOSSF, 2*FODORF)
SEXTANT11: line = (2*FODORF, 2*FODOSSR, SS_TO_ARCR, 10*FODOAR_11, ARC_TO_SSR, 4*FODOSSR)

RING: line = (SEXTANT1, SEXTANT3, SEXTANT5, SEXTANT7, SEXTANT9, SEXTANT11)



use, RING



RF0[voltage] = 3557943.69553301670

OF_5[X] = 4.92685243294774144E-001
OD_5[X] = 1.23888046566648224E+000
OF_7[X] = 2.44998904226471664E-001
OD_7[X] = -1.42682804485842785E+000



QFSS_2[K1] = 3.32203875341996524E-001
QDSS_2[K1] = -3.82037558156482993E-001
QFF2_2[K1] = 3.59013350200977244E-001
QDF2_2[K1] = -3.59058256797260722E-001
QFF3_2[K1] = 3.70341883503764902E-001
QDF3_2[K1] = -3.82980378703924262E-001
QFF3_6[K1] = 3.78364742603524318E-001
QDF3_6[K1] = -3.60005652920728170E-001
QEF1[K1] = 4.70887920003225435E-001
QEF2[K1] = -1.06759448298209547E-001
QEF3[K1] = 1.09247965928191637E-001
QEF4[K1] = -2.24282292780295017E-001
QDR2_6[K1] = -3.74852087251277888E-001
QFR3_6[K1] = 3.72072224553677777E-001
QDR3_6[K1] = -3.78318987293625675E-001
QER1[K1] = -3.81490113592264146E-001
QER2[K1] = -6.98044300333951120E-003
QER3[K1] = 2.34941240777968713E-001
QER4[K1] = -2.37161404652608571E-001
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,13 @@ CV: vkicker, L = 0.2
! Replace (QD[^,\n]*,[^,\n]*)D1 with \1D1C1, CV, D1C2
!
!3. In the reverse arcs for drifts before focusing quadrupoles:
! Replace (D1)([^,\n]*,[^,\n]*QF), with D1C2, CH, D1C1\2
! Replace (D1C2, CH, D1C1)([^,\n]*,[^,\n]*QF)
! with D1C2, CH, D1C1\2
!4. In the reverse arcs for drifts before defocusing quadrupoles:
! Replace (D1)([^,\n]*,[^,\n]*QD), with D1C2, CV, D1C1\2
! Replace (D1C2, CH, D1C1)([^,\n]*,[^,\n]*QD)
! with D1C2, CV, D1C1\2
!5. In the reverse arcs for drifts at the end of a cell:
! Replace D1) with D1C2, CH, D1C1)
! Replace D1C2, CH, D1C1) with D1C2, CH, D1C1)

! (3) Define and add BPMs
BPM: marker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1180,4 +1180,4 @@ RING: line = ( QFSS, D1C1, CH_1, D1C2, DB, BPM_1, D2S1, SDSS, D2S2, QDSS, D1C1,
BPM_413, D1C2, CV_205, D1C1, QDSS, D2S2, SFSS, D2S1, DB, BPM_414, D1C2, CH_206, D1C1, QFSS, D2S2, SFSS,
D2S1, DB, BPM_415, D1C2, CV_206, D1C1, QDSS, D2S2, SFSS, D2S1, DB, BPM_416, D1C2, CH_207, D1C1)

use, RING
use, RING
Loading

0 comments on commit 4e948e1

Please sign in to comment.