Ab Initio Structure Solutions from Nanocrystalline Powder Diffraction Data

Gabe Guo, Tristan Saidi, Maxwell Terban, Michele Valsecchi, Simon JL Billinge +1 more
6/16/2024
physics.comp-phcond-mat.mes-hallcs.AI

No official code found. Best implementation: gabeguo/cdvae_xrd (32 stars, MIT, last commit 2025-06-27).

Abstract

A major challenge in materials science is the determination of the structure of nanometer sized objects. Here we present a novel approach that uses a generative machine learning model based on diffusion processes that is trained on 45,229 known structures. The model factors both the measured diffraction pattern as well as relevant statistical priors on the unit cell of atomic cluster structures. Conditioned only on the chemical formula and the information-scarce finite-size broadened powder diffraction pattern, we find that our model, PXRDnet, can successfully solve simulated nanocrystals as small as 10 angstroms across 200 materials of varying symmetry and complexity, including structures from all seven crystal systems. We show that our model can successfully and verifiably determine structural candidates four out of five times, with average error among these candidates being only 7% (as measured by post-Rietveld refinement R-factor). Furthermore, PXRDnet is capable of solving structures from noisy diffraction patterns gathered in real-world experiments. We suggest that data driven approaches, bootstrapped from theoretical simulation, will ultimately provide a path towards determining the structure of previously unsolved nano-materials.

View on arXivView PDF

Code Implementations(1)

gabeguo/cdvae_xrdCommunity100%
MIT

Deep PXRD Crystallography with CDVAE.

328Shell, PythonFeb 16, 20241 years agoMIT

Similar Papers

Cite this paper

@article{guo2024initio,
  title  = {Ab Initio Structure Solutions from Nanocrystalline Powder Diffraction Data},
  author = {Gabe Guo and Tristan Saidi and Maxwell Terban and Michele Valsecchi and Simon JL Billinge and Hod Lipson},
  year   = {2024},
  eprint = {2406.10796},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2406.10796v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2406.10796.svg)](https://codeofpaper.com/paper/2406.10796)

Discussion