JACoW logo

Journals of Accelerator Conferences Website (JACoW)

JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.


BiBTeX citation export for MOPOTK018: Parallelization of Radia Magnetostatics Code

@inproceedings{banerjee:ipac2022-mopotk018,
  author       = {A. Banerjee and J. Chavanne and O.V. Chubar and J.P. Edelen and C.C. Hall and G. Le Bec and B. Nash},
% author       = {A. Banerjee and J. Chavanne and O.V. Chubar and J.P. Edelen and C.C. Hall and G. Le Bec and others},
% author       = {A. Banerjee and others},
  title        = {{Parallelization of Radia Magnetostatics Code}},
  booktitle    = {Proc. IPAC'22},
% booktitle    = {Proc. 13th International Particle Accelerator Conference (IPAC'22)},
  pages        = {481--484},
  eid          = {MOPOTK018},
  language     = {english},
  keywords     = {interface, insertion, insertion-device, SRF, synchrotron},
  venue        = {Bangkok, Thailand},
  series       = {International Particle Accelerator Conference},
  number       = {13},
  publisher    = {JACoW Publishing, Geneva, Switzerland},
  month        = {07},
  year         = {2022},
  issn         = {2673-5490},
  isbn         = {978-3-95450-227-1},
  doi          = {10.18429/JACoW-IPAC2022-MOPOTK018},
  url          = {https://jacow.org/ipac2022/papers/mopotk018.pdf},
  abstract     = {{Radia 3D magnetostatics code has been used for the design of insertion devices for light sources over more than two decades. The code uses the magnetization integral approach that is efficient for solving permanent magnet and hybrid magnet structures. The initial version of the Radia code was sequential, its core written in C++ and interface in the Mathematica language. This paper describes a new Python-interfaced parallel version of Radia and its applications. The parallelization of the code was implemented on C++ level, following a hybrid approach. Semi-analytical calculations of interaction matrix elements and resultant magnetic fields were parallelized using the Message Passing Interface, whereas the parallelization of the "relaxation" procedure (solving for magnetizations in volumes created by subdivision) was executed using a shared memory method based on C++ multithreading. The parallel performance results are encouraging, particularly for magnetic field calculation post relaxation where a ~600 speedup with respect to sequential execution was obtained. The new parallel Radia version facilitates designs of insertion devices and lattice magnets for novel particle accelerators.}},
}