示例#1
0
from blond.input_parameters.ring import Ring
from blond.input_parameters.rf_parameters import RFStation
from blond.trackers.tracker import RingAndRFTracker
from blond.beam.beam import Beam, Proton
from blond.beam.distributions import bigaussian
from blond.beam.profile import CutOptions, Profile
from blond.monitors.monitors import BunchMonitor
from blond.plots.plot import Plot
from blond.plots.plot_impedance import plot_impedance_vs_frequency, plot_induced_voltage_vs_bin_centers
from blond.impedances.impedance_sources import InputTable
from blond.impedances.impedance import InductiveImpedance, InducedVoltageFreq, TotalInducedVoltage
from scipy.constants import m_p, e, c
import os
from blond.utils import input_parser

args = input_parser.parse()

this_directory = os.path.dirname(os.path.realpath(__file__)) + '/'

try:
    os.mkdir(this_directory + '../output_files')
except:
    pass
try:
    os.mkdir(this_directory + '../output_files/EX_02_fig')
except:
    pass

# SIMULATION PARAMETERS -------------------------------------------------------

# Beam parameters
示例#2
0
SPS_PHASELOOP = True
PLrange = 5 * 12
PL_2ndLoop = 'F_Loop'

FB_strength = 'present'

# simulation parameters
n_particles = int(4e6)  # 4M macroparticles per bunch
n_bins_rf = 256  # number of slices per RF-bucket
nFrev = 2  # multiples of f_rev for frequency resolution

n_iterations = n_turns
n_turns_reduce = 1
seed = 0
args = parse()

n_iterations = n_iterations if args['turns'] == None else args['turns']
n_particles = n_particles if args['particles'] == None else args['particles']
n_bunches = n_bunches if args['bunches'] == None else args['bunches']
n_turns_reduce = n_turns_reduce if args['reduce'] == None else args['reduce']
seed = seed if args['seed'] == None else args['seed']
approx = args['approx']
timing.mode = args['time']
os.environ['OMP_NUM_THREADS'] = str(args['omp'])
withtp = bool(args['withtp'])
precision = args['precision']
bm.use_precision(precision)

bm.use_mpi()
bm.use_fftw()