  Perturbo is a software package for first-principles calculations of charge
transport and ultrafast carrier dynamics in materials. The current version
focuses on electron-phonon interactions and can compute phonon-limited
transport properties such as the conductivity, carrier mobility and Seebeck
coefficient. It can also simulate the ultrafast nonequilibrium electron
dynamics in the presence of electron-phonon scattering. Perturbo uses results
from density functional theory and density functional perturbation theory
calculations as input, and employs Wannier interpolation to reduce the
computational cost. It supports norm-conserving and ultrasoft pseudopotentials,
spin-orbit coupling, and polar electron-phonon corrections for bulk and 2D
materials. Hybrid MPI plus OpenMP parallelization is implemented to enable
efficient calculations on large systems (up to at least 50 atoms) using
high-performance computing. Taken together, Perturbo provides efficient and
broadly applicable ab initio tools to investigate electron-phonon interactions
and carrier dynamics quantitatively in metals, semiconductors, insulators, and
2D materials.
