MXAN: A new program for ab-initio structural quantitative analysis of XANES experiments
X-ray absorption spectroscopy (XAS) is a powerful method for obtaining electronic and structural information around a well-defined absorbing atom site of different types of matter, from biological systems to condensed materials in almost all possible thermodynamics conditions. The low energy part of the XAS spectrum, from the rising edge up to few hundreds eV, the so called XANES (X-ray absorption near-edge structure) region, is extremely rich of electronic and structural information, like, for example, the oxidation state, overall symmetry, interatomic distances and angles. In this paper we present in details the MXAN method and a new reengineered release of the code proposed in the literature some years ago which allows a complete fit of the XANES energy region in term of well-defined set of structural parameters. This approach is based on the comparison between experimental data and many theoretical calculations performed by varying selected structural parameters starting from a putative structure, i.e. from a well-defined initial geometrical configuration around the absorber. The X-ray photo-absorption cross sections are derived using full multiple-scattering theory, i.e. the scattering path operator is calculated exactly without any series expansion. In this way the analysis can start from the edge without any limitations in the energy range and polarization conditions. Here we present in detail the theoretical background behind the code and new capabilities implemented from theory in this last version of the program as the analysis of XANES data coming from time-dependent spectra. The code is provided with modern technology for rapid deployment of binaries based on Docker runtime so that, without source compiling, its execution reduces to just a command line striking for a full parallel (shared memory) run even using complex construct like memory filesystem in a transparent way to the end-user.