Skip to main content

Xsuite dynamics package

Project description

xdyna

Tools to study beam dynamics in xtrack simulations, like dynamic aperture calculations, PYTHIA integration, dynamic indicators, ...

Dynamic aperture studies

The xdyna package provides the DA class which serves as a simple front-end for setting up and running dynamic aperture studies.

To start, a xtrack.line object is required. The following code then sets up the study and launches the tracking

import xdyna as xd

da = xd.DA(
    name='name_of_your_study', # used to generate a directory where files are stored
    normalised_emittance=[1,1], # provide normalized emittance for particle initialization in [m]
    max_turns=1e5, # number of turns to track
    use_files=False 
    # in case DA studies should run on HTC condor, files are used to collect the information
    # if the tracking is performed locally, no files are needed
)
    
# initialize a grid of particles using 5 angles in x-y space, in a range from 0 to 20 sigmas in steps of 5 sigma.
da.generate_initial_radial(angles=5, r_min=0, r_max=20, r_step=5, delta=0.) 

da.line = line # associate prev. created line, holding the lattice and context, with DA object

da.track_job() # start the tracking

da.survival_data # returns a dataframe with the number of survived turns for the initial position of each particle

To use on a platform like HTCondor, perform the same setup as before but using use_files=True. Each HTCondor job then only requires the following lines

import xdyna as xd
# This will load the existing DA based on the meta file with the same name found in the working directory.
# If the script is ran somewhere else, the path to the metafile can be passed with 'path=...'.
DA = xd.DA(name=study, use_files=True)

# Do the tracking, here for 100 particles.
# The code will automatically look for particles that are not-submitted yet and use these.
DA.track_job(npart=100)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xdyna-0.1.1.tar.gz (43.8 kB view hashes)

Uploaded Source

Built Distribution

xdyna-0.1.1-py3-none-any.whl (49.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page