PyFitit: The software for quantitative analysis of XANES spectra using machine-learning algorithms

X-ray absorption near-edge spectroscopy (XANES) is becoming an extremely popular tool for material science thanks to the development of new synchrotron radiation light sources. It provides information about charge state and local geometry around atoms of interest in operando and extreme conditions....

Full description

Saved in:
Bibliographic Details
Published inComputer physics communications Vol. 250; p. 107064
Main Authors Martini, A., Guda, S.A., Guda, A.A., Smolentsev, G., Algasov, A., Usoltsev, O., Soldatov, M.A., Bugaev, A., Rusalev, Yu, Lamberti, C., Soldatov, A.V.
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.05.2020
Subjects
Online AccessGet full text
ISSN0010-4655
1879-2944
DOI10.1016/j.cpc.2019.107064

Cover

More Information
Summary:X-ray absorption near-edge spectroscopy (XANES) is becoming an extremely popular tool for material science thanks to the development of new synchrotron radiation light sources. It provides information about charge state and local geometry around atoms of interest in operando and extreme conditions. However, in contrast to X-ray diffraction, a quantitative analysis of XANES spectra is rarely performed in the research papers. The reason must be found in the larger amount of time required for the calculation of a single spectrum compared to a diffractogram. For such time-consuming calculations, in the space of several structural parameters, we developed an interpolation approach proposed originally by Smolentsev and Soldatov (2007). The current version of this software, named PyFitIt, is a major upgrade version of FitIt and it is based on machine learning algorithms. We have chosen Jupyter Notebook framework to be friendly for users and at the same time being available for remastering. The analytical work is divided into two steps. First, the series of experimental spectra are analyzed statistically and decomposed into principal components. Second, pure spectral profiles, recovered by principal components, are fitted by theoretical interpolated spectra. We implemented different schemes of choice of nodes for approximation and learning algorithms including Gradient Boosting of Random Trees, Radial Basis Functions and Neural Networks. The fitting procedure can be performed both for a XANES spectrum or for a difference spectrum, thus minimizing the systematic errors of theoretical simulations. The problem of several local minima is addressed in the framework of direct and indirect approaches. Program title: PyFitIt. Program Files doi:http://dx.doi.org/10.17632/ydkgfdc38t.1 Licensing provisions: GNU General Public License 3. Programming language: Python, Jupyter Notebook framework. Nature of problem: Quantitative structural refinements of the X-ray absorption near-edge structure spectra (XANES). Identification of the pure spectral and concentration profiles associated with an experimental XANES dataset. Solution method: The fitting procedure of the experimental XANES spectra or of their differences is realized by means of the inverse and direct approaches based on the training set and approximation machine learning algorithms. The spectral resolution method is based on the PCA technique involving the usage of a target transformation matrix. Additional comments including restrictions and unusual features: The current version is compatible with the free FDMNES program package for XANES simulations. However, users can prepare their own matrices of spectra calculated by an arbitrary software and the corresponding structural parameters to perform the fitting procedure in PyFitIt. The complete set of examples is distributed along with the program. References: PyFitIt web page: http://hpc.nano.sfedu.ru/pyfitit/
ISSN:0010-4655
1879-2944
DOI:10.1016/j.cpc.2019.107064