BNL Home

software: stand-alone packages

EDRIXS: An open source toolkit for simulating spectra of resonant inelastic x-ray scattering

main developer: Yilin Wang
hosted by: Brookhaven National Laboratory

EDRIXS is a toolkit for the simulations of resonant inelastic x-ray scattering (RIXS) and x-ray absorption (XAS) spectra of strongly correlated materials based on exact diagonalization (ED) of certain model Hamiltonians. At Comscope, it is used to interpret RIXS spectra of d-electron materials obtained at the Soft Inelastic X-ray (SIX) beamline at NSLS II. EDRIXS will be integrated into Comsuite as a post-processing module based on DFT+DMFT calculations.

RIXS is a powerful photon-in photon-out spectroscopy technique to directly probe elementary excitations in materials, for instance, ranging from low energy phonons and (bi-)magnons to high energy d-d, charge-transfer and plasmons excitations in strongly correlated electronic systems. However, its theoretical interpretation is complicated. The RIXS cross-section has to be described as a complex four-particle correlation function involving both valence and core electrons. Moreover, the strong unknown core-hole potential (which is created when the photon is absorbed by the material) has to be taken into account.

Our open-source EDRIXS package (see GitHub link) is  available under the GNU General Public Licence 3.0. EDRIXS focuses on the simulation of x-ray spectra of strongly correlated materials and complements other RIXS codes, such as OCEAN, CTM4RIXS, or Quanty. EDRIXS first solves a model Hamiltonian with ED to get its ground state. The model Hamiltonian can either describe a single atom, a small cluster or an Anderson impurity model, with model parameters from density functional theory (DFT) plus Wannier90 or dynamical mean field theory (DMFT) calculations. The ED solver of EDRIXS is based on the standard Lanczos algorithms and parallel version of ARPACK library. The XAS and RIXS spectra are then calculated using Krylov subspace algorithms. ED, XAS and RIXS solvers are written in modern Fortran 90 language with MPI parallelism and a convenient Python library used to prepare inputs and set up calculations. Pure Python versions of ED, XAS, and RIXS are also available for small sized simulations. Due to its layered structure, EDRIXS can be used as a basic library and be easily modified to add additional RIXS or other x-ray spectra simulation functionalities. The Python interface is user-friendly, and can be distributed as a pip or conda package.

related publications

EDRIXS: An open source toolkit for simulating spectra of resonant inelastic x-ray scattering
Y. Wang, G. Fabbris, M.P.M. Dean and G. Kotliar
Computer Physics Communications 243, 151-165 (2019)