示例#1
0
    knob_settings['par_crab1'] = 0.
    knob_settings['par_crab5'] = 0.

########################
# Build MAD-X instance #
########################

# Start mad
Madx = pm.Madxp
mad = Madx(command_log="mad_collider.log")

# Set verbose flag
mad.globals.par_verbose = int(configuration['verbose_mad_parts'])

# Build sequence (alse creates link to optics_toolkit and calls it)
ost.build_sequence(mad, beam=beam_to_configure)

# Set twiss formats for MAD-X parts (macro from opt. toolkit)
mad.input('exec, twiss_opt;')

# Apply optics
ost.apply_optics(mad, optics_file=optics_file)

# Modify weak or strong beam crabbing
mad.globals.ahcrab_l1b1 -= knob_settings[
    'par_crab_L1B1'] / 100. * mad.globals.ahcrab_l1b1
mad.globals.ahcrab_l1b2 -= knob_settings[
    'par_crab_L1B2'] / 100. * mad.globals.ahcrab_l1b2
mad.globals.ahcrab_r1b1 -= knob_settings[
    'par_crab_R1B1'] / 100. * mad.globals.ahcrab_r1b1
mad.globals.ahcrab_r1b2 -= knob_settings[
示例#2
0
    knob_settings['par_crab1'] = 0.
    knob_settings['par_crab5'] = 0.

########################
# Build MAD-X instance #
########################

# Start mad
Madx = pm.Madxp
mad = Madx(command_log="mad_collider.log")

# Set verbose flag
mad.globals.par_verbose = int(configuration['verbose_mad_parts'])

# Build sequence (alse creates link to optics_toolkit and calls it)
ost.build_sequence(mad, beam=beam_to_configure,
                  configuration=configuration)

# Set twiss formats for MAD-X parts (macro from opt. toolkit)
mad.input('exec, twiss_opt;')

# Apply optics
ost.apply_optics(mad, optics_file=optics_file)

# Attach beam to sequences
mad.globals.nrj = configuration['beam_energy_tot']
particle_type = 'proton'

if 'particle_mass' in configuration.keys():
    particle_mass = configuration['particle_mass']
    particle_type = 'ion'
else: