Elsevier

Computer Physics Communications

Volume 243, October 2019, Pages 151-165
Computer Physics Communications

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

https://doi.org/10.1016/j.cpc.2019.04.018Get rights and content

Abstract

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.

Program summary

Program title: EDRIXS

Program Files doi: http://dx.doi.org/10.17632/wvd5x3mtg4.1

Licensing provisions: GNU General Public Licence 3.0

Programming language: Fortran 90 and Python3

External routines/libraries used: BLAS, LAPACK, Parallel ARPACK, numpy, scipy, sympy, matplotlib, sphinx, numpydoc

Nature of problem: Simulating the spectra of resonant inelastic x-ray scattering for strongly correlated electronic systems.

Solution method: Exact diagonalization of model Hamiltonians and Krylov subspace methods.

Introduction

Directly measuring the elementary excitations in materials through experimental spectroscopy is a fundamental task in condensed matter physics. For example, angle-resolved photoemission spectroscopy (ARPES) [1] is a very powerful technique to measure the single particle spectrum function A(k,ω) (bands) in both weakly and strongly correlated materials. In recent years, resonant inelastic x-ray scattering (RIXS) has also emerged as a key probe of the elementary excitations in materials, especially for strongly correlated systems [2]. RIXS is a photon-in photon-out spectroscopy. The energy of the incident photon is tuned at a specific resonant edge to excite a deep core electron to the valence shell and create a core-hole. After a very short time, the core-hole is refilled by a valence electron and photon is emitted. By measuring the change in energy, momentum and polarization of the scattered photon, one can obtain detailed information on the nature of the underlying excitations. Compared to other spectroscopies, RIXS has various unique features and advantages [2]. First, it can measure a broad range of elementary excitations, for example, from low energy phonons and (bi-)magnons to high energy local d-d, charge transfer (CT) and plasmon excitations. Second, since x-rays carry appreciable momentum, the dispersion of low-energy excitations in solids can be probed. Third, there are fewer restrictions to sample surface quality or volume compared to probes such as ARPES and neutron scattering, which enables, for instance, studies of thin films and very small single crystals. Finally, it is element and orbital specific, bulk sensitive and polarization dependent. In recent years, great progress in the technical development of RIXS has occurred due to high-brilliance synchrotron light sources and advanced photon detection instrumentation, leading to its wide use to study elementary excitations in strongly correlated materials [2], [3], [4], [5], [6].

Given the RIXS sensitivity to a wide range of elementary excitations, theoretical simulation of the RIXS cross-section is often very relevant in the interpretation of the experimental RIXS spectra and its underlying physics. The RIXS cross-section is described by the Kramers–Heisenberg formula, which is a result of second-order perturbation theory. The RIXS cross-section can be interpreted as a four-particle correlation function involving both valence and core electrons [7], [8] and can be in principle determined by some first-principles numerical methods. Nowadays, density functional theory plus dynamical mean-field theory (DFT+DMFT) [9], [10] with continuous-time quantum Monte-Carlo (CTQMC) [11] as the impurity solver is the most powerful and accurate method for first-principle calculations of physical properties, such as the single particle spectrum function, of strongly correlated materials, so it is a desirable method to compute RIXS spectra. Unfortunately, it is still a very challenging mission to determine the RIXS cross-section by this method with the current available numerical techniques due to the complexity of this correlation function and the strong unknown core-hole potential. The difficulty in performing theoretical RIXS simulations hampers the progress of the understanding of RIXS spectra and the development of the RIXS technique. Nowadays, most of RIXS simulations are based on the exact diagonalization (ED) of Hamiltonians of small size models, that capture some sorts of the properties of the real materials, such as single atom, small cluster and Anderson impurity model (AIM) [12]. Currently, the most widely used RIXS simulation codes based on ED algorithms include CTM4RIXS [13] and Quanty [14]. The former is based on an old atomic code called Cowan’s code [15] with very limited functionalities to perform XAS and RIXS calculations. The latter is based on a lightweight programming language called Lua [16] and has much richer functionalities. However, the core of the Quanty code is not open source, so it cannot be freely modified by users to implement functionalities that are not available. Many RIXS simulations based on ED [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34], [35], [36], [37] or DMRG [38] have been also reported. In Refs. [24], [27], [29], the ED code is based on the parallel ARPACK library. In Refs. [35], a powerful ED solver based on quantum chemistry algorithm is used to diagonalize the AIM from a converged DFT+DMFT calculations with many bath sites and continuous charge excitations have been found in high-valence transition-metal oxides in their simulated RIXS spectra. However, currently these codes are not open source.

