“Fast Monte CarlO approach to Coherence of Undulator Sources” (FOCUS) is a GPU-based computer code for calculation of the transverse coherence properties of undulator X-ray radiation generated by ultra-relativistic electrons in an undulator device.
The code relies on scaled dimensionless quantities and analytic expressions for the emitted electric fields obtained with a Fourier optics approach to classical relativistic electrodynamics. In particular, the slowly varying amplitude of the electric field in the space-frequency domain is obtained by solving paraxial Maxwell equations in free space with the help of a parabolic Green’s function, in addition with the resonance approximation. Disregarding optical surface imperfections, the method can be adapted to imaging geometries as well, simply by looking at conjugate planes with the proper magnification factor.
FOCUS is written in C++, accelerated with CUDA to harness the compute capabilities of modern GPUs. The main aim of the code is to enable fast and accurate evaluation of the transverse coherence properties of undulator X-ray radiation as a function of the electron beam parameters.