Something went wrong on our end
-
Gamelin Alexis authored
Update machines/__init__.py, machines/soleil.py, tracking/__init__.py, tracking/aperture.py, tracking/element.py, tracking/optics.py, tracking/parallel.py, tracking/particles.py, tracking/rf.py, tracking/synchrotron.py files
Gamelin Alexis authoredUpdate machines/__init__.py, machines/soleil.py, tracking/__init__.py, tracking/aperture.py, tracking/element.py, tracking/optics.py, tracking/parallel.py, tracking/particles.py, tracking/rf.py, tracking/synchrotron.py files
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
soleil.py 1.42 KiB
# -*- coding: utf-8 -*-
"""
SOLEIL synchrotron parameters script.
@author: Alexis Gamelin
@date: 14/01/2020
"""
import numpy as np
from tracking.synchrotron import Synchrotron
from tracking.optics import Optics
from tracking.particles import Electron, Beam
def soleil(mode = 'Uniform'):
"""
"""
h = 416
L = 3.540969742590899e+02
E0 = 2.75e9
particle = Electron()
ac = 1.47e-4
U0 = 0.310e6
tau = np.array([6.56e-3, 6.56e-3, 3.27e-3])
tune = np.array([18.15687, 10.22824, 0.00502])
emit = np.array([4.5e-9, 4.5e-9*0.01])
sigma_0 = 8e-12
sigma_delta = 8.6e-4
chro = [2,3]
# mean values
beta = np.array([3, 1.3])
alpha = np.array([0, 0])
disp = np.array([0, 0])
dispp = np.array([0, 0])
mean_val = Optics(beta, alpha, disp, dispp)
ring = Synchrotron(h, L, E0, particle, ac=ac, U0=U0, tau=tau,
mean_optics=mean_val, emit=emit, tune=tune,
sigma_delta=sigma_delta, sigma_0=sigma_0,
chro=chro)
if mode == 'Uniform':
beam = Beam(ring, )
elif mode == 'Hybrid':
pass
elif mode == 'Low alpha/25':
pass
elif mode == 'Low alpha/25':
pass
elif mode == '8 bunches':
pass
elif mode == 'Single':
pass
else:
raise ValueError("{} is not a correct operation mode.".format(mode))
return ring