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]

../_images/c63af9f125c69137e3041fe9701c40cc69eebd7dd7487cdb7132b42662349680.png

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]

../_images/77f6ca597abad4aec24b56235778895f99fad2949a6cb42b3698892ed0f68ee4.png