Electron Phonon Coupling: Difference between revisions

From The Yambo Project
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
This tutorial is quite complicated, take your time to follow all the steps
This tutorial is quite complicated, take your time to follow all the steps


== Electron-phonon matrix elements ==
In this first section we will explain how to generate electron-phonon matrix elements in Quantum-Espresso, and then import them in Yambo.
Calculations will be divided in different folders:
Calculations will be divided in different folders:
   
   

Revision as of 13:18, 17 December 2020

Here we show step-by-step how to use Quantum Espresso to calculate phonons and electron-phonon matrix-elements on a regular q-grid, with the final aim to allow Yambo to read these databases and calculate the temperature-dependent correction to the electronic states. This tutorial is quite complicated, take your time to follow all the steps

Electron-phonon matrix elements

In this first section we will explain how to generate electron-phonon matrix elements in Quantum-Espresso, and then import them in Yambo. Calculations will be divided in different folders:

  • pseudo the pseudo potential folder
  • scf for the self-consistent calculation
  • nscf for the non-self-consistent calcaultion with a larger number of bands
  • phonon for the phonons calculations
  • dvscf for the calculation of electron-phonon matrix elements

In this tutorial we will show how to calculate electron-phonon induced corrections to the bands and optical properties of 2D hexagonal boron nitride. All input file are availabe in the following tgz file: hBN.epc.tgz

1. In scf we run a standard scf calculation choosing the a large k-grid in such a way to converge density. Do not forget to set force_symmorphic=.true., because not symmorphic symmetries are not supported yet in Yambo. Notice that because the present system is two-dimensional we added the flag assume_isolated="2D" in such a way correct phonons in 2D, remove this flag is you have a system with a different dimensionality (a bulk, a molecule etc...)


2. Go in the nscf folder, and then copy the ${PREFIX}.save folder from scf to nscf, in the present example just do cp -r ../scf/bn.save ./. In the nscf input you have to choose the number of k-points and bands you will use for the electron-phonon coupling and Yambo calculations, in our case we will a 9x9x1 grid and 8 bands.

.....   
 number of k points=    12
                      cart. coord. in units 2pi/alat
       k(    1) = (   0.0000000   0.0000000   0.0000000), wk =   0.0246914
       k(    2) = (   0.0000000   0.1283001   0.0000000), wk =   0.1481481
       k(    3) = (   0.0000000   0.2566001   0.0000000), wk =   0.1481481
       k(    4) = (   0.0000000   0.3849002   0.0000000), wk =   0.1481481
       k(    5) = (   0.0000000   0.5132002   0.0000000), wk =   0.1481481
       k(    6) = (   0.1111111   0.1924501   0.0000000), wk =   0.1481481
       k(    7) = (   0.1111111   0.3207501   0.0000000), wk =   0.2962963
       k(    8) = (   0.1111111   0.4490502   0.0000000), wk =   0.2962963
       k(    9) = (   0.1111111   0.5773503   0.0000000), wk =   0.1481481
       k(   10) = (   0.2222222   0.3849002   0.0000000), wk =   0.1481481
       k(   11) = (   0.2222222   0.5132002   0.0000000), wk =   0.2962963
       k(   12) = (   0.3333333   0.5773503   0.0000000), wk =   0.0493827
.....

3. Go in the phonon directory. You have to copy the k-points list in the 2pi/alat units from the previous nscf run and provide it as q-grid for the phonon calculations. Notice that due to an internal convection of Yambo the q-points have to be multiplied for -1 before add them to the phonons input. Then use the same k-point grid of the nscf calculation for the phonons, the final input will be:

&inputph
           verbosity = 'high'
              tr2_ph = 1e-12
              prefix = 'bn'
            fildvscf = 'bn-dvscf'
              fildyn = 'bn.dyn')
     electron_phonon = 'dvscf',
               epsil = .true.
               trans = .true.
               ldisp = .false.
               qplot = .true.
     nk1=9, nk2=9, nk3 = 1
/
12
   0.0000000    0.0000000   0.0000000  1
   0.0000000   -0.1283001   0.0000000  1
   0.0000000   -0.2566001   0.0000000  1
   0.0000000   -0.3849002   0.0000000  1
   0.0000000   -0.5132002   0.0000000  1
  -0.1111111   -0.1924501   0.0000000  1
  -0.1111111   -0.3207501   0.0000000  1
  -0.1111111   -0.4490502   0.0000000  1
  -0.1111111   -0.5773503   0.0000000  1
  -0.2222222   -0.3849002   0.0000000  1
  -0.2222222   -0.5132002   0.0000000  1
  -0.3333333   -0.5773503   0.0000000  1




3. In nscf folder I run an nscf calculation, setting the number of bands nbnd equal to the desired band number, force_symmorphic=.true. and the same q grid as before. A ${PREFIX}.save folder will be automatically created.

4. In the main directory I copy and then overwrite the previous ${PREFIX}.save directory with the new one. Now I run an elph calculation setting electron_phonon = ‘yambo’, and the q grid.

&inputph
    fildvscf = '6HSiC-dvscf'
    fildyn = '6HSiC.dyn'
           verbosity = 'high'
               epsil = .true.
               ldisp = .true.
              tr2_ph = 1e-16
              prefix = '6HSiC'
     electron_phonon = 'yambo',
               trans = .false.
         nq1=10, nq2 =10, nq3=2
/

Quasi-particle band structure

Optical properties

Convergence