In this work, we present the EDRIXS open source toolkit that is aimed at facilitating RIXS simulations based on ED algorithms. EDRIXS is designed as a post-processing tool for the open source COMSCOPE project [39], [40]. It implements parallel ED solvers with very high efficiency based on the standard Lanczos algorithms and parallel version of ARPACK library. The XAS and RIXS spectra are then calculated parallelly using Krylov subspace algorithms. The core components of this toolkit are implemented using the modern Fortran 90 language and the parallelism is achieved by MPI. The code has a layered structure, thus new functionalities can be easily implemented by users who want to perform other types of x-ray scattering simulations. An application programming interface (API) is implemented by the popular Python3 language to prepare inputs and set up calculations. A pure Python ED solver is also implemented in the API for small size problem. The rest of this paper is organized as follows: In Section 2, we introduce the basic theory and methods of RIXS simulations. In Section 3, we explain the implementation of the code in detail. In Section 4, we show how to install and use this code. In Section 5, we show three examples to demonstrate the usage of this code. In Section 6, we discuss the plans of future development of EDRIXS.

Section snippets

Geometry of RIXS experiment

A typical geometry of RIXS experiment is illustrated in Fig. 1. ki (ϵi) and kf (ϵf) are the wave (polarization) vectors of the incident and scattered x-ray, respectively. ωin and ωout are the energy of incident and scattered x-ray, respectively. α and β are the angles between the polarization vectors and the scattering plane. We call it π-polarization when the polarization vector is parallel to the scattering plane (α,β=0), and σ-polarization when the polarization vector is perpendicular

Implementations and optimizations

In this section, we describe the details of implementation and optimization of EDRIXS.

Installation and usage

In this section, we will show how to install and use EDRIXS on Linux or OSX platforms. We encourage the readers to check https://github.com/NSLS-II/edrixs for the most up to date information.

Examples

In this section, we show three examples to demonstrate the usage of EDRIXS. The testing platform is a Macbook laptop (CPU: 2.9 GHz Intel Core i5, Memory: 8 GB 1867 MHz DDR3). The codes are compiled by Intel’s ifort compiler with MKL and arpack-ng. The approximate total running times of these three examples are summaried in Table 5.

Summary and future developments

In this paper, we introduce the open source toolkit EDRIXS to simulate RIXS spectra. We explain the basic theory and algorithms for RIXS simulations and the implementation details of EDRIXS code. We also show three examples to demonstrate its usage. EDRIXS is designed as a platform for theoretical simulations of x-ray scattering spectroscopy and it will be a very helpful toolkit for the x-ray scattering community.

The development of EDRIXS code is still in progress. The plans of future

Acknowledgments

We would like to thank very helpful discussions with Hu Miao and Yongxin Yao. Y.L.W., M.P.M.D. and G.K. were supported by the US Department of energy, Office of Science, Basic Energy Sciences, USA as a part of the Computational Materials Science Program through the Center for Computational Design of Functional Strongly Correlated Materials and Theoretical Spectroscopy. G.F. was supported by the U.S. Department of Energy, Office of Basic Energy Sciences, Early Career Award Program under Award

References (61)

  • StavitskiE. et al.

    Micron

    (2010)
  • WeichselbaumA.

    Ann. Physics

    (2012)
  • DamascelliA. et al.

    Rev. Modern Phys.

    (2003)
  • AmentL.J.P. et al.

    Rev. Modern Phys.

    (2011)
  • FabbrisG. et al.

    Phys. Rev. Lett.

    (2016)
  • TomiyasuK. et al.

    Phys. Rev. Lett.

    (2017)
  • KimJ. et al.

    Phys. Rev. Lett.

    (2012)
  • WrayL.A. et al.

    Phys. Rev. Lett.

    (2015)
  • ShvaikaA.M. et al.

    Phys. Rev. B

    (2005)
  • IgarashiJ.-i. et al.

    Phys. Rev. B

    (2013)
  • GeorgesA. et al.

    Rev. Modern Phys.

    (1996)
  • KotliarG. et al.

    Rev. Modern Phys.

    (2006)
  • GullE. et al.

    Rev. Modern Phys.

    (2011)
  • De GrootF. et al.
  • HaverkortM.W.

    J. Phys. Conf. Ser.

    (2016)
  • CowanR.D.

    The Theory of Atomic Structure and Spectra

    (1981)
  • ...
  • TsutsuiK. et al.

    Phys. Rev. Lett.

    (2003)
  • IshiiK. et al.

    Phys. Rev. Lett.

    (2005)
  • OkadaK. et al.

    J. Phys. Soc. Japan

    (2006)
  • VernayF. et al.

    Phys. Rev. B

    (2008)
  • ChenC.-C. et al.

    Phys. Rev. Lett.

    (2010)
  • KourtisS. et al.

    Phys. Rev. B

    (2012)
  • UldryA. et al.

    Phys. Rev. B

    (2012)
  • JiaC. et al.

    New J. Phys.

    (2012)
  • WohlfeldK. et al.

    Phys. Rev. B

    (2013)
  • MonneyC. et al.

    Phys. Rev. Lett.

    (2013)
  • JiaC.J. et al.

    Nature Commun.

    (2014)
  • Fernndez-RodríguezJ. et al.

    J. Electron Spectrosc. Relat. Phenom.

    (2015)
  • JiaC. et al.

    Phys. Rev. X

    (2016)
  • Cited by (0)

    This paper and its associated computer program are available via the Computer Physics Communication homepage on ScienceDirect (http://www.sciencedirect.com/science/journal/00104655).

    View full text