{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "262a5ec8-2553-4237-ab62-319b6ca22089", "metadata": {}, "source": [ "# Example-38: Orbit (chromatic ORM)" ] }, { "cell_type": "code", "execution_count": 1, "id": "dd606b11-5ee1-4e99-9978-f161a670e2fb", "metadata": {}, "outputs": [], "source": [ "# Import\n", "\n", "from pprint import pprint\n", "\n", "import torch\n", "\n", "from pathlib import Path\n", "\n", "import matplotlib\n", "from matplotlib import pyplot as plt\n", "matplotlib.rcParams['text.usetex'] = True\n", "\n", "from twiss import twiss\n", "from twiss import propagate\n", "from twiss import wolski_to_cs\n", "\n", "from model.library.line import Element\n", "from model.library.corrector import Corrector\n", "from model.library.line import Line\n", "\n", "from model.command.util import chop\n", "\n", "from model.command.external import load_lattice\n", "\n", "from model.command.build import build\n", "\n", "from model.command.wrapper import forward\n", "from model.command.wrapper import inverse\n", "from model.command.wrapper import normalize\n", "from model.command.wrapper import Wrapper\n", "\n", "from model.command.orbit import orbit\n", "from model.command.orbit import ORM\n", "from model.command.orbit import ORM_DP" ] }, { "cell_type": "code", "execution_count": 2, "id": "187ee8af-7c5d-4e96-98b8-fbbb00e034b3", "metadata": {}, "outputs": [], "source": [ "# Set element data type and devive\n", "\n", "Element.dtype = torch.float64\n", "Element.device = torch.device('cuda')" ] }, { "cell_type": "code", "execution_count": 3, "id": "f4589af0-a62a-4f16-b013-9ced79155a72", "metadata": {}, "outputs": [], "source": [ "# Build and setup lattice\n", "\n", "# Quadrupoles are splitted into 2**2 parts, Dipoles -- 2**4 part\n", "# Correctors are inserted between parts\n", "\n", "# Load ELEGANT table\n", "\n", "path = Path('ic.lte')\n", "data = load_lattice(path)\n", "\n", "# Build ELEGANT table\n", "\n", "ring:Line = build('RING', 'ELEGANT', data)\n", "ring.flatten()\n", "\n", "# Merge drifts\n", "\n", "ring.merge()\n", "\n", "# Split BPMs\n", "\n", "ring.split((None, ['BPM'], None, None))\n", "\n", "# Roll lattice start\n", "\n", "ring.roll(1)\n", "\n", "# Split quadrupoles and insert correctors\n", "\n", "nq = 2**2\n", "\n", "for name in [name for name, kind, *_ in ring.layout() if kind == 'Quadrupole']:\n", " corrector = Corrector(f'{name}_CXY', factor=1/(nq - 1))\n", " ring.split((nq, None, [name], None), paste=[corrector]) \n", "\n", "# Split dipoles and insert correctors\n", "\n", "nd = 2**4\n", " \n", "for name in [name for name, kind, *_ in ring.layout() if kind == 'Dipole']:\n", " corrector = Corrector(f'{name}_CXY', factor=1/(nd - 1))\n", " ring.split((nd, None, [name], None), paste=[corrector])\n", "\n", "# Set linear flag in dipoles\n", "\n", "for element in ring:\n", " element.alignment = False \n", " if element.__class__.__name__ == 'Dipole':\n", " element.linear = True\n", " if element.__class__.__name__ == 'Sextupole':\n", " element.alignment = True\n", " if element.__class__.__name__ == 'Quadrupole':\n", " element.alignment = True \n", "\n", "# Split lattice into lines by BPMs\n", "\n", "ring.splice()\n", "\n", "# Set number of elements of different kinds\n", "\n", "nb = ring.describe['BPM']\n", "nc = ring.describe['Corrector']\n", "nq = ring.describe['Quadrupole']\n", "ns = ring.describe['Sextupole']" ] }, { "cell_type": "code", "execution_count": 4, "id": "191b8cb6-7945-4de7-91f4-65769876eee9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([0., 0., 0., 0.], device='cuda:0', dtype=torch.float64)\n" ] } ], "source": [ "# Compute closed orbit\n", "\n", "fp = 1.0E-3*torch.randn(4, dtype=Element.dtype, device=Element.device)\n", "fp, *_ = orbit(ring, fp, [], alignment=False, limit=8, epsilon=1.0E-12)\n", "\n", "# Chop small values\n", "\n", "fp = [fp]\n", "chop(fp)\n", "fp, *_ = fp\n", "\n", "print(fp)" ] }, { "cell_type": "code", "execution_count": 5, "id": "2aab6772-daac-4c3e-877b-be95c46cb06f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute ORM\n", "\n", "orm = ORM(ring, fp, [], limit=1, start=0, epsilon=None)\n", "print(orm.shape)\n", "\n", "data = orm.clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "257ebd40-907a-4077-864b-0bcaba5c97eb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute ORM derivative with respect to momentum deviation \n", "\n", "orm_dp = ORM_DP(ring, fp, [], limit=1, start=0, epsilon=None)\n", "print(orm_dp.shape)\n", "\n", "data = orm_dp.clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "id": "33d75490-f751-45b2-8764-515a3c08c3ad", "metadata": {}, "outputs": [], "source": [ "# Set lattice with focusing errors\n", "\n", "error:Line = ring.clone()\n", "\n", "nq = error.describe['Quadrupole']\n", "\n", "error_kn = 0.1*torch.randn(nq, dtype=Element.dtype, device=Element.device)\n", "error_ks = 0.1*torch.randn(nq, dtype=Element.dtype, device=Element.device)\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in error.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn + error_kn[index - 1]).item()\n", " element.ks = (element.ks + error_ks[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 8, "id": "9b92618d-2da0-42e3-b337-72d4a9cc7ed0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(0.0341, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0089, device='cuda:0', dtype=torch.float64)\n", "\n", "tensor(2.4572, device='cuda:0', dtype=torch.float64)\n", "tensor(1.5588, device='cuda:0', dtype=torch.float64)\n", "tensor(2.4890, device='cuda:0', dtype=torch.float64)\n", "tensor(1.5438, device='cuda:0', dtype=torch.float64)\n", "\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Setup twiss computation\n", "\n", "def task(line):\n", "\n", " line:Line = line.clone()\n", "\n", " state = torch.tensor(4*[0.0], dtype=Element.dtype, device=Element.device)\n", " matrix = torch.func.jacrev(line)(state)\n", " (nux, nuy), _, w = twiss(matrix)\n", "\n", " line.propagate = False\n", " line.matrix = True\n", "\n", " state = torch.tensor(4*[0.0], dtype=Element.dtype, device=Element.device)\n", " line(state)\n", " \n", " ws = [w]\n", " *ms, _ = line.container_matrix\n", " for m in ms:\n", " w = propagate(w, m)\n", " ws.append(w)\n", " ws = torch.stack(ws)\n", "\n", " ax, bx, ay, by = torch.vmap(wolski_to_cs)(ws).T\n", "\n", " return (nux, nuy), (ax, bx, ay, by)\n", "\n", "# Unperturbed twiss\n", "\n", "(nux_model, nuy_model), (ax_model, bx_model, ay_model, by_model) = task(ring)\n", "\n", "# Perturbed twiss\n", "\n", "(nux_error, nuy_error), (ax_error, bx_error, ay_error, by_error) = task(error)\n", "\n", "# Compare twiss\n", "\n", "print((nux_model - nux_error).norm())\n", "print((nuy_model - nuy_error).norm())\n", "print()\n", "\n", "print((ax_model - ax_error).norm())\n", "print((bx_model - bx_error).norm())\n", "print((ay_model - ay_error).norm())\n", "print((by_model - by_error).norm())\n", "print()\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=ring.locations().cpu().numpy(), labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "id": "04c91c08-4c1b-4e3f-b637-1b800bf18fc4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute (measure) ORM for lattice with errors\n", "\n", "orm_error = ORM(error, fp, [], limit=1, start=0, epsilon=None)\n", "print(orm_error.shape)\n", "\n", "data = (orm - orm_error).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "id": "b25e8ffc-fc3b-4d8a-8252-25b7b0436043", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([32, 72])\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute (measure) ORM derivative for lattice with errors\n", "\n", "orm_dp_error = ORM_DP(error, fp, [], limit=1, start=0, epsilon=None)\n", "print(orm_dp.shape)\n", "\n", "data = (orm_dp - orm_dp_error).clone()\n", "data[data==0.0] = torch.nan\n", "plt.figure(figsize=(34/4, 72/4))\n", "img = plt.imshow(data.cpu().numpy(), cmap='magma', interpolation='nearest')\n", "cax = plt.gcf().add_axes([plt.gca().get_position().x1 + 0.01, plt.gca().get_position().y0, 0.02, plt.gca().get_position().height])\n", "plt.colorbar(img, cax=cax)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "id": "12145b77-d90a-4c44-9b45-c19195cec1bb", "metadata": {}, "outputs": [], "source": [ "# Define parametric ORM + ORM_DP\n", "\n", "def jacobian(*args, **kwargs):\n", " return torch.func.jacrev(*args, **kwargs)\n", "\n", "def ORM_kn(kn):\n", " return ORM(ring, fp, [kn], ('kn', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None, jacobian=jacobian)\n", "\n", "def ORM_ks(ks):\n", " return ORM(ring, fp, [ks], ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None, jacobian=jacobian)\n", "\n", "def ORM_DP_kn(kn):\n", " return ORM_DP(ring, fp, [kn], ('kn', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None, jacobian=jacobian)\n", "\n", "def ORM_DP_ks(ks):\n", " return ORM_DP(ring, fp, [ks], ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None, jacobian=jacobian)" ] }, { "cell_type": "code", "execution_count": 12, "id": "94c2a392-3473-46bc-ab86-62437955506c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([2304, 28])\n", "torch.Size([2304, 28])\n", "torch.Size([2304, 28])\n", "torch.Size([2304, 28])\n" ] } ], "source": [ "# Parametric ORMs are differentiable with respect to deviation groups\n", "\n", "# Set deviation tensors\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "# Compute derivatives of model ORMs and with respect to kn and ks deviations\n", "\n", "dorm_dkn = torch.func.jacrev(ORM_kn)(kn).reshape(4*nb*nc, nq)\n", "torch.cuda.empty_cache()\n", "print(dorm_dkn.shape)\n", "\n", "dorm_dks = torch.func.jacrev(ORM_ks)(ks).reshape(4*nb*nc, nq)\n", "torch.cuda.empty_cache()\n", "print(dorm_dks.shape)\n", "\n", "dorm_dp_dkn = torch.func.jacfwd(ORM_DP_kn)(kn).reshape(4*nb*nc, nq)\n", "torch.cuda.empty_cache()\n", "print(dorm_dp_dkn.shape)\n", "\n", "dorm_dp_dks = torch.func.jacfwd(ORM_DP_ks)(ks).reshape(4*nb*nc, nq)\n", "torch.cuda.empty_cache()\n", "print(dorm_dp_dks.shape)" ] }, { "cell_type": "code", "execution_count": 13, "id": "2af91eaf-9b76-44ca-bb35-d60986d03e84", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([4608, 56])\n" ] } ], "source": [ "# Set response matrix\n", "\n", "# [..., orm_ij, ..., dorm_dp_ij, ....] = M [..., kn_i, ..., ks_i, ...]\n", "\n", "response = torch.hstack([torch.vstack([dorm_dkn, dorm_dp_dkn]), torch.vstack([dorm_dks, dorm_dp_dks])])\n", "print(response.shape)" ] }, { "cell_type": "code", "execution_count": 14, "id": "8c9c2dd1-5b3b-4ef2-b415-03194fc0b688", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(483.8618, device='cuda:0', dtype=torch.float64)\n", "tensor(164.2502, device='cuda:0', dtype=torch.float64)\n" ] } ], "source": [ "# Test response matrix\n", "\n", "result_error = torch.stack([orm_error, orm_dp_error]).flatten()\n", "\n", "result = torch.stack([orm, orm_dp]).flatten()\n", "vector = torch.cat([error_kn, error_ks])\n", "\n", "print((result_error - (result + 0*(response @ vector))).norm())\n", "print((result_error - (result + 1*(response @ vector))).norm())" ] }, { "cell_type": "code", "execution_count": 15, "id": "3b0bd96c-048b-4552-9b46-b3950a0ebabd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(483.8618, device='cuda:0', dtype=torch.float64)\n", "tensor(165.7608, device='cuda:0', dtype=torch.float64)\n", "tensor(54.7430, device='cuda:0', dtype=torch.float64)\n", "tensor(30.1470, device='cuda:0', dtype=torch.float64)\n", "tensor(17.5798, device='cuda:0', dtype=torch.float64)\n", "tensor(11.3230, device='cuda:0', dtype=torch.float64)\n", "tensor(7.7388, device='cuda:0', dtype=torch.float64)\n", "tensor(5.4908, device='cuda:0', dtype=torch.float64)\n", "tensor(3.9718, device='cuda:0', dtype=torch.float64)\n", "tensor(2.9000, device='cuda:0', dtype=torch.float64)\n", "tensor(2.1269, device='cuda:0', dtype=torch.float64)\n", "tensor(1.5630, device='cuda:0', dtype=torch.float64)\n", "tensor(1.1498, device='cuda:0', dtype=torch.float64)\n", "tensor(0.8462, device='cuda:0', dtype=torch.float64)\n", "tensor(0.6231, device='cuda:0', dtype=torch.float64)\n", "tensor(0.4590, device='cuda:0', dtype=torch.float64)\n", "tensor(0.3383, device='cuda:0', dtype=torch.float64)\n", "tensor(0.2494, device='cuda:0', dtype=torch.float64)\n", "tensor(0.1840, device='cuda:0', dtype=torch.float64)\n", "tensor(0.1358, device='cuda:0', dtype=torch.float64)\n", "tensor(0.1002, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0740, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0547, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0404, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0299, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0221, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0163, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0121, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0089, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0066, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0049, device='cuda:0', dtype=torch.float64)\n", "tensor(0.0036, device='cuda:0', dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Perform correction (model to experiment)\n", "\n", "lr = 0.5\n", "\n", "kn = torch.zeros_like(error_kn)\n", "ks = torch.zeros_like(error_ks)\n", "\n", "for _ in range(32):\n", " orm_fit = ORM(ring, fp, [kn, ks], ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None, jacobian=jacobian)\n", " orm_dp_fit = ORM_DP(ring, fp, [kn, ks], ('kn', ['Quadrupole'], None, None), ('ks', ['Quadrupole'], None, None), limit=1, start=0, epsilon=None, jacobian=jacobian)\n", " result_fit = torch.stack([orm_fit, orm_dp_fit]).flatten()\n", " dkn, dks = (- lr*torch.linalg.lstsq(response, (result_fit - result_error), driver='gels').solution).split((nq, nq))\n", " kn += dkn\n", " ks += dks\n", " print((result_fit - result_error).norm())\n", " \n", "# Plot final quadrupole settings\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn)), +kn.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_ks)), error_ks.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(ks)), +ks.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "id": "bfb8d59f-1763-4bf0-ad6e-96a1e251ee3f", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()\n", " element.ks = (element.ks - ks[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 17, "id": "dce4b766-cf61-49b5-bbb4-425e3c516173", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare twiss parameters with model before and after correction\n", "\n", "(nux_model, nuy_model), (ax_model, bx_model, ay_model, by_model) = task(ring)\n", "(nux_error, nuy_error), (ax_error, bx_error, ay_error, by_error) = task(error)\n", "(nux_lattice, nuy_lattice), (ax_lattice, bx_lattice, ay_lattice, by_lattice) = task(lattice)\n", "\n", "# Before\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=ring.locations().cpu().numpy(), labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# After\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_lattice)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_lattice)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=ring.locations().cpu().numpy(), labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] } ], "metadata": { "colab": { "collapsed_sections": [ "myt0_gMIOq7b", "5d97819c" ], "name": "03_frequency.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 5 }