From 2b8ae0ce838804b9a69d7499eb4ca7d8583af941 Mon Sep 17 00:00:00 2001 From: Claudio Scafuri <claudio.scafuri@elettra.eu> Date: Fri, 10 Feb 2023 16:44:17 +0100 Subject: [PATCH] basic pyat program --- boosterubung.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 boosterubung.py diff --git a/boosterubung.py b/boosterubung.py new file mode 100755 index 0000000..2920b88 --- /dev/null +++ b/boosterubung.py @@ -0,0 +1,51 @@ +#!/usr/bin/python3 + +import at +import matplotlib.pylab as mp + +ring=at.load_lattice("../../machine/lattice/elettra/booster.mat",energy=2.4e9) + +refpts = range(len(ring) + 1) +elemdata0, ringdata,elemdata=at.linopt6(ring,refpts) + +s_pos = elemdata['s_pos'] +beta_x =elemdata['beta'][:,0] +beta_y =elemdata['beta'][:,1] + +alpha_x = elemdata['alpha'][:,0] +alpha_y = elemdata['alpha'][:,1] + +dispersion_x=elemdata['dispersion'][:,0] +dispersion_xp=elemdata['dispersion'][:,1] +dispersion_y=elemdata['dispersion'][:,2] +dispersion_yp=elemdata['dispersion'][:,3] + + +closed_orbit_x=elemdata['closed_orbit'][:,0] +closed_orbit_xp=elemdata['closed_orbit'][:,1] +closed_orbit_y=elemdata['closed_orbit'][:,2] +closed_orbit_yp=elemdata['closed_orbit'][:,3] + +[tuneH,tuneV,tuneL]=ring.get_tune() +[chromH,chromV,chromL]=ring.get_chrom() +e_eV=ring.energy + + +mp.figure() +mp.subplot(211) +mp.plot(s_pos,beta_x) +mp.plot(s_pos,beta_y) +mp.plot(s_pos,dispersion_x) +mp.xlabel('s [m]') +mp.ylabel('m') +mp.title('beta_x beta_y disp_x' ) + + +mp.subplot(212) +mp.plot(s_pos,closed_orbit_x) +mp.xlabel('s [m]') +mp.ylabel('m') +mp.title('orb_x' ) +mp.show() +print('tune H:',tuneH,'tune V:',tuneV,'tune L:',tuneL) +print('E:', e_eV/1e9,' GeV') -- GitLab