Bandstructure of SrVO3 in GW: Difference between revisions

From VASP Wiki
Line 265: Line 265:


and restart VASP.
and restart VASP.
'''Mind''': This calculation (and the ones following below) needs to start from a set of converged DFT wave function, therefore:
cp WAVECAR.DFT.96bands WAVECAR


=== Analysis of the DOS ===
=== Analysis of the DOS ===

Revision as of 16:50, 12 September 2012

Description: the GW bandstructure of SrVO3 using VASP and WANNIER90.


Performing a GW calculation with VASP is a 3-step procedure: a DFT groundstate calculation, a calculation to obtain a number of virtual orbitals, and the actual GW calculation itself. In this example we will also see how the results of the GW calculation may be postprocessed with WANNIER90 to obtain the dispersion of the bands along the usual high symmetry directions in reciprocal space.

Practical issues:

  1. We have trimmed the calculations so that they run smoothly on 6 cores, to run VASP execute the following command:
    mpirun -np 6 /opt/tutorial/gw/vasp.5.3/vasp
  2. To be able to use the scripts provided with this example to visualize (parts of) your results, you will have to enable X-forwarding when you connect to your compute node with ssh:
    ssh -X username@machinename

The DFT groundstate calculation

Everthing starts with a conventional DFT (in this case LDA) groundstate calculation:

  • INCAR.DFT
System  = SrVO3

NBANDS = 36

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

KPAR = 3

Copy the aforementioned file to INCAR:

cp INCAR.DFT INCAR
  • KPOINTS
Automatically generated mesh
       0
Gamma
 4 4 4

Mind: this is definitely not dense enough for a high-quality description of SrVO3, but in the interest of speed we will live with it.

  • POSCAR
SrVO3
3.77706  #taken from 9x9x9 with sigma=0.2 ismear=2
 +1.0000000000  +0.0000000000  +0.0000000000 
 +0.0000000000  +1.0000000000  +0.0000000000 
 +0.0000000000  +0.0000000000  +1.0000000000 
Sr V O
 1 1 3
Direct
 +0.0000000000  +0.0000000000  +0.0000000000 
 +0.5000000000  +0.5000000000  +0.5000000000 
 +0.5000000000  +0.5000000000  +0.0000000000 
 +0.5000000000  +0.0000000000  +0.5000000000 
 +0.0000000000  +0.5000000000  +0.5000000000

Analysis of the DOS

Add the following line to your INCAR file:

LORBIT = 11

and rerun VASP.

In addition to the total density-of-states (DOS), the DOSCAR now contains blocks of information with the site-projected lm-decomposed DOS as well, and the site-projected lm-decomposed band character is written to the PROCAR file.

To plot the total DOS and the Vanadium t2g and eg partial-DOS using gnuplot, execute the following command:

./plotdos

Mind: Check the OUTCAR file for the position of the Fermi level. These DOSs have not been shifted such that the Fermi level is at 0 eV.

Bandstructure using WANNIER90

Add the following line to your INCAR to have VASP call WANNIER90:

LWANNIER90_RUN = .TRUE.

WANNIER90 takes its input from the file wannier90.win. To construct Wannier functions for the Vanadium t2g manifold in SrVO3, and plot the dispersion of the associated bands along R-G-X-M, one may use the following settings:

  • wannier90.win.dft
bands_plot = true

begin kpoint_path
R  0.50000000  0.50000000  0.50000000  G  0.00000000  0.00000000  0.00000000
G  0.00000000  0.00000000  0.00000000  X  0.50000000  0.00000000  0.00000000
X  0.50000000  0.00000000  0.00000000  M  0.50000000  0.50000000  0.00000000
M  0.50000000  0.50000000  0.00000000  G  0.00000000  0.00000000  0.00000000
end kpoint_path

num_wann =    3

num_bands=    3

exclude_bands : 1-20, 24-36

begin projections
V:dxy;dxz;dyz
end projections

Copy the above to wannier90.win:

cp wannier90.win.dft wannier90.win

and restart VASP.

The Vanadium t2g band dispersion thus obtained, may conveniently be visualized with gnuplot:

gnuplot -persist plotme.dft

Mind: Here the eigenvalues have been shifted such that the Fermi level is a 0 eV.

Obtain DFT virtual orbitals

  • INCAR.DFT.all
System  = SrVO3

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

ALGO = Exact  ; NELM = 1               # exact diagonalization one step suffices
EDIFF = 1E-8                           # high precision for groundstate calculation
NBANDS = 96                            # need for a lot of bands in GW
LOPTICS = .TRUE.                       # we need d phi/ d k  for GW calculations

KPAR = 3

Copy the aforementioned file to INCAR:

cp INCAR.DFT.all INCAR

and restart VASP.

