Bandstructure of SrVO3 in GW: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 175: Line 175:
  {{TAGBL|PRECFOCK}} = Fast                        # select fast mode for FFT's  
  {{TAGBL|PRECFOCK}} = Fast                        # select fast mode for FFT's  
  {{TAGBL|ENCUTGW}} = 100                          # energy cutoff for response function
  {{TAGBL|ENCUTGW}} = 100                          # energy cutoff for response function
  {{TAGBL|NOMEGA}} = 200                          # metal, we need a lot of frequency points
  {{TAGBL|NOMEGA}} = 200                          # metal, we need a lot of frequency Pointe
      
      
  {{TAGBL|KPAR}} = 2
  {{TAGBL|KPAR}} = 2
Line 205: Line 205:
*wannier90.win (see wannier90.win.gw)
*wannier90.win (see wannier90.win.gw)
<pre>
<pre>
bands_plot = true                                                                                                                                            
bands_plot = true
                                                                                                                                                             
                                                                                                                                   
begin kpoint_path                                                                                                                                            
begin kpoint_path
R  0.50000000  0.50000000  0.50000000  G  0.00000000  0.00000000  0.00000000                                                                                  
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                                                                                  
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                                                                                  
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                                                                                  
M  0.50000000  0.50000000  0.00000000  G  0.00000000  0.00000000  0.00000000
end kpoint_path                                                                                                                                              
end kpoint_path
                                                                                                                                                             
 
num_wann =    3                                                                                                                                              
num_wann =    3
                                                                                                                                                             
 
num_bands=    3                                                                                                                                              
num_bands=    3
                                                                                                                                                             
 
exclude_bands : 1-20, 24-96                                                                                                                                  
exclude_bands : 1-20, 24-96
                                                                                                                                                             
 
begin projections                                                                                                                                            
begin projections
V:dxy;dxz;dyz                                                                                                                                                
V:dxy;dxz;dyz
end projections
end projections
</pre>
</pre>

Revision as of 13:33, 3 July 2018

Task

Calculation of 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.

N.B.: This example involves quite a number of individual calculations. The easiest way to run this example is to execute:

./doall.sh

And compare the output of the different steps (DFT, GW, HSE) by:

./plotall.sh

In any case, one can consider the doall.sh script to be an overview of the steps described below.

The DFT groundstate calculation and bandstructure with wannier90

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

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 = 2
LORBIT = 11
LWANNIER90_RUN = .TRUE.                #execute wannier90 in library mode

Copy the aforementioned file to INCAR:

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

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.

SrVO3
3.84652  #cubic fit for 6x6x6 k-points
 +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
  • wannier90.win (see wannier90.win.dft)

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:

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


# DFT energy window 
dis_win_min = 6.4
dis_win_max = 9.0

begin projections
V:dxy;dxz;dyz
end projections

Copy the above to wannier90.win:

cp wannier90.win.dft wannier90.win

and run vasp.

If all went well, the Vanadium t2g band dispersion thus obtained, may conveniently be visualized with gnuplot:

gnuplot -persist ./wannier90_band.gnu
N.B.: Most modern versions of gnuplot will respond with an error message unless you remove the first line of wannier90_band.gnu (some deprecated syntax issue).

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

Analysis of the DOS

In the above we have set:

LORBIT = 11

Therefore, in addition to the total density-of-states (DOS), the DOSCAR file contains blocks of information with the site-projected lm-decomposed DOS as well. 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.

Obtain DFT virtual orbitals

System  = SrVO3
#ISMEAR = -5                           # does not work for LOPTICS=.TRUE.
ISMEAR = 1 ; SIGMA = 0.2
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 = 2

Copy the aforementioned file to INCAR:

cp INCAR.DIAG 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 dielectric function

The frequency dependent dielectric function in the independent-particle (IP) picture is written to the OUTCAR and vasprun.xml files. In the OUTCAR you should search for

 frequency dependent IMAGINARY DIELECTRIC FUNCTION (independent particle, no local field effects)

and

 frequency dependent      REAL DIELECTRIC FUNCTION (independent particle, no local field effects)

To visualize the real and imaginary parts of the frequency dependent dielectric function (from the vasprun.xml you may execute

./plotoptics2

The GW calculation

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 Pointe
    
KPAR = 2

Copy the aforementioned file to INCAR:

cp INCAR.GW0 INCAR

and restart VASP.

Analysis of the DOS and bandstructure with wannier90

System  = SrVO3
    
ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states
ALGO = None ; NELM = 1                 # exact diagonalization one step suffices
NBANDS = 96                            # need for a lot of bands in GW
LORBIT = 11
LWANNIER90_RUN = .TRUE.

Again, copy the aforementioned file to INCAR:

cp INCAR.GW0 INCAR

And use the following input for wannier90:

  • wannier90.win (see 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

and restart VASP.

If all went well, the Vanadium t2g band dispersion thus obtained, may conveniently be visualized with gnuplot:

gnuplot -persist ./wannier90_band.gnu
N.B.: Most modern versions of gnuplot will respond with an error message unless you remove the first line of wannier90_band.gnu (some deprecated syntax issue).

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.

The dielectric function

To extract the frequency dependent dielectric constant, both in the independent-particle picture as well as including local field effects (either in DFT or in the RPA) and plot the real and imaginary components using gnuplot, execute

./plotchi

A comparison to the HSE hybrid functional

To illustrate the kind of results one would obtain for SrVO3 using the DFT/Hartree-Fock hybrid functional HSE, without actually doing a full selfconsistent calculation, we will recalculate the one-electron energies and DOS (ALGO=Eigenval) using the HSE functional with DFT orbitals as input:

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 = 2
LHFCALC = .TRUE.  ; HFSCREEN = 0.2  ; NBANDS = 48
PRECFOCK = Fast   ; NELM = 1
ALGO = Eigenval
    
LWAVE = .FALSE.                        # do not write the wave functions
    
LORBIT = 11  
    
LWANNIER90_RUN = .TRUE.


Copy the aforementioned file to INCAR:

cp INCAR.HSE INCAR

Use the following WANNIER90 input:

  • wannier90.win (see 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

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

cp WAVECAR.DFT.96bands WAVECAR

and run vasp.

If all went well, the Vanadium t2g band dispersion thus obtained, may conveniently be visualized with gnuplot:

gnuplot -persist ./wannier90_band.gnu
N.B.: Most modern versions of gnuplot will respond with an error message unless you remove the first line of wannier90_band.gnu (some deprecated syntax issue).

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

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.

Download

SrVO3_GW_band.tgz

Back to the main page.