Alberto Leonardi
_Rose-X
Paper Download
Software Download
High-performance powder diffraction pattern simulation for large-scale atomistic models via full-precision pair distribution function computation.
​
A new full-precision algorithm to solve the Debye scattering equation has been developed for high-performance computing of powder diffraction line profiles from large-scale atomistic models of nanomaterials. The Debye function was evaluated using a pair distribution function computed with high accuracy, exploiting the series expansion of the error between calculated and equispace-sampled pair distances of atoms. The intensity uncertainty (standard deviation) of the computed diffraction profile was estimated as a function of the algorithm-intrinsic approximations and coordinate precision of the atomic positions, confirming the high accuracy of the simulated pattern. Based on the propagation of uncertainty, the new algorithm provides a more accurate powder diffraction profile than a brute-force calculation. Indeed, the precision of floating-point numbers employed in brute-force computations is worse than the estimated accuracy provided by the new algorithm. A software application, ROSE-X, has been implemented for parallel computing on CPU/GPU multi-core processors and distributed clusters. The computing performance is directly proportional to the total processor speed of the devices. An average speed of ∼30 × 109 computed pair distances per second was measured, allowing simulation of the powder diffraction pattern of an ∼23 million atom microstructure in a couple of hours. Moreover, the pair distribution function was recorded and reused to evaluate powder diffraction profiles of the same system with different properties (i.e. Q rather than 2θ range, step and wavelength), avoiding additional pair distance computations. This approach was used to investigate a large collection of monoatomic and polyatomic microstructures, isolating the contribution from atoms belonging to different moieties (e.g. different species or crystalline domains).