pymatgen.analysis.xps module

This is a module for XPS analysis. It is modelled after the Galore package (, but with some modifications for easier analysis from pymatgen itself. Please cite the following original work if you use this:

Adam J. Jackson, Alex M. Ganose, Anna Regoutz, Russell G. Egdell, David O. Scanlon (2018). Galore: Broadening and
weighting for simulation of photoelectron spectroscopy. Journal of Open Source Software, 3(26), 773,
doi: 10.21105/joss.007733

You may wish to look at the optional dependency galore for more functionality such as plotting and other cross-sections. Note that the atomic_subshell_photoionization_cross_sections.csv has been reparsed from the original compilation:

Yeh, J. J.; Lindau, I. Atomic Subshell Photoionization Cross Sections and Asymmetry Parameters: 1 ⩽ Z ⩽ 103.
Atomic Data and Nuclear Data Tables 1985, 32 (1), 1-155.

This version contains all detailed information for all orbitals.

class XPS(x: ArrayLike, y: ArrayLike, *args, **kwargs)[source]

Bases: Spectrum

Class representing an X-ray photoelectron spectra.

  • x (ndarray) – A ndarray of N values.

  • y (ndarray) – A ndarray of N x k values. The first dimension must be the same as that of x. Each of the k values are interpreted as separate.

  • *args – All subclasses should provide args other than x and y when calling super, e.g., super().__init__( x, y, arg1, arg2, kwarg1=val1, ..). This guarantees the +, -, *, etc. operators work properly.

  • **kwargs – Same as that for *args.

XLABEL = 'Binding Energy (eV)'[source]
YLABEL = 'Intensity'[source]
classmethod from_dos(dos: CompleteDos)[source]
  • dos – CompleteDos object with project element-orbital DOS. Can be obtained from Vasprun.get_complete_dos.

  • sigma – Smearing for Gaussian.