Aladdin active - LF20
Active harmonic cavity case w/ LF20 Aladin lattice:
Fig. 11 (a) & 11 (b) of [1]
[1]: Bosch, R. A., Kleman, K. J., & Bisognano, J. J. (2001). Robinson instabilities with a higher-harmonic cavity. Physical Review Special Topics-Accelerators and Beams, 4(7), 074401.
Imports
import numpy as np
import matplotlib.pyplot as plt
from mbtrack2 import CavityResonator
from aladdin import aladdin
from albums.scan import scan_HC_beta_I0_active
from albums import SystemState
from albums import EquilibriumOptions, TheoryOptions
from albums import DEFAULT_FLOWS
Ring and cavity setup
ring = aladdin(mode="LF20", V_RF=50e3)
MC = CavityResonator(ring, m=1, Rs=0.5e6, Q=8000, QL=8000, detune=100e3)
MC.beta = 11
MC.Vc = 50e3
MC.theta = np.arccos(ring.U0/MC.Vc)
HC = CavityResonator(ring, m=4, Rs=1.24e6, Q=20250, QL=20250, detune=100e3)
Benchmark
points = 50
currents = np.linspace(0, 300e-3, points)
HC_beta_vals = np.linspace(0, 300, points)
method = "Bosch"
flow = DEFAULT_FLOWS[method]
flow_no_coupling = DEFAULT_FLOWS[f"{method}_no_coupling"]
N_sigma = 20
tau_boundary = ring.sigma_0*N_sigma
eq_opts = EquilibriumOptions(tau_boundary=tau_boundary,
passive_harmonic_cavity=False,
auto_set_MC_theta=True,
optimal_tunning=True,
auto_set_for_xi=True,
xi=1)
Active harmonic cavity - Robinson instabilities without coupling
Fig. 11 (a) in [1]
result = scan_HC_beta_I0_active(
SystemState(ring, [MC, HC]),
HC_beta_vals,
currents,
flow=flow_no_coupling,
eq_opts=eq_opts,
theory_opts=TheoryOptions(mode_coupling=False))
result.plot("xi")
scan: 0%| | 0/2500 [00:00<?, ?it/s]
scan: 2%|▏ | 50/2500 [00:00<00:04, 493.08it/s]
scan: 4%|▍ | 102/2500 [00:00<00:04, 504.21it/s]
scan: 6%|▌ | 155/2500 [00:00<00:04, 512.00it/s]
scan: 8%|▊ | 208/2500 [00:00<00:04, 516.09it/s]
scan: 10%|█ | 262/2500 [00:00<00:04, 522.08it/s]
scan: 13%|█▎ | 317/2500 [00:00<00:04, 528.92it/s]
scan: 15%|█▍ | 370/2500 [00:00<00:04, 525.83it/s]
scan: 17%|█▋ | 426/2500 [00:00<00:03, 535.57it/s]
scan: 19%|█▉ | 482/2500 [00:00<00:03, 542.70it/s]
scan: 22%|██▏ | 538/2500 [00:01<00:03, 545.81it/s]
scan: 24%|██▍ | 594/2500 [00:01<00:03, 548.33it/s]
scan: 26%|██▌ | 650/2500 [00:01<00:03, 551.26it/s]
scan: 28%|██▊ | 708/2500 [00:01<00:03, 557.18it/s]
scan: 31%|███ | 764/2500 [00:01<00:03, 557.82it/s]
scan: 33%|███▎ | 821/2500 [00:01<00:02, 559.87it/s]
scan: 35%|███▌ | 879/2500 [00:01<00:02, 563.47it/s]
scan: 37%|███▋ | 936/2500 [00:01<00:02, 560.58it/s]
scan: 40%|███▉ | 994/2500 [00:01<00:02, 563.51it/s]
scan: 42%|████▏ | 1051/2500 [00:01<00:02, 554.05it/s]
scan: 44%|████▍ | 1108/2500 [00:02<00:02, 558.61it/s]
scan: 47%|████▋ | 1166/2500 [00:02<00:02, 562.50it/s]
scan: 49%|████▉ | 1224/2500 [00:02<00:02, 566.71it/s]
scan: 51%|█████ | 1281/2500 [00:02<00:02, 565.00it/s]
scan: 54%|█████▎ | 1339/2500 [00:02<00:02, 566.68it/s]
scan: 56%|█████▌ | 1396/2500 [00:02<00:01, 563.68it/s]
scan: 58%|█████▊ | 1454/2500 [00:02<00:01, 565.84it/s]
scan: 60%|██████ | 1511/2500 [00:02<00:01, 554.91it/s]
scan: 63%|██████▎ | 1567/2500 [00:02<00:01, 537.54it/s]
scan: 65%|██████▍ | 1621/2500 [00:02<00:01, 517.53it/s]
scan: 67%|██████▋ | 1673/2500 [00:03<00:01, 506.60it/s]
scan: 69%|██████▉ | 1724/2500 [00:03<00:01, 495.23it/s]
scan: 71%|███████ | 1774/2500 [00:03<00:01, 480.97it/s]
scan: 73%|███████▎ | 1823/2500 [00:03<00:01, 468.64it/s]
scan: 75%|███████▍ | 1870/2500 [00:03<00:01, 455.46it/s]
scan: 77%|███████▋ | 1916/2500 [00:03<00:01, 446.43it/s]
scan: 78%|███████▊ | 1961/2500 [00:03<00:01, 434.15it/s]
scan: 80%|████████ | 2005/2500 [00:03<00:01, 424.81it/s]
scan: 82%|████████▏ | 2048/2500 [00:03<00:01, 420.88it/s]
scan: 84%|████████▍ | 2095/2500 [00:04<00:00, 425.50it/s]
scan: 86%|████████▌ | 2142/2500 [00:04<00:00, 435.17it/s]
scan: 87%|████████▋ | 2186/2500 [00:04<00:00, 425.39it/s]
scan: 89%|████████▉ | 2229/2500 [00:04<00:00, 412.65it/s]
scan: 91%|█████████ | 2271/2500 [00:04<00:00, 404.20it/s]
scan: 92%|█████████▏| 2312/2500 [00:04<00:00, 396.17it/s]
scan: 94%|█████████▍| 2352/2500 [00:04<00:00, 385.09it/s]
scan: 96%|█████████▌| 2396/2500 [00:04<00:00, 397.96it/s]
scan: 98%|█████████▊| 2442/2500 [00:04<00:00, 410.55it/s]
scan: 99%|█████████▉| 2484/2500 [00:05<00:00, 406.35it/s]
scan: 100%|██████████| 2500/2500 [00:05<00:00, 490.13it/s]
Active harmonic cavity - Robinson instabilities with coupling
Fig. 11 (b) in [1]
result = scan_HC_beta_I0_active(
SystemState(ring, [MC, HC]),
HC_beta_vals,
currents,
flow=flow,
eq_opts=eq_opts,
theory_opts=TheoryOptions(mode_coupling=True))
result.plot("xi")
scan: 0%| | 0/2500 [00:00<?, ?it/s]
scan: 1%| | 15/2500 [00:00<00:16, 149.93it/s]
scan: 2%|▏ | 55/2500 [00:00<00:08, 294.72it/s]
scan: 4%|▍ | 96/2500 [00:00<00:06, 346.72it/s]
scan: 6%|▌ | 140/2500 [00:00<00:06, 380.71it/s]
scan: 7%|▋ | 179/2500 [00:00<00:07, 326.25it/s]
scan: 9%|▉ | 222/2500 [00:00<00:06, 355.80it/s]
scan: 11%|█ | 267/2500 [00:00<00:05, 382.63it/s]
scan: 12%|█▏ | 309/2500 [00:00<00:05, 392.26it/s]
scan: 14%|█▍ | 349/2500 [00:00<00:05, 393.77it/s]
scan: 16%|█▌ | 389/2500 [00:01<00:05, 391.92it/s]
scan: 17%|█▋ | 429/2500 [00:01<00:07, 292.99it/s]
scan: 19%|█▉ | 469/2500 [00:01<00:06, 317.99it/s]
scan: 21%|██ | 513/2500 [00:01<00:05, 348.30it/s]
scan: 22%|██▏ | 557/2500 [00:01<00:05, 372.20it/s]
scan: 24%|██▍ | 602/2500 [00:01<00:04, 392.74it/s]
scan: 26%|██▌ | 647/2500 [00:01<00:04, 407.55it/s]
scan: 28%|██▊ | 693/2500 [00:01<00:04, 420.10it/s]
scan: 29%|██▉ | 736/2500 [00:02<00:05, 319.90it/s]
scan: 31%|███▏ | 782/2500 [00:02<00:04, 352.96it/s]
scan: 33%|███▎ | 829/2500 [00:02<00:04, 381.69it/s]
scan: 35%|███▌ | 875/2500 [00:02<00:04, 401.47it/s]
scan: 37%|███▋ | 921/2500 [00:02<00:03, 416.99it/s]
scan: 39%|███▊ | 967/2500 [00:02<00:03, 427.04it/s]
scan: 40%|████ | 1012/2500 [00:02<00:03, 433.15it/s]
scan: 42%|████▏ | 1057/2500 [00:02<00:03, 372.56it/s]
scan: 44%|████▍ | 1102/2500 [00:02<00:03, 392.52it/s]
scan: 46%|████▌ | 1149/2500 [00:03<00:03, 411.41it/s]
scan: 48%|████▊ | 1197/2500 [00:03<00:03, 428.59it/s]
scan: 50%|████▉ | 1245/2500 [00:03<00:02, 442.38it/s]
scan: 52%|█████▏ | 1293/2500 [00:03<00:02, 451.71it/s]
scan: 54%|█████▎ | 1342/2500 [00:03<00:02, 460.13it/s]
scan: 56%|█████▌ | 1390/2500 [00:03<00:02, 464.33it/s]
scan: 58%|█████▊ | 1438/2500 [00:03<00:02, 467.51it/s]
scan: 59%|█████▉ | 1486/2500 [00:03<00:02, 468.99it/s]
scan: 61%|██████▏ | 1534/2500 [00:03<00:02, 471.71it/s]
scan: 63%|██████▎ | 1582/2500 [00:03<00:01, 470.86it/s]
scan: 65%|██████▌ | 1630/2500 [00:04<00:01, 472.82it/s]
scan: 67%|██████▋ | 1678/2500 [00:04<00:01, 472.13it/s]
scan: 69%|██████▉ | 1726/2500 [00:04<00:01, 473.76it/s]
scan: 71%|███████ | 1774/2500 [00:04<00:01, 411.72it/s]
scan: 73%|███████▎ | 1822/2500 [00:04<00:01, 428.36it/s]
scan: 75%|███████▍ | 1869/2500 [00:04<00:01, 437.90it/s]
scan: 77%|███████▋ | 1916/2500 [00:04<00:01, 446.69it/s]
scan: 79%|███████▊ | 1964/2500 [00:04<00:01, 453.70it/s]
scan: 80%|████████ | 2012/2500 [00:04<00:01, 460.30it/s]
scan: 82%|████████▏ | 2060/2500 [00:05<00:00, 465.35it/s]
scan: 84%|████████▍ | 2108/2500 [00:05<00:00, 468.27it/s]
scan: 86%|████████▌ | 2156/2500 [00:05<00:00, 470.78it/s]
scan: 88%|████████▊ | 2204/2500 [00:05<00:00, 472.50it/s]
scan: 90%|█████████ | 2252/2500 [00:05<00:00, 472.72it/s]
scan: 92%|█████████▏| 2300/2500 [00:05<00:00, 472.60it/s]
scan: 94%|█████████▍| 2348/2500 [00:05<00:00, 474.00it/s]
scan: 96%|█████████▌| 2396/2500 [00:05<00:00, 473.84it/s]
scan: 98%|█████████▊| 2444/2500 [00:05<00:00, 472.50it/s]
scan: 100%|█████████▉| 2492/2500 [00:05<00:00, 471.80it/s]
scan: 100%|██████████| 2500/2500 [00:05<00:00, 418.90it/s]