diff --git a/tracking/element.py b/tracking/element.py index 00f75ed6d6fd33cca7949e4b09711618befcebfc..0ef071c4bbde1c90c9be9c9727277017454af4da 100644 --- a/tracking/element.py +++ b/tracking/element.py @@ -125,7 +125,7 @@ class SynchrotronRadiation(Element): if (self.switch[0] == True): rand = np.random.normal(size=len(bunch)) bunch["delta"] = ((1 - 2*self.ring.T0/self.ring.tau[2])*bunch["delta"] + - 2*self.ring.sigma_delta*(self.ring.T0/self.ring.tau[2])**0.5*rand) + 2*self.ring.sigma_delta*(self.ring.T0/self.ring.tau[2])**0.5*rand) if (self.switch[1] == True): rand = np.random.normal(size=(len(bunch),2)) @@ -142,27 +142,6 @@ class SynchrotronRadiation(Element): # Reset energy change to 0 for next turn bunch.energy_change = 0 - #-------------------------------------- - # if (self.switch[0] == True): - # rand = np.random.normal(size=len(bunch)) - # bunch["delta"] = ((1 - 2*self.ring.T0/self.ring.tau[2])*bunch["delta"] + - # 2*self.ring.sigma_delta*(self.ring.T0/self.ring.tau[2])**0.5*rand) - - # if (self.switch[1] == True): - # rand = np.random.normal(size=(len(bunch),2)) - # bunch["x"] += self.ring.sigma[0]*(2*self.ring.T0/self.ring.tau[0])**0.5*rand[:,0] - # bunch["xp"] = (1 + bunch["delta"])/(1 + bunch["delta"] + bunch.energy_change)*bunch["xp"] - # bunch["xp"] += self.ring.sigma[1]*(2*self.ring.T0/self.ring.tau[0])**0.5*rand[:,1] - - # if (self.switch[2] == True): - # rand = np.random.normal(size=(len(bunch),2)) - # bunch["y"] += self.ring.sigma[2]*(2*self.ring.T0/self.ring.tau[1])**0.5*rand[:,0] - # bunch["yp"] = (1 + bunch["delta"])/(1 + bunch["delta"] + bunch.energy_change)*bunch["yp"] - # bunch["yp"] += self.ring.sigma[3]*(2*self.ring.T0/self.ring.tau[1])**0.5*rand[:,1] - - # # Reset energy change to 0 for next turn - # bunch.energy_change = 0 - #---------------------------------------- class TransverseMap(Element): """ Transverse map for a single turn in the synchrotron. diff --git a/tracking/monitors/monitors.py b/tracking/monitors/monitors.py index 7a2b2095a60f152199d3c44b92aa5c8b26d38e9c..6a46e38322048d2005375e45d55911925de4fae3 100644 --- a/tracking/monitors/monitors.py +++ b/tracking/monitors/monitors.py @@ -16,7 +16,7 @@ from mbtrack2.tracking.element import Element from mbtrack2.tracking.particles import Bunch, Beam from scipy.interpolate import interp1d from abc import ABCMeta -#from mpi4py import MPI +from mpi4py import MPI class Monitor(Element, metaclass=ABCMeta): """ diff --git a/tracking/optics.py b/tracking/optics.py index 865a1366f78c7fd137a5431da56f4728b4f84244..58049c53d30e36c3307eae3baf3d35c5a1a9d456 100644 --- a/tracking/optics.py +++ b/tracking/optics.py @@ -160,7 +160,7 @@ class Optics: kind='linear') self.disppY = interp1d(self.position, self.dispersion_array[3,:], kind='linear') - + @property def local_beta(self): """ @@ -215,7 +215,6 @@ class Optics: """ return self._local_gamma - def beta(self, position): """ Return beta functions at specific locations given by position. If no diff --git a/tracking/synchrotron.py b/tracking/synchrotron.py index 1c45d8c702263724a5298ba3fb8b999a2138957c..f5e2d69a6f5f65e42229ff9f41e5c604a6a24b68 100644 --- a/tracking/synchrotron.py +++ b/tracking/synchrotron.py @@ -265,21 +265,6 @@ class Synchrotron: sigma[3,:] = (self.emit[1]*self.optics.alpha(position)[1] + self.optics.dispersion(position)[3]**2*self.sigma_delta)**0.5 return sigma - #------------------------------------------ - # @property - # def sigma(self): - # """RMS beam size at equilibrium""" - # sigma = np.zeros((4,)) - # sigma[0] = (self.emit[0]*self.optics.beta(10)[0] + - # self.optics.dispersion(10)[0]**2*self.sigma_delta)**0.5 - # sigma[1] = (self.emit[0]*self.optics.alpha(10)[0] + - # self.optics.dispersion(10)[1]**2*self.sigma_delta)**0.5 - # sigma[2] = (self.emit[1]*self.optics.beta(10)[1] + - # self.optics.dispersion(10)[2]**2*self.sigma_delta)**0.5 - # sigma[3] = (self.emit[1]*self.optics.alpha(10)[1] + - # self.optics.dispersion(10)[3]**2*self.sigma_delta)**0.5 - # return sigma - #------------------------------------------ def synchrotron_tune(self, Vrf): """