Bandgap renormalization due to electron-phonon coupling: Difference between revisions

From VASP Wiki
(Add categories and remove elphon release banner)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.
The band-structure renormalization within the nonadiabatic Allen Heine Cardona (AHC) theory is computed from the real part of the electron self-energy evaluated at the Kohn-Sham (KS) eigenvalue.
This calculation is activated by default when {{TAG|ELPH_RUN}}=.TRUE. and {{TAG|ELPH_DRIVER}}=EL.
This calculation is activated by default when {{TAGO|ELPH_RUN|True}} and {{TAGO|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 {{TAG|ELPH_SELFEN_GAPS}}=.TRUE.
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 {{TAGO|ELPH_SELFEN_GAPS|True}}.


==Basic usage==
==Basic usage==
The first step of an electron-phonon calculation is necessary the [[Electron-phonon_potential_from_supercells|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 {{FILE|phelel_params.hdf5}} which is a required input for the present calculation.
The first step of an electron-phonon calculation is the [[Electron-phonon_potential_from_supercells|computation of the electron-phonon potential]], which corresponds to the derivatives of the KS potential with ionic displacement.
The electron-phonon matrix elements are computed using the Kohn-Sham states obtained from a non-self-consistent field calculation on a {{FILE|KPOINTS_DENSE}} grid. The format is the same as {{FILE|KPOINTS}}.
This calculation produces the {{FILE|phelel_params.hdf5}} file, which is a required input for the subsequent calculation.
Note that {{TAG|NBANDS}} governs the number of bands used in the self-consistent field calculation, while {{TAG|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 {{FILE|KPOINTS_DENSE}} grid.
The electron-phonon matrix elements are computed using the KS states obtained from a non-self-consistent-field calculation on a dense k-point mesh.
This k-point mesh is specified in the {{FILE|KPOINTS_ELPH}} file, which has the same format as the regular {{FILE|KPOINTS}} file.
Note that {{TAG|NBANDS}} governs the number of bands used in the self-consistent-field calculation, while {{TAG|ELPH_NBANDS}} governs the number of bands that will be used in the electron-phonon calculation and are computed in the grid specified via {{FILE|KPOINTS_ELPH}}.


The computation of the renormalization of the electronic bandgap can be done using the following {{TAG|INCAR}} file
The computation of the electronic bandgap renormalization can be done using the following {{TAG|INCAR}} file:


   {{TAG|PREC}} = Accurate
   {{TAGBL|PREC}} = Accurate
   {{TAG|ENCUT}} = 500
   {{TAGBL|ENCUT}} = 500
   {{TAG|EDIFF}} = 1e-8
   {{TAGBL|EDIFF}} = 1e-8
   {{TAG|ISMEAR}} = 0; SIGMA = 0.01
   {{TAGBL|ISMEAR}} = 0; SIGMA = 0.01
   {{TAG|LREAL}} = .FALSE.
   {{TAGBL|LREAL}} = .FALSE.
   {{TAG|LWAVE}} = .FALSE.
   {{TAGBL|LWAVE}} = .FALSE.
   {{TAG|LCHARG}} = .FALSE.
   {{TAGBL|LCHARG}} = .FALSE.
    
    
   #run electron-phonon calculation
   #run electron-phonon calculation
   {{TAG|ELPH_RUN}} = .TRUE.
   {{TAGBL|ELPH_RUN}} = .TRUE.
   {{TAG|ELPH_DRIVER}} = EL
   {{TAGBL|ELPH_DRIVER}} = EL
    
    
   # use exact diagonalization and compute all the bands
   # use exact diagonalization and compute all the bands
   {{TAG|ELPH_NBANDS}} = -2
   {{TAGBL|ELPH_NBANDS}} = -2
   {{TAG|KPOINTS_OPT_MODE}} = 2
   {{TAGBL|KPOINTS_OPT_MODE}} = 2
    
    
   # compute gap renormalization
   # compute gap renormalization
   {{TAG|ELPH_SELFEN_DELTA}} = 0.01
   {{TAGBL|ELPH_SELFEN_DELTA}} = 0.01
   {{TAG|ELPH_SELFEN_FAN}} = .TRUE.
   {{TAGBL|ELPH_SELFEN_FAN}} = .TRUE.
   {{TAG|ELPH_SELFEN_DW}} = .TRUE.
   {{TAGBL|ELPH_SELFEN_DW}} = .TRUE.
   {{TAG|ELPH_SELFEN_GAPS}} = .TRUE.
   {{TAGBL|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.
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 ensures that the result is precise, provides an error estimate and reveals the computationally most favorable settings.


==Basis set convergence==
==Basis set convergence==
First, we will deal with convergence of the bandgap renormalization with the number of electronic states ({{TAG|NBANDS}}) and plane-waves ({{TAG|ENCUT}}). To avoid a more cumbersome double-convergence with {{TAG|ENCUT}} and {{TAG|ELPH_NBANDS}} we recommend setting {{TAG|ELPH_NBANDS}} to be equal to the maximum number of plane-waves. This can be done automatically by setting {{TAG|ELPH_NBANDS}}=-2
First, we will deal with convergence of the bandgap renormalization with respect to the number of electronic states ({{TAG|NBANDS}}) and plane-waves ({{TAG|ENCUT}}). To avoid a more cumbersome double-convergence with {{TAG|ENCUT}} and {{TAG|ELPH_NBANDS}} we recommend setting {{TAG|ELPH_NBANDS}} to be equal to the maximum number of plane-waves. This can be done automatically by setting {{TAGO|ELPH_NBANDS|-2}}.


The derivatives of the electron-phonon potential are contained in the {{FILE|phelel_params.hdf5}} file on a pre-selected grid ({{TAG|NGX}}, {{TAG|NGY}}, {{TAG|NGZ}}).
The derivatives of the electron-phonon potential are contained in the {{FILE|phelel_params.hdf5}} file on a pre-selected grid ({{TAG|NGX}}, {{TAG|NGY}}, {{TAG|NGZ}}).
This means that we should avoid running the electron-phonon calculation with a {{TAG|ENCUT}} that would yield a {{TAG|NGX}}, {{TAG|NGY}} and {{TAG|NGZ}} that is different from the {{FILE|phelel_params.hdf5}} file.
This means that we should avoid running the electron-phonon calculation with an {{TAG|ENCUT}} that would yield a set of {{TAG|NGX}}, {{TAG|NGY}} and {{TAG|NGZ}} that is different from the {{FILE|phelel_params.hdf5}} file.
We can, however, choose a smaller {{TAG|ENCUT}} and set {{TAG|NGX}}, {{TAG|NGY}} and {{TAG|NGZ}} manually in the {{FILE|INCAR}} file to be the same as the one in the {{FILE|phelel_params.hdf5}} file.
We can, however, choose a smaller {{TAG|ENCUT}} and set {{TAG|NGX}}, {{TAG|NGY}} and {{TAG|NGZ}} manually in the {{FILE|INCAR}} file to be the same as the one in the {{FILE|phelel_params.hdf5}} file.
This allows running the calculation with different values of {{TAG|ENCUT}} and monitoring how that affects the final value of the bandgap renormalization.
This allows running the calculation with different values of {{TAG|ENCUT}} and monitoring how that affects the final value of the bandgap renormalization.


In a practical example, assume the electron-phonon potential was generated for Silicon with an {{TAG|ENCUT}}=500 which yields {{TAG|NGX}}={{TAG|NGY}}={{TAG|NGZ}}=28 in the primitive cell. The values of {{TAG|NGX}},{{TAG|NGY}} and {{TAG|NGZ}} chosen by vasp can be monitored in the {{FILE|OUTCAR}} file.
Let us consider an example calculation where the electron-phonon potential was generated for Silicon with an {{TAGO|ENCUT|500}} which yields {{TAG|NGX}}={{TAG|NGY}}={{TAG|NGZ}}=28 in the primitive cell. The values of {{TAG|NGX}}, {{TAG|NGY}} and {{TAG|NGZ}} chosen by VASP can be monitored in the {{FILE|OUTCAR}} file.
A convergence study can be performed by running multiple calculations with {{TAG|ENCUT}}=200, then 300, then 400 and finally 500 with {{TAG|NGX}}=28; {{TAG|NGY}}=28; {{TAG|NGZ}}=28 explicitly set in the {{FILE|INCAR}} file.
A convergence study can be performed by running multiple calculations with {{TAG|ENCUT}}=200, then 300, then 400 and finally 500.
You can verify that the calculations with a lower cutoff run faster, hence the choice of the {{TAG|ENCUT}} value for a production calculation is always a trade-off between accuracy and computational time.
{{TAGO|NGX|28}}, {{TAGO|NGY|28}} and {{TAGO|NGZ|28}} are set explicitly in the {{FILE|INCAR}} file.
You can verify that the calculations with a lower cutoff run faster, highlighting the importance of convergence tests for reaching a good compromise between accuracy and computational time.


==K-point sampling convergence and extrapolation to infinity==
==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.
Apart from the convergence with respect to the basis set, one should perform a convergence with respect to the k-point sampling.
This step simply implies running the calculation for increasingly dense meshes specified in the {{TAG|KPOINTS_DENSE}} file.
This step implies running the calculation for increasingly dense k-point meshes specified in the {{TAG|KPOINTS_ELPH}} file.
The convergence with k-points and basis set are only slightly interdependent, so converging the two parameters separately is a very good starting point.
The convergence behavior with respect to k-points is mostly independent of the convergence behavior with respect to the plane-wave basis.
We recommend users to extrapolate the value to infinite k-point density, this is done by plotting the value of the gap renormalization as a function of the inverse k-point density.
Therefore, it is recommended to study both types of convergence separately to save on time.


Together with the <b>k</b>-point convergence, the broadening parameter {{TAG|ELPH_SELFEN_DELTA}} should be monitored as well. The usual approach is to also extrapolate the result to zero broadening. This is made easier by the fact that multiple values can be passed on to {{TAG|ELPH_SELFEN_DELTA}} with vasp computing the self-energy for each of these broadening and reporting the results in the {{FILE|OUTCAR}} file and to {{FILE|vaspout.h5}}. For each value of the broadening, a new electron self-energy accumulator is created with the corresponding settings and values reported in the {{FILE|OUTCAR}}.
Furthermore, we recommend extrapolating the bandgap renormalization to infinite k-point density.
This is most easily accomplished by plotting the value of the renormalization as a function of the inverse k-point density.
In addition to the k-point convergence, the broadening parameter {{TAG|ELPH_SELFEN_DELTA}} should be monitored as well.
In principle, this parameter should be as small as possible.
{{NB|warning|Choosing {{TAG|ELPH_SELFEN_DELTA}} too small might produce inaccurate results for numerical reasons.}}
The usual approach is to extrapolate the result to zero broadening.
{{NB|tip|Multiple values can be specified for {{TAG|ELPH_SELFEN_DELTA}}. VASP then computes the self-energy for each of these broadenings and reports the results in the {{FILE|OUTCAR}} and {{FILE|vaspout.h5}} files. For each value of the broadening, a new electron self-energy accumulator is created with the corresponding settings and values reported in the {{FILE|OUTCAR}} file. This should help simplify the convergence study.}}


==Special treatment of the dipole interaction for polar materials==
==Special treatment of the dipole interaction for polar materials==


The convergence of the bandgap renormalization for polar materials (i.e. materials with a gap and non-zero born-effective charges) is specially challenging.
The convergence of the bandgap renormalization for polar materials (i.e. materials with a gap and non-zero born-effective charges) is especially challenging.
This is because the electron-phonon potential diverges as <math>q\rightarrow0</math>. This divergence is due to a long-range electrostatic interaction between the ions that is not screened by the electrons, as it would be in the case of metals.
This is because the electron-phonon potential diverges as <math>q\rightarrow0</math>.
In these cases, VASP can remove this long-range component from the electron-phonon potential in the supercell, Fourier interpolate it and add it back in the primitive cell. The same [[Phonons:_Theory#Long-range_interatomic_force_constants_(LO-TO_splitting)|treatment is done for the inter-atomic force constants]].
This divergence is due to long-range electrostatic interactions that are not screened by the electrons, as would be the case for metals.
The behavior, of this treatment, is governed by the following {{FILE|INCAR}} tags
In these cases, VASP can remove this long-range component from the electron-phonon potential in the supercell, Fourier interpolate it and add it back in the primitive cell.
The same [[Phonons:_Theory#Long-range_interatomic_force_constants_(LO-TO_splitting)|treatment is done for the interatomic force constants]].


  {{TAG|ENCUTLR}} = 150
To activate the long-range treatment, set the following {{FILE|INCAR}} tags:
  {{TAG|ELPH_LR}} = 1
  {{TAG|IFC_LR}} = 1


Note that the special treatment is automatically activated when the phelel_params.hdf5 file was generated with the dielectric tensor and born effective charges present in it.
  {{TAGBL|ENCUTLR}} = 50
The value of {{TAG|ENCUTLR}} should be the smallest possible for efficiency reasons, but large enough such that the final quantity does not depend on it.
  {{TAGBL|ELPH_LR}} = 1
This value also should not be too large, otherwise the results might become unphysical.
  {{TAGBL|IFC_LR}} = 1
 
{{NB|mind|The long-range treatment is activated by default when the phelel_params.hdf5 file contains the dielectric tensor and born effective charges.}}
{{NB|tip|The value of {{TAG|ENCUTLR}} should be the smallest possible for efficiency reasons, but large enough such that the final quantity does not depend on it. Avoid values of {{TAG|ENCUTLR}} that are too large, otherwise, the results might become unphysical.}}
 
[[Category:Electron-phonon interactions]][[Category:Howto]]

Latest revision as of 14:16, 18 December 2024

The band-structure renormalization within the nonadiabatic Allen Heine Cardona (AHC) theory is computed from the real part of the electron self-energy evaluated at the Kohn-Sham (KS) 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 the computation of the electron-phonon potential, which corresponds to the derivatives of the KS potential with ionic displacement. This calculation produces the phelel_params.hdf5 file, which is a required input for the subsequent calculation. The electron-phonon matrix elements are computed using the KS states obtained from a non-self-consistent-field calculation on a dense k-point mesh. This k-point mesh is specified in the KPOINTS_ELPH file, which has the same format as the regular KPOINTS file. Note that NBANDS governs the number of bands used in the self-consistent-field calculation, while ELPH_NBANDS governs the number of bands that will be used in the electron-phonon calculation and are computed in the grid specified via KPOINTS_ELPH.

The computation of the electronic bandgap renormalization 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 ensures that the result is precise, provides an error estimate and reveals the computationally most favorable settings.

Basis set convergence

First, we will deal with convergence of the bandgap renormalization with respect to 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 an ENCUT that would yield a set of 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.

Let us consider an example calculation where the electron-phonon potential was generated for Silicon with an ENCUT = 500 which yields NGX=NGY=NGZ=28 in the primitive cell. 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. NGX = 28, NGY = 28 and NGZ = 28 are set explicitly in the INCAR file. You can verify that the calculations with a lower cutoff run faster, highlighting the importance of convergence tests for reaching a good compromise between accuracy and computational time.

K-point sampling convergence and extrapolation to infinity

Apart from the convergence with respect to the basis set, one should perform a convergence with respect to the k-point sampling. This step implies running the calculation for increasingly dense k-point meshes specified in the KPOINTS_ELPH file. The convergence behavior with respect to k-points is mostly independent of the convergence behavior with respect to the plane-wave basis. Therefore, it is recommended to study both types of convergence separately to save on time.

Furthermore, we recommend extrapolating the bandgap renormalization to infinite k-point density. This is most easily accomplished by plotting the value of the renormalization as a function of the inverse k-point density. In addition to the k-point convergence, the broadening parameter ELPH_SELFEN_DELTA should be monitored as well. In principle, this parameter should be as small as possible.

Warning: Choosing ELPH_SELFEN_DELTA too small might produce inaccurate results for numerical reasons.

The usual approach is to extrapolate the result to zero broadening.

Tip: Multiple values can be specified for ELPH_SELFEN_DELTA. VASP then computes the self-energy for each of these broadenings and reports the results in the OUTCAR and vaspout.h5 files. For each value of the broadening, a new electron self-energy accumulator is created with the corresponding settings and values reported in the OUTCAR file. This should help simplify the convergence study.

Special treatment of the dipole interaction for polar materials

The convergence of the bandgap renormalization for polar materials (i.e. materials with a gap and non-zero born-effective charges) is especially challenging. This is because the electron-phonon potential diverges as . This divergence is due to long-range electrostatic interactions that are not screened by the electrons, as would be the case for metals. In these cases, VASP can remove this long-range component from the electron-phonon potential in the supercell, Fourier interpolate it and add it back in the primitive cell. The same treatment is done for the interatomic force constants.

To activate the long-range treatment, set the following INCAR tags:

 ENCUTLR = 50
 ELPH_LR = 1
 IFC_LR = 1


Mind: The long-range treatment is activated by default when the phelel_params.hdf5 file contains the dielectric tensor and born effective charges.
Tip: The value of ENCUTLR should be the smallest possible for efficiency reasons, but large enough such that the final quantity does not depend on it. Avoid values of ENCUTLR that are too large, otherwise, the results might become unphysical.