Bandgap renormalization due to electron-phonon coupling
The band-structure renormalization within the nonadiabatic Allen, Heine and Cardona is computed from the real part of the electron self-energy evaluated at the Kohn-Sham eigenvalue. This calculation is activated by default when ELPH_RUN=.TRUE. and ELPH_DRIVER=EL. For the particular case where we want to determine the bandgap we can compute the self-energy only for the states that form the gap (including all the degenerate states). The selection of these states can be done automatically by VASP using ELPH_SELFEN_GAPS=.TRUE.
Basic usage
The first step of an electron-phonon calculation is necessary the computation of the electron-phonon potential, which corresponds to the derivatives of the Kohn-Sham potential with ionic displacement. The result of this calculation is a phelel_params.hdf5 which is a required input for the present calculation. The electron-phonon matrix elements are computed using the Kohn-Sham states obtained from a non-self-consistent field calculation on a KPOINTS_DENSE grid. The format is the same as KPOINTS. Note that NBANDS governs the number of bands used in the self-consistent field calculation, while ELPH_BANDS governs the number of bands that will be used in the electron-phonon calculation and are computed in the grid specified by the Template:KPOINTS DENSE grid.
The computation of the renormalization of the electronic bandgap can be done using the following INCAR file
PREC = Accurate ENCUT = 500 EDIFF = 1e-8 ISMEAR = 0; SIGMA = 0.01 LREAL = .FALSE. LWAVE = .FALSE. LCHARG = .FALSE. #run electron-phonon calculation ELPH_RUN=.TRUE. ELPH_DRIVER=EL # use exact diagonalization and compute all the bands ELPH_NBANDS = -2 KPOINTS_OPT_MODE = 2 # compute gap renormalization ELPH_SELFEN_DELTA=0.01 ELPH_SELFEN_FAN=.TRUE. ELPH_SELFEN_DW=.TRUE. ELPH_SELFEN_GAPS=.TRUE.
To get an accurate value while using the smallest possible amount of computational resources, we recommend performing a basis set and k-point sampling convergence study. This allows to ensure that the result is precise, an estimation of the error as well as choosing the most computationally favorable settings.
Basis set convergence
First, we will deal with convergence of the bandgap renormalization with the number of electronic states (NBANDS) and plane-waves (ENCUT). To avoid a more cumbersome double-convergence with ENCUT and ELPH_NBANDS we recommend setting ELPH_NBANDS to be equal to the maximum number of plane-waves. This can be done automatically by setting ELPH_NBANDS=-2
The derivatives of the electron-phonon potential are contained in the phelel_params.hdf5 file on a pre-selected grid (NGX, NGY, NGZ). This means that we should avoid running the electron-phonon calculation with a ENCUT that would yield a NGX, NGY and NGZ that is different from the phelel_params.hdf5 file. We can, however, choose a smaller ENCUT and set NGX, NGY and NGZ manually in the INCAR file to be the same as the one in the phelel_params.hdf5 file. This allows running the calculation with different values of ENCUT and monitoring how that affects the final value of the bandgap renormalization.
In a practical example, assume the electron-phonon potential was generated with an ENCUT=500 which yields NGX=NGY=NGZ=28 in the primitive cell for a particular material. The values of NGX,NGY and NGZ chosen by vasp can be monitored in the OUTCAR file. A convergence study can be performed by running multiple calculations with ENCUT=200, then 300, then 400 and finally 500 with NGX=28; NGY=28; NGZ=28 explicitly set in the INCAR file. You can verify that the calculations with a lower cutoff run faster, hence the choice of the ENCUT value for a production calculation is always a trade-off between accuracy and computational time.
K-point sampling convergence and extrapolation to infinity
Apart from the convergence with the basis set, one should perform a convergence with the k-point sampling.