Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More tutorial ring design devel. #1098

Merged
merged 1 commit into from
Jul 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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