Aladdin active
Active harmonic cavity case w/ standard Aladdin lattice:
Fig. 8 (a) & 8 (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="standard", V_RF=90e3)
MC = CavityResonator(ring, m=1, Rs=0.5e6, Q=8000, QL=8000, detune=100e3)
MC.beta = 11
MC.Vc = 90e3
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. 8 (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%|▏ | 46/2500 [00:00<00:05, 459.60it/s]
scan: 4%|▍ | 96/2500 [00:00<00:05, 480.69it/s]
scan: 6%|▌ | 146/2500 [00:00<00:04, 487.08it/s]
scan: 8%|▊ | 198/2500 [00:00<00:04, 497.23it/s]
scan: 10%|█ | 251/2500 [00:00<00:04, 508.08it/s]
scan: 12%|█▏ | 303/2500 [00:00<00:04, 511.38it/s]
scan: 14%|█▍ | 358/2500 [00:00<00:04, 521.48it/s]
scan: 17%|█▋ | 413/2500 [00:00<00:03, 527.72it/s]
scan: 19%|█▉ | 469/2500 [00:00<00:03, 535.88it/s]
scan: 21%|██ | 526/2500 [00:01<00:03, 543.99it/s]
scan: 23%|██▎ | 582/2500 [00:01<00:03, 548.84it/s]
scan: 26%|██▌ | 639/2500 [00:01<00:03, 552.90it/s]
scan: 28%|██▊ | 696/2500 [00:01<00:03, 555.68it/s]
scan: 30%|███ | 753/2500 [00:01<00:03, 558.46it/s]
scan: 32%|███▏ | 809/2500 [00:01<00:03, 558.34it/s]
scan: 35%|███▍ | 865/2500 [00:01<00:02, 557.94it/s]
scan: 37%|███▋ | 922/2500 [00:01<00:02, 559.12it/s]
scan: 39%|███▉ | 979/2500 [00:01<00:02, 560.66it/s]
scan: 41%|████▏ | 1036/2500 [00:01<00:02, 561.93it/s]
scan: 44%|████▎ | 1093/2500 [00:02<00:02, 564.16it/s]
scan: 46%|████▌ | 1150/2500 [00:02<00:02, 562.05it/s]
scan: 48%|████▊ | 1208/2500 [00:02<00:02, 566.58it/s]
scan: 51%|█████ | 1265/2500 [00:02<00:02, 567.19it/s]
scan: 53%|█████▎ | 1322/2500 [00:02<00:02, 565.07it/s]
scan: 55%|█████▌ | 1379/2500 [00:02<00:01, 564.71it/s]
scan: 57%|█████▋ | 1436/2500 [00:02<00:01, 563.17it/s]
scan: 60%|█████▉ | 1493/2500 [00:02<00:01, 561.47it/s]
scan: 62%|██████▏ | 1550/2500 [00:02<00:01, 562.98it/s]
scan: 64%|██████▍ | 1608/2500 [00:02<00:01, 565.82it/s]
scan: 67%|██████▋ | 1665/2500 [00:03<00:01, 566.65it/s]
scan: 69%|██████▉ | 1722/2500 [00:03<00:01, 566.13it/s]
scan: 71%|███████ | 1779/2500 [00:03<00:01, 565.92it/s]
scan: 73%|███████▎ | 1836/2500 [00:03<00:01, 563.20it/s]
scan: 76%|███████▌ | 1893/2500 [00:03<00:01, 563.24it/s]
scan: 78%|███████▊ | 1950/2500 [00:03<00:00, 562.02it/s]
scan: 80%|████████ | 2008/2500 [00:03<00:00, 567.20it/s]
scan: 83%|████████▎ | 2065/2500 [00:03<00:00, 565.77it/s]
scan: 85%|████████▍ | 2122/2500 [00:03<00:00, 566.86it/s]
scan: 87%|████████▋ | 2179/2500 [00:03<00:00, 567.09it/s]
scan: 89%|████████▉ | 2236/2500 [00:04<00:00, 567.92it/s]
scan: 92%|█████████▏| 2293/2500 [00:04<00:00, 565.47it/s]
scan: 94%|█████████▍| 2350/2500 [00:04<00:00, 565.12it/s]
scan: 96%|█████████▋| 2409/2500 [00:04<00:00, 569.68it/s]
scan: 99%|█████████▊| 2466/2500 [00:04<00:00, 568.32it/s]
scan: 100%|██████████| 2500/2500 [00:04<00:00, 554.80it/s]
Active harmonic cavity - Robinson instabilities with coupling
Fig. 8 (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%| | 23/2500 [00:00<00:11, 224.59it/s]
scan: 2%|▏ | 62/2500 [00:00<00:07, 310.96it/s]
scan: 4%|▎ | 93/2500 [00:00<00:17, 135.89it/s]
scan: 5%|▍ | 121/2500 [00:00<00:15, 153.00it/s]
scan: 6%|▋ | 158/2500 [00:00<00:11, 200.99it/s]
scan: 7%|▋ | 185/2500 [00:00<00:12, 190.52it/s]
scan: 9%|▉ | 227/2500 [00:01<00:09, 242.81it/s]
scan: 10%|█ | 257/2500 [00:01<00:10, 212.82it/s]
scan: 12%|█▏ | 295/2500 [00:01<00:10, 201.82it/s]
scan: 14%|█▎ | 341/2500 [00:01<00:08, 254.03it/s]
scan: 16%|█▌ | 388/2500 [00:01<00:06, 302.66it/s]
scan: 17%|█▋ | 436/2500 [00:01<00:05, 345.31it/s]
scan: 19%|█▉ | 485/2500 [00:01<00:05, 380.42it/s]
scan: 21%|██▏ | 534/2500 [00:01<00:04, 408.85it/s]
scan: 23%|██▎ | 584/2500 [00:02<00:04, 431.71it/s]
scan: 25%|██▌ | 633/2500 [00:02<00:04, 446.58it/s]
scan: 27%|██▋ | 682/2500 [00:02<00:03, 457.83it/s]
scan: 29%|██▉ | 731/2500 [00:02<00:03, 467.09it/s]
scan: 31%|███ | 780/2500 [00:02<00:03, 472.11it/s]
scan: 33%|███▎ | 829/2500 [00:02<00:03, 475.54it/s]
scan: 35%|███▌ | 878/2500 [00:02<00:03, 478.43it/s]
scan: 37%|███▋ | 928/2500 [00:02<00:03, 482.59it/s]
scan: 39%|███▉ | 977/2500 [00:02<00:03, 481.82it/s]
scan: 41%|████ | 1026/2500 [00:03<00:03, 481.11it/s]
scan: 43%|████▎ | 1076/2500 [00:03<00:02, 484.42it/s]
scan: 45%|████▌ | 1125/2500 [00:03<00:02, 485.66it/s]
scan: 47%|████▋ | 1174/2500 [00:03<00:02, 486.37it/s]
scan: 49%|████▉ | 1223/2500 [00:03<00:02, 486.30it/s]
scan: 51%|█████ | 1272/2500 [00:03<00:02, 487.29it/s]
scan: 53%|█████▎ | 1321/2500 [00:03<00:02, 487.89it/s]
scan: 55%|█████▍ | 1370/2500 [00:03<00:02, 486.81it/s]
scan: 57%|█████▋ | 1420/2500 [00:03<00:02, 488.77it/s]
scan: 59%|█████▉ | 1470/2500 [00:03<00:02, 489.67it/s]
scan: 61%|██████ | 1520/2500 [00:04<00:01, 490.03it/s]
scan: 63%|██████▎ | 1570/2500 [00:04<00:01, 489.19it/s]
scan: 65%|██████▍ | 1620/2500 [00:04<00:01, 490.08it/s]
scan: 67%|██████▋ | 1670/2500 [00:04<00:01, 491.13it/s]
scan: 69%|██████▉ | 1720/2500 [00:04<00:01, 492.00it/s]
scan: 71%|███████ | 1770/2500 [00:04<00:01, 423.90it/s]
scan: 73%|███████▎ | 1819/2500 [00:04<00:01, 440.90it/s]
scan: 75%|███████▍ | 1868/2500 [00:04<00:01, 454.24it/s]
scan: 77%|███████▋ | 1918/2500 [00:04<00:01, 465.67it/s]
scan: 79%|███████▊ | 1968/2500 [00:04<00:01, 473.91it/s]
scan: 81%|████████ | 2016/2500 [00:05<00:01, 475.40it/s]
scan: 83%|████████▎ | 2067/2500 [00:05<00:00, 482.88it/s]
scan: 85%|████████▍ | 2117/2500 [00:05<00:00, 485.93it/s]
scan: 87%|████████▋ | 2166/2500 [00:05<00:00, 487.04it/s]
scan: 89%|████████▊ | 2215/2500 [00:05<00:00, 487.80it/s]
scan: 91%|█████████ | 2264/2500 [00:05<00:00, 488.35it/s]
scan: 93%|█████████▎| 2314/2500 [00:05<00:00, 490.11it/s]
scan: 95%|█████████▍| 2364/2500 [00:05<00:00, 491.70it/s]
scan: 97%|█████████▋| 2414/2500 [00:05<00:00, 492.55it/s]
scan: 99%|█████████▊| 2464/2500 [00:05<00:00, 492.90it/s]
scan: 100%|██████████| 2500/2500 [00:06<00:00, 411.88it/s]