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
Example #3
0
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])
Example #5
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