Abstract
The Debye scattering equation, derived in 1915 by Peter Debye, is used to calculate scattering intensities from atomic structures considering the position of each atom in the structure. The Debye scattering equation can be used to compute the scattering pattern of any atomic structure and is commonly used to study both crystalline and non-crystalline materials with a range of scattering techniques like powder diffraction (PD), total scattering (TS) with pair distribution function (PDF) analysis and small-angle scattering (SAS). Although the Debye scattering equation is extremely versatile, the computation of the double sum, which scales O(N^2), has limited the practical use of the equation. We introduce a GPU-accelerated open-source Python package, named DebyeCalculator, for rapid calculation of the Debye scattering equation from chemical structures represented as xyz-files or CIF-files. The xyz-format is commonly used in materials chemistry for the description of discrete particles and simply consists of a list of atomic identities and their respective Cartesian coordinates (x, y and z). DebyeCalculator can also take a crystallographic information file (CIF) and a user-defined spherical radius as input to generate an xyz-file from which a scattering pattern is calculated. DebyeCalculator is an open-source project (licensed under the Apache License 2.0) that is readily available through GitHub: https://github.com/FrederikLizakJohansen/DebyeCalculator and PyPi (https://pypi.org/project/DebyeCalculator/). It can also be run through an interactive interface, where users can simulate PD, TS, SAS and PDF data from structural models on both CPU and GPU.