diff --git a/paper/paper.md b/paper/paper.md index 96fd9bc..3c1673f 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -62,7 +62,7 @@ I(Q) = \sum_{\nu=1}^{N} \sum_{\mu=1}^{N} b_{\nu} b_{\mu} \frac{\sin(Qr_{\nu\mu}) In this equation $Q$ is the momentum transfer of the scattered radiation, $N$ is the number of atoms in the structure, and $r_{\nu\mu}$ is the distance between atoms $\nu$ and $\mu$. For X-ray radiation, the atomic form factor, $b$, depends strongly on $Q$ and is usually denoted as $f(Q)$, but for neutrons, $b$ is independent of $Q$ and referred to as the scattering length. 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) [@scardi:2016]. 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. -With the advancement in computer hardware [@schaller1997moore], analysis of larger structures is now feasible using the Debye scattering equation. Modern central processing units (CPUs), ranging from tens to hundreds of cores offer an opportunity to parallelise computations, significantly enhancing compute efficiency. The same goes for graphics processing units (GPUs), which are designed with multiple cores acting as individual accelerated processing units that can work on different tasks simultaneously. In contrast, CPUs usually have fewer cores optimised for more general-purpose computing. This means that a GPU can execute multiple simple instructions in parallel, while a CPU might handle fewer parallel tasks [@garland2008parallel]. Therefore, GPUs are better suited for calculations such as the Debye scattering equation, where many computations can be performed simultaneously. Taking advantage of such GPU acceleration could yield computational speeds that surpass those of even the most advanced multi-core CPUs; by orders of magnitude. 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 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 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. We further calculate the PDF as described by Egami and Billinge [@egami2003underneath]. We show that our software can simulate PD, TS, SAS, and PDF data orders of magnitudes faster than DiffPy-CMI [@juhas2015complex]. `DebyeCalculator` is an open-source project that is readily available through [GitHub](https://github.com/FrederikLizakJohansen/DebyeCalculator) and [PyPI](https://pypi.org/project/DebyeCalculator/). +With the advancement in computer hardware [@schaller1997moore], analysis of larger structures is now feasible using the Debye scattering equation. Modern central processing units (CPUs), ranging from tens to hundreds of cores offer an opportunity to parallelise computations, significantly enhancing compute efficiency. The same goes for graphics processing units (GPUs), which are designed with multiple cores acting as individual accelerated processing units that can work on different tasks simultaneously. In contrast, CPUs usually have fewer cores optimised for more general-purpose computing. This means that a GPU can execute multiple simple instructions in parallel, while a CPU might handle fewer parallel tasks [@garland2008parallel]. Therefore, GPUs are better suited for calculations such as the Debye scattering equation, where many computations can be performed simultaneously. Taking advantage of such GPU acceleration could yield computational speeds that surpass those of even the most advanced multi-core CPUs; by orders of magnitude. 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` 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 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. We further calculate the PDF as described by Egami and Billinge [@egami2003underneath]. We show that our software can simulate PD, TS, SAS, and PDF data orders of magnitudes faster than DiffPy-CMI [@juhas2015complex]. `DebyeCalculator` is an open-source project that is readily available through [GitHub](https://github.com/FrederikLizakJohansen/DebyeCalculator) and [PyPI](https://pypi.org/project/DebyeCalculator/). Here, we present a high-level overview of the `DebyeCalculator` class. The GitHub repository provides more details as well as annotated source code. ```plaintext