At this stage it is a good idea to make a safety copy of the WAVECAR and WAVEDER files since we will repeatedly need them in the calculations that follow:

cp WAVECAR WAVECAR.DFT.96bands
cp WAVEDER WAVEDER.DFT.96bands

The GW calculation

  • INCAR.GW0
System  = SrVO3

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

NBANDS = 96                            # need for a lot of bands in GW

ALGO = GW0                             # 
NELM = 1                               # one step so this is really G0W0
PRECFOCK = Fast                        # select fast mode for FFT's 
ENCUTGW = 100                          # energy cutoff for response function
NOMEGA = 200                           # metal, we need a lot of frequency points
MAXMEM = 2500                          # memory per core
NKRED = 2                              # sample down the GW to a coarse 2x2x2 grid

KPAR = 3

Copy the aforementioned file to INCAR:

cp INCAR.GW0 INCAR

and restart VASP.

Analysis of the DOS

Again, add the following line to your INCAR file:

LORBIT = 11

and rerun VASP.

To plot the total DOS and the Vanadium t2g and eg partial-DOS using gnuplot, execute the following command:

./plotdos

Mind: Check the OUTCAR file for the position of the Fermi level. These DOSs have not been shifted such that the Fermi level is at 0 eV.

Bandstructure using WANNIER90

Again, add the following line to your INCAR to have VASP call WANNIER90:

LWANNIER90_RUN = .TRUE.

and use the following WANNIER90 input:

  • wannier90.win.gw
bands_plot = true

begin kpoint_path
R  0.50000000  0.50000000  0.50000000  G  0.00000000  0.00000000  0.00000000
G  0.00000000  0.00000000  0.00000000  X  0.50000000  0.00000000  0.00000000
X  0.50000000  0.00000000  0.00000000  M  0.50000000  0.50000000  0.00000000
M  0.50000000  0.50000000  0.00000000  G  0.00000000  0.00000000  0.00000000
end kpoint_path

num_wann =    3

num_bands=    3

exclude_bands : 1-20, 24-96

begin projections
V:dxy;dxz;dyz
end projections

Copy the above to wannier90.win:

cp wannier90.win.gw wannier90.win

and redo the GW step.

The compare the Vanadium t2g band dispersion in the GW approximation with the LDA bandstructure, run the following command:

gnuplot -persist plotme.gw

Mind: Here the eigenvalues have been shifted such that the Fermi level is a 0 eV.

A more accurate GW calculation

As you might have noticed in the previous example the Vanadium t2g bands look a bit wobbly along G-X and X-M. In the present example, this turns out to be an artifact of the downsampling of the GW. Try removing (or comment out) the line

NKRED = 2

from the INCAR file, and redo the GW step.

A comparison to HSE

  • INCAR.HSE
System  = SrVO3

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

KPAR = 3
LHFCALC = .TRUE.  ; HFSCREEN = 0.2  ; NBANDS = 48
PRECFOCK = Fast   ; NELM = 1
ALGO = Eigenval

LWAVE = .FALSE.                        # do not write the wave functions

Copy the aforementioned file to INCAR:

cp INCAR.HSE INCAR

and restart VASP.

Mind: This calculation (and the ones following below) needs to start from a set of converged DFT wave function, therefore:

cp WAVECAR.DFT.96bands WAVECAR

Analysis of the DOS

Again, add the following line to your INCAR file:

LORBIT = 11

and rerun VASP.

To plot the total DOS and the Vanadium t2g and eg partial-DOS using gnuplot, execute the following command:

./plotdos

Mind: Check the OUTCAR file for the position of the Fermi level. These DOSs have not been shifted such that the Fermi level is at 0 eV.

Bandstructure using WANNIER90

As before, add the following line to your INCAR to have VASP call WANNIER90:

LWANNIER90_RUN = .TRUE.

and use the following WANNIER90 input:

  • wannier90.win.hse
bands_plot = true

begin kpoint_path
R  0.50000000  0.50000000  0.50000000  G  0.00000000  0.00000000  0.00000000
G  0.00000000  0.00000000  0.00000000  X  0.50000000  0.00000000  0.00000000
X  0.50000000  0.00000000  0.00000000  M  0.50000000  0.50000000  0.00000000
M  0.50000000  0.50000000  0.00000000  G  0.00000000  0.00000000  0.00000000
end kpoint_path

num_wann =    3

num_bands=    3

exclude_bands : 1-20, 24-48

begin projections
V:dxy;dxz;dyz
end projections

Copy the above to wannier90.win:

cp wannier90.win.hse wannier90.win

and redo the HSE calculation.

The compare the Vanadium t2g band dispersion in the GW approximation with the LDA bandstructure, run the following command:

gnuplot -persist plotme.hse

Mind: Here the eigenvalues have been shifted such that the Fermi level is a 0 eV.

Download


To the list of examples or to the main page