Rapid Determination of Nanodiamond Size Distribution and Impurity Concentration from Raman Spectra Using an Open Machine-Learning Toolbox
Sergei V. Koniakhin, Oleg I. Utesov, Vitaly I. Korepanov, Andrey G. Yashenkin
TL;DR
This work addresses the inverse problem of determining nanodiamond size distributions and impurity concentrations from Raman spectra by introducing an open, physics-grounded toolbox. A forward model combines size quantization, a microscopic dispersion via the Keating framework, and explicit impurity/disorder effects to synthesize spectra for arbitrary size distributions. It offers two inverse strategies: a neural-network regression trained on synthetic data and a Metropolis-style stochastic refinement, both validated on experimental spectra and showing concordant results with independent measurements. The open-source toolbox, including background-subtraction functionality, enables robust nanodiamond characterization in the 2–8 nm range and provides a practical platform for Raman spectrum inversion in diverse synthesis contexts.
Abstract
Ready-to-use numerical toolbox for nanodiamond Raman spectra calculation and fit is presented. The developed theoretical approach allows accounting for arbitrary nanoparticle size-distribution and the microscopic line broadening mechanisms for the optical phonons. The two tools for solving the inverse problem of the nanodiamond properties reconstruction using a known Raman spectrum are provided. The first one utilizes a dense neural network trained on a vast array of synthetic Raman spectra. The second approach is based on the stochastic Metropolis algorithm, which updates the ensemble parameters by small quantities, tending to the state with minimal error. Both methods are available thanks to the computationally instant elasticity theory-like model for optical phonon modes in diamond nanocrystals that accurately reproduces the results of the atomistic approaches. Using experimental Raman spectra for nanodiamonds prepared by various techniques, we tested our tools and observed a faithful agreement with the data as well as between the two methods. The open and documented software is accessible online (nanoraman.pythonanywhere.com) and as a Python module (github.com/KoniakhinSV/Nanoparticle_Raman).
