EDRIXS: An open source toolkit for simulating spectra of resonant inelastic x-ray scattering
Resonant inelastic x-ray scattering (RIXS) has become a very powerful experimental technique to probe a broad range of intrinsic elementary excitations, for example, from low energy phonons and (bi-)magnons to high energy d-d, charge-transfer and plasmon excitations in strongly correlated electronic systems. Due to the complexity of the RIXS cross-section and strong core-hole effects, theoretical simulation of the experimental RIXS spectra is still a difficult task which hampers the understanding of RIXS spectra and the development of the RIXS technique. In this paper, we present an open source toolkit (dubbed EDRIXS) to facilitate the simulations of RIXS spectra of strongly correlated materials based on exact diagonalization (ED) of certain model Hamiltonians. The model Hamiltonian can be from a single atom, small cluster or Anderson impurity model, with model parameters from density functional theory plus Wannier90 or dynamical mean-field theory calculations. The spectra of x-ray absorption spectroscopy (XAS) and RIXS are then calculated using Krylov subspace techniques. This toolkit contains highly efficient ED, XAS and RIXS solvers written in modern Fortran 90 language and a convenient Python library used to prepare inputs and set up calculations. We first give a short introduction to RIXS spectroscopy, and then we discuss the implementation details of this toolkit. Finally, we show three examples to demonstrate its usage.