Development of a simple algorithm for linear accelerator construction and simulation
Aim: To develop a simple algorithm that accurately constructs and simulates an Alvarez-type linear accelerator given the initial conditions and number of accelerator parts.
Methods: We wrote the algorithm in Python, a programming language with numerous useful math and science libraries, and the ability to use classes and objects. The particles were accelerated in electric fields (which we assumed to be constant within each cavity at any given moment) to allow for a comparison of numerical results with an analytic expression. No magnetic fields were present in the simulations used in this article, and the particle beams were instead focused by using collimators. The algorithm first constructed the accelerator by guessing the appropriate length of each segment until it found optimal lengths for accelerating most particles in the beam. Once constructed, the accelerator could accelerate beams of particles and the results could be analyzed.
Results: The algorithm successfully constructed multiple different accelerators from the initially given conditions. The first two simulations had arbitrary accelerators in which hydrogen and lead ions were accelerated, and the results were in line with expectations from the analytic solution. The largest simulation was that of CERN’s Linac4 accelerator, which produced results similar to those found in the real world.
Conclusion: Significant results could be obtained even with an algorithm as simple as the one described here. The algorithm could be further improved by using a more realistic potential inside the accelerator cavities, and more particles could pass through if magnetic fields which focus the beam were turned on.
Copyright (c) 2023 Rocco Barač, Toni Šćulac
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution (CC-BY) 4.0 License that allows others to share the work with an acknowledgment of the work’s authorship and initial publication in this journal.