High precision modeling of space-charge effects is essential for designing future accelerators as well as optimizing the performance of existing machines. Synergia is a high-fidelity parallel beam dynamics simulation package with fully three dimensional space-charge capabilities and a higher-order optics implementation. We describe the Synergia framework and model benchmarks we obtained by comparing to semi-analytic results and other codes. We also present Synergia simulations of the Fermilab Booster accelerator and comparisons with experiment.
THE SYNERGIA FRAMEWORKSynergia [1] is a framework for state-of-the-art simulation of linear and circular accelerators with a fully threedimensional (3D) treatment of space charge, and the capability to use arbitrary order maps for the single-particle optics modeling. It is designed to be a general-purpose tool with an interface that is accessible to accelerator physicists who are not experts in simulation and computing techniques. Space-charge calculations are computationally intensive, typically requiring the use of parallel computers. The implementation of Synergia utilizes Particle-In-Cell (PIC) techniques and is fully parallel, including the particle tracking and space-charge modules. The code itself is a hybrid system based on the IMPACT [2] space-charge code and the mxyzptlk/beamline libraries [3], which includes a MAD parser. Synergia includes enhancements to these codes as well as new modules. The space-charge module uses the path length along the reference trajectory, s, as the independent variable and implements a variety of different boundary conditions. Synergia has multi-turn injection capabilities and can follow multiple bunches longitudinally.The user-level interface to Synergia consists of a set of Python classes that wrap the low-level interfaces to the various packages used. The Python interface generates an input file that is read by the simulation itself. The Python interpreter need not be present at run time. The Python interface can even generate a job to be automatically transferred and submitted to a remote machine where no Python interpreter is available. Synergia also includes a build system that allows it to be compiled and run on various platforms without requiring the user to modify the code and/or build system. , and fine spacecharge grids, typical size of ¨ " ! , are required. In order to obtain the necessary computing power for such simulations, we have ported our code to different parallel machines, including commodity PC clusters, as well as specialized parallel computers. A summary of the performance of the Synergia code for FNAL Booster modeling is shown in Fig. 1, as a function of the number of processors used to run the simulation. The performance depends on
BenchmarkingIn order to verify the accuracy of our simulation we provide a test suite, in which we model several cases simple enough to perform comparisons with semi-analytic calculations [1]. In all these comparisons, the Synergia code is in good agreement with the theor...