PERTURBO is an open source software to compute from first principles the scattering processes between charge carriers (electrons and holes) and phonons, defects, and photons in solid state materials, including metals, semiconductors, oxides, and insulators. PERTURBO computes electron-phonon (e-ph) interactions and phonon limited transport properties in the framework of the Boltzmann transport equation (BTE). These include the carrier mobility, electrical conductivity, and Seebeck coefficient. PERTURBO can also compute the ultrafast carrier dynamics, magnetotransport, and high-field transport. Additional electron interactions, transport and ultrafast dynamics calculations will be included in future releases.

For more details on the code, we refer the users to the manuscript accompying the source code:
Jin-Jian Zhou, Jinsoo Park, I-Te Lu, Ivan Maliyov, Xiao Tong, Marco Bernardi, “Perturbo: a software package for ab initio electron-phonon interactions, charge transport and ultrafast dynamics”, Comput. Phys. Commun. 264, 107970, (2021)

PERTURBO is written in Fortran95 with hybrid parallelization (MPI and OpenMP). The main output formats are HDF5 and YAML, which are portable from one machine to another and are convenient for postprocessing using high-level languauges (e.g., Python). PERTURBO has a core software, called perturbo.x, for the electron transport calculations and an interface software, called qe2pert.x, to read output files of Quantum Espresso (QE, version 7.0) and Wannier90 (W90, version >= 3.0.0). The qe2pert.x interface software generates an HDF5 file, which is then read from the core perturbo.x software. In principle, any other third-party density functional theory (DFT) codes (e.g., VASP) can use PERTURBO as long as the interface of the DFT codes can prepare an HDF5 output file (called prefix_epwan.h5) for PERTURBO to read.


We gratefully acknowledge the National Science Foundation for supporting the development of PERTURBO.