sys.path.append(BIN) from scipy.constants import e, c from PyHEADTAIL.radiation.radiation import SynchrotronRadiationTransverse, SynchrotronRadiationLongitudinal import numpy as np import matplotlib.pyplot as plt macroparticlenumber = 50000 n_turns = 512 * 8 import pickle # MACHINE # ======= from CLIC_DR import CLIC_DR machine = CLIC_DR(machine_configuration='3TeV_linear', n_segments=1) # BEAM # ==== epsn_x = 5 * 0.456e-6 epsn_y = 5 * 0.0048e-6 sigma_z = 5 * 1.8e-3 intensity = 4.1e9 bunch = machine.generate_6D_Gaussian_bunch(macroparticlenumber, intensity, epsn_x, epsn_y, sigma_z=sigma_z) bunch.x += 1.e-6
from scipy.constants import e,c from PyHEADTAIL.radiation.radiation import SynchrotronRadiationTransverse, SynchrotronRadiationLongitudinal import numpy as np import matplotlib.pyplot as plt macroparticlenumber = 50000 n_turns = 512*8 import pickle # MACHINE # ======= from CLIC_DR import CLIC_DR machine = CLIC_DR(machine_configuration='3TeV_linear', n_segments=1) # BEAM # ==== epsn_x = 5*0.456e-6 epsn_y = 5*0.0048e-6 sigma_z = 5*1.8e-3 intensity = 4.1e9 bunch = machine.generate_6D_Gaussian_bunch( macroparticlenumber, intensity, epsn_x, epsn_y, sigma_z=sigma_z) bunch.x += 1.e-6 bunch.xp += 1.e-6 bunch.y += 1.e-6 bunch.yp += 1.e-6
N_mp_max = N_MP_ele_init nel_mp_ref_0 = P_nTorr * sigma_ion_MBarn / 37.89 # number of real ions/MP # time step (set to bunch spacing) Dt_ref = 1.0e-9 # define the machine from CLIC_DR import CLIC_DR machine_configuration = 'CLIC_DR_1GHz' optics_mode = 'non-smooth' n_segments = 260 n_turns = 1 if optics_mode == 'smooth': machine = CLIC_DR(machine_configuration=machine_configuration, n_segments=n_segments) elif optics_mode == 'non-smooth': # with open('CLIC_DR_n260_optics.pkl') as fid: # optics = pickle.load(fid) # optics.pop('circumference') # mfm.dict_to_h5(optics, 'CLIC_DR_n260_optics.h5') optics = mfm.dict_of_arrays_and_scalar_from_h5('CLIC_DR_n260_optics.h5') machine = CLIC_DR(machine_configuration=machine_configuration, optics_mode='non-smooth', **optics) # define bunch
sys.path.append(BIN) from scipy.constants import e, c from PyHEADTAIL.radiation.radiation import SynchrotronRadiationTransverse, SynchrotronRadiationLongitudinal import numpy as np import matplotlib.pyplot as plt macroparticlenumber = 50000 n_turns = 512 * 8 tt = np.arange(n_turns) import pickle import time from CLIC_DR import CLIC_DR machine = CLIC_DR(machine_configuration='3TeV', n_segments=1) n_turns_vec = np.arange(0, n_turns, 1) * (machine.circumference / c) * 1e3 # SYNCHROTRON RADIATION # ===================== damping_time_z_turns = (1e-3 * (c / machine.circumference)) E_loss_eV = 3.98e6 eq_sig_dp = 1.074e-3 SynchrotronRadiationLongitudinal = SynchrotronRadiationLongitudinal( eq_sig_dp=eq_sig_dp, damping_time_z_turns=damping_time_z_turns, E_loss_eV=E_loss_eV) # EVALUATE STABLE PHASE AND Z # =========================== phi_s = np.arcsin(E_loss_eV / machine.longitudinal_map.voltages[0])
macroparticlenumber_track = 2000 macroparticlenumber_optics = 2000 n_turns = 512*4 epsn_x = 0.456e-6 epsn_y = 0.0048e-6 sigma_z = 1.8e-3 intensity = 4.1e9 import pickle from CLIC_DR import CLIC_DR machine = CLIC_DR(machine_configuration='3TeV', n_segments=29, charge=-e) print('Create bunch for optics...') bunch = machine.generate_6D_Gaussian_bunch_matched( macroparticlenumber_optics, intensity, epsn_x, epsn_y, sigma_z=sigma_z) print('Done.') bunch.x += 10. bunch.y += 20. bunch.z += .020 ix = machine.one_turn_map.index(machine.longitudinal_map) machine.one_turn_map.remove(machine.longitudinal_map) beam_alpha_x = []
sys.path.append(BIN) from scipy.constants import e,c from PyHEADTAIL.radiation.radiation import SynchrotronRadiationTransverse, SynchrotronRadiationLongitudinal import numpy as np import matplotlib.pyplot as plt macroparticlenumber = 50000 n_turns = 512*8 tt = np.arange(n_turns) import pickle import time from CLIC_DR import CLIC_DR machine = CLIC_DR(machine_configuration='3TeV', n_segments=1) n_turns_vec = np.arange(0, n_turns, 1)*(machine.circumference/c)*1e3 # SYNCHROTRON RADIATION # ===================== damping_time_z_turns = (1e-3*(c/machine.circumference)) E_loss_eV = 3.98e6 eq_sig_dp=1.074e-3 SynchrotronRadiationLongitudinal = SynchrotronRadiationLongitudinal( eq_sig_dp=eq_sig_dp, damping_time_z_turns=damping_time_z_turns, E_loss_eV=E_loss_eV) # EVALUATE STABLE PHASE AND Z # =========================== phi_s = np.arcsin(E_loss_eV/machine.longitudinal_map.voltages[0]) z_s = (machine.circumference)*phi_s/(2*np.pi*machine.longitudinal_map.harmonics[0]) print z_s