PhonoPy postprocessing code to calculate the 1-electron-2-phonon spectral function from first principles, useful for long-range nonlinear electron phonon interaction. The code accompanies the following publication: M. Houtput, L. Ranalli, C. Verdi, S. Klimin, S. Ragni, C. Franchini, and J. Tempere, First-principles theory of nonlinear long-range electron-phonon interaction. Phys. Rev. B 111, 184320 (2025). DOI: https://doi.org/10.1103/PhysRevB.111.184320. Open-source article available at https://arxiv.org/abs/2412.09470.
1e2ph-spectral is fully written in Python and requires the following external python libraries:
- numpy
- scipy
- matplotlib
- pyyaml
- joblib
- itertools
- warnings
- main.py reproduces all figures from arXiv:2412.09470. Set recalculate=True to explicitly recalculate the 1-electron-2-phonon spectral functions; otherwise, this data is read from the precalculated results directory.
- minimal_example.py generates the basic figures for LiF to illustrate the basic usage of the code
- phonopyReaders.py contains all functions and classes that interface with the PhonoPy data. See minimal_example.py or main.py for example usage.
- pathsLabels.py contains a method that contains information for the high-symmetry paths of cubic Brillouin zones.
- data contains the relevant output data from PhonoPy, ultimately derived from first-principles calculations in VASP.
- plots contains the figures generated by main.py.
- results contains .npz files that contain the numerical data of calculated 1-electron-2-phonon spectral functions, which is read by main.py.