Bandstructure of Si in GW (VASP2WANNIER90): Difference between revisions

From VASP Wiki
(Created page with 'Description: calculation of the bandstructure of Si in GW using the VASP2WANNIER90 interface. '''Mind''': The procedure to compute bandstructure in GW using V2W is almost identi…')
 
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Description: calculation of the bandstructure of Si in GW using the VASP2WANNIER90 interface.
{{Template:GW - Tutorial}}


== Task ==
Calculation of the bandstructure of Si in GW using the VASP2WANNIER90 interface.
----
'''Mind''': The procedure to compute bandstructure in GW using V2W is almost identical to the corresponding HSE one  
'''Mind''': The procedure to compute bandstructure in GW using V2W is almost identical to the corresponding HSE one  
described in [[VASP_example_calculations#Si_bandstructure|Si bandstructure]].
described in [[Si_bandstructure|Si bandstructure]].


'''Mind''': The standard procedure for GW calculations is described in
[[Bandgap of Si in GW|Bandgap of Si in GW]].
----
----
To do GW calculations we have to follow a 3-step procedure.


== Step 1: a DFT groundstate calculation ==
== Step 1: a DFT groundstate calculation ==
Everything starts with a standard DFT groundstate calculation (in this case PBE).
Everything starts with a standard DFT groundstate calculation (in this case PBE).


*INCAR
*{{TAG|INCAR}}
<pre>
 
ISMEAR =  0
{{TAGBL|ISMEAR}} =  0
SIGMA  =  0.05
{{TAGBL|SIGMA}} =  0.05
GGA    = PE
{{TAGBL|GGA}}   = PE
</pre>
 


*KPOINTS
*{{TAG|KPOINTS}}
<pre>
<pre>
6x6x6
4x4x4
  0
  0
G
G
  6 6 6
  4 4 4
  0 0 0
  0 0 0
</pre>
</pre>


*POSCAR
*{{TAG|POSCAR}}
<pre>
<pre>
system Si
system Si
Line 45: Line 51:
To obtain the corresponding {{FILE|WAVEDER}} file we additionally specify {{TAG|LOPTICS}}=.TRUE.
To obtain the corresponding {{FILE|WAVEDER}} file we additionally specify {{TAG|LOPTICS}}=.TRUE.


*INCAR
*{{TAG|INCAR}}
 
{{TAGBL|ALGO}} = Exact
{{TAGBL|NBANDS}}  = 64
{{TAGBL|LOPTICS}} = .TRUE.
{{TAGBL|NEDOS}} = 2000
   
{{TAGBL|ISMEAR}} =  0
{{TAGBL|SIGMA}}  =  0.05
{{TAGBL|GGA}}    = PE
 
== Step 3: GW calculation including LWANNIER90 TAG==
Restart from the {{FILE|WAVECAR}} and {{FILE|WAVEDER}} files of the previous calculation, with
 
*{{TAG|INCAR}}
 
## Frequency dependent dielectric tensor including
## local field effects within the RPA (default) or
## including changes in the DFT xc-potential ({{TAGBL|LRPA}}=.FALSE.).
## N.B.: beware one first has to have done a
## calculation with {{TAGBL|ALGO}}=Exact and {{TAGBL|LOPTICS}}=.TRUE.
## and a reasonable number of virtual states (see above)
{{TAGBL|ALGO}} = GW0 ; {{TAGBL|LSPECTRAL}} = .TRUE. ; {{TAGBL|NOMEGA}} = 50
#{{TAGBL|LRPA}} = .FALSE.
## be sure to take the same number of bands as for
## the {{TAGBL|LOPTICS}}=.TRUE. calculation, otherwise the
## {{TAGBL|WAVEDER}} file is not read correctly
{{TAGBL|NBANDS}} = 64
##VASP2WANNIER90
{{TAGBL|LWANNIER90}}=.TRUE.
 
Use the wannier90.win file given below which contains all instructions needed to generate the
necessary input files for the WANNIER90 runs (wannier90.amn, wannier90.mmn, wannier90.eig).
 
*wannier90.win
<pre>
<pre>
ALGO = Exact
num_wann=8
NBANDS  = 64
num_bands=8
LOPTICS = .TRUE.
 
NEDOS = 2000
exclude_bands = 9-64
## you might try
 
#LPEAD = .TRUE.
Begin Projections
Si:sp3
End Projections
 
dis_froz_max=9
dis_num_iter=1000
 
guiding_centres=true
 
# Bandstructure plot
#restart        =  plot
#bands_plot      = true
#begin kpoint_path
#L 0.50000  0.50000 0.5000 G 0.00000  0.00000 0.0000
#G 0.00000  0.00000 0.0000 X 0.50000  0.00000 0.5000
#X 0.50000  0.00000 0.5000 K 0.37500 -0.37500 0.0000
#K 0.37500 -0.37500 0.0000 G 0.00000  0.00000 0.0000
#end kpoint_path
#bands_num_points 40
#bands_plot_format gnuplot xmgrace
 
begin unit_cell_cart
    2.7150000    2.7150000    0.0000000
    0.0000000    2.7150000    2.7150000
    2.7150000    0.0000000    2.7150000
end unit_cell_cart
 
begin atoms_cart
Si      0.0000000    0.0000000    0.0000000
Si      1.3575000    1.3575000    1.3575000
end atoms_cart
 
mp_grid =    4    4    4


ISMEAR =  0
begin kpoints
SIGMA  =  0.05
    0.0000000    0.0000000    0.0000000
GGA   = PE
    0.2500000    0.0000000    0.0000000
    0.5000000    0.0000000    0.0000000
    0.2500000    0.2500000    0.0000000
    0.5000000    0.2500000    0.0000000
    -0.2500000    0.2500000    0.0000000
    0.5000000    0.5000000    0.0000000
    -0.2500000    0.5000000    0.2500000
    0.0000000    0.2500000    0.0000000
    0.0000000    0.0000000    0.2500000
    -0.2500000    -0.2500000    -0.2500000
    -0.2500000    0.0000000    0.0000000
    0.0000000    -0.2500000    0.0000000
    0.0000000    0.0000000    -0.2500000
    0.2500000    0.2500000    0.2500000
    0.0000000    0.5000000    0.0000000
    0.0000000    0.0000000    0.5000000
    -0.5000000    -0.5000000    -0.5000000
    0.0000000    0.2500000    0.2500000
    0.2500000    0.0000000    0.2500000
    -0.2500000    -0.2500000    0.0000000
    -0.2500000    0.0000000    -0.2500000
    0.0000000    -0.2500000    -0.2500000
    0.0000000    0.5000000    0.2500000
    0.2500000    0.0000000    0.5000000
    -0.2500000    -0.2500000    0.2500000
    -0.5000000    -0.2500000    -0.5000000
    0.2500000    0.5000000    0.0000000
    0.2500000    -0.2500000    -0.2500000
    -0.5000000    -0.5000000    -0.2500000
    0.0000000    0.2500000    0.5000000
    -0.2500000    0.2500000    -0.2500000
    -0.2500000    -0.5000000    -0.5000000
    0.5000000    0.0000000    0.2500000
    -0.5000000    -0.2500000    0.0000000
    0.0000000    -0.5000000    -0.2500000
    -0.2500000    0.0000000    -0.5000000
    0.2500000    0.2500000    -0.2500000
    0.5000000    0.2500000    0.5000000
    -0.2500000   -0.5000000    0.0000000
    -0.2500000    0.2500000    0.2500000
    0.5000000    0.5000000    0.2500000
    0.0000000    -0.2500000    -0.5000000
    0.2500000    -0.2500000    0.2500000
    0.2500000    0.5000000    0.5000000
    -0.5000000    0.0000000    -0.2500000
    0.0000000    -0.2500000    0.2500000
    0.2500000    0.0000000    -0.2500000
    -0.2500000    -0.2500000    -0.5000000
    0.2500000    0.5000000    0.2500000
    0.2500000    -0.2500000    0.0000000
    -0.5000000    -0.2500000    -0.2500000
    0.2500000    0.2500000    0.5000000
    0.0000000    0.2500000    -0.2500000
    -0.2500000    -0.5000000    -0.2500000
    0.5000000    0.2500000    0.2500000
    -0.2500000    0.0000000    0.2500000
    0.0000000    0.5000000    0.5000000
    0.5000000    0.0000000    0.5000000
    0.2500000    -0.2500000    0.5000000
    0.5000000    0.2500000    -0.2500000
    -0.5000000    -0.2500000    -0.7500000
    0.2500000    -0.5000000    -0.2500000
    -0.2500000    0.2500000    -0.5000000
end kpoints
</pre>
</pre>


'''Mind''': make a copy of your {{FILE|WAVECAR}} and {{FILE|WAVEDER}} files, as we will repeatedly need them in the following.
== Step 4: WANNIER90==
For instance
 
=== Compute Wannier functions ===
 
run wannier90:
 
wannier90.x wannier90
 
This run generates the wannier90 standard output (wannier90.wout)
and the file wannier90.chk needed for the wannier interpolation (next step)
=== Obtain bandstructure (Wannier interpolation) ===
 
Uncomment the bandstructure plot flags in wannier90.win and rerun (restart) wannier90:


cp WAVECAR WAVECAR.LOPTICS
wannier90.x wannier90
cp WAVEDER WAVEDER.LOPTICS


== Step 3: the actual GW calculation ==
This run generates the following bandstructure files which can be visualized using xmgrace or gnuplot:
Restart from the {{FILE|WAVECAR}} and {{FILE|WAVEDER}} files of the previous calculation, with


*INCAR
wannier90_band.agr
<pre>
## Frequency dependent dielectric tensor including
## local field effects within the RPA (default) or
## including changes in the DFT xc-potential (LRPA=.FALSE.).
## N.B.: beware one first has to have done a
## calculation with ALGO=Exact and LOPTICS=.TRUE.
## and a reasonable number of virtual states (see above)
ALGO = GW0 ; LSPECTRAL = .TRUE. ; NOMEGA = 50
#LRPA = .FALSE.
## be sure to take the same number of bands as for
## the LOPTICS=.TRUE. calculation, otherwise the
## WAVEDER file is not read correctly
NBANDS = 64
</pre>


=== Beyond the random-phase-approximation ===
wannier90_band.dat
To include local field effects beyond the random-phase-approximation in the description of the frequency dependent dielectric response function (local field effects in DFT) add the following line to your {{FILE|INCAR}} file:


LRPA = .FALSE.
wannier90_band.gnu


and again restart from the {{FILE|WAVECAR}} and {{FILE|WAVEDER}} files from step 2.
to plot the band structure using gnuplot:
<code>gnuplot -persist wannier90_band.gnu</code>


== Download ==
== Download ==
[http://www.vasp.at/vasp-workshop/examples/Si_bandstructure_GW.tgz Si_bandstructure_GW.tgz]
[[Media:Si bandstructure GW.tgz| Si_bandstructure_GW.tgz]]
 
{{Template:GW - Tutorial}}


----
Back to the [[The_VASP_Manual|main page]].
[[VASP_example_calculations|To the list of examples]] or to the [[The_VASP_Manual|main page]]


[[Category:Examples]]
[[Category:Examples]]

Latest revision as of 12:41, 3 June 2024

Task

Calculation of the bandstructure of Si in GW using the VASP2WANNIER90 interface.


Mind: The procedure to compute bandstructure in GW using V2W is almost identical to the corresponding HSE one described in Si bandstructure.

Mind: The standard procedure for GW calculations is described in Bandgap of Si in GW.


Step 1: a DFT groundstate calculation

Everything starts with a standard DFT groundstate calculation (in this case PBE).

ISMEAR =  0
SIGMA  =  0.05
GGA    = PE


4x4x4
 0
G
 4 4 4
 0 0 0
system Si
5.430
0.5 0.5 0.0
0.0 0.5 0.5
0.5 0.0 0.5
2
cart
0.00 0.00 0.00
0.25 0.25 0.25

Step 2: obtain DFT virtual orbitals

To obtain a WAVECAR file with a reasonable number of virtual orbitals (50-100 per atom) we need to restart from the previous groundstate calculation with ALGO=Exact, and manually set the number of bands by means of the NBANDS-tag. To obtain the corresponding WAVEDER file we additionally specify LOPTICS=.TRUE.

ALGO = Exact
NBANDS  = 64
LOPTICS = .TRUE.
NEDOS = 2000
    
ISMEAR =  0
SIGMA  =  0.05
GGA    = PE

Step 3: GW calculation including LWANNIER90 TAG

Restart from the WAVECAR and WAVEDER files of the previous calculation, with

## Frequency dependent dielectric tensor including
## local field effects within the RPA (default) or
## including changes in the DFT xc-potential (LRPA=.FALSE.).
## N.B.: beware one first has to have done a
## calculation with ALGO=Exact and LOPTICS=.TRUE.
## and a reasonable number of virtual states (see above)
ALGO = GW0 ; LSPECTRAL = .TRUE. ; NOMEGA = 50
#LRPA = .FALSE. 
## be sure to take the same number of bands as for
## the LOPTICS=.TRUE. calculation, otherwise the
## WAVEDER file is not read correctly
NBANDS = 64
##VASP2WANNIER90
LWANNIER90=.TRUE.

Use the wannier90.win file given below which contains all instructions needed to generate the necessary input files for the WANNIER90 runs (wannier90.amn, wannier90.mmn, wannier90.eig).

  • wannier90.win
num_wann=8
num_bands=8

exclude_bands = 9-64

Begin Projections
Si:sp3
End Projections

dis_froz_max=9
dis_num_iter=1000

guiding_centres=true

# Bandstructure plot 
#restart         =  plot
#bands_plot      =  true
#begin kpoint_path
#L 0.50000  0.50000 0.5000 G 0.00000  0.00000 0.0000
#G 0.00000  0.00000 0.0000 X 0.50000  0.00000 0.5000
#X 0.50000  0.00000 0.5000 K 0.37500 -0.37500 0.0000
#K 0.37500 -0.37500 0.0000 G 0.00000  0.00000 0.0000
#end kpoint_path
#bands_num_points 40
#bands_plot_format gnuplot xmgrace

begin unit_cell_cart
     2.7150000     2.7150000     0.0000000
     0.0000000     2.7150000     2.7150000
     2.7150000     0.0000000     2.7150000
end unit_cell_cart

begin atoms_cart
Si       0.0000000     0.0000000     0.0000000
Si       1.3575000     1.3575000     1.3575000
end atoms_cart

mp_grid =     4     4     4

begin kpoints
     0.0000000     0.0000000     0.0000000
     0.2500000     0.0000000     0.0000000
     0.5000000     0.0000000     0.0000000
     0.2500000     0.2500000     0.0000000
     0.5000000     0.2500000     0.0000000
    -0.2500000     0.2500000     0.0000000
     0.5000000     0.5000000     0.0000000
    -0.2500000     0.5000000     0.2500000
     0.0000000     0.2500000     0.0000000
     0.0000000     0.0000000     0.2500000
    -0.2500000    -0.2500000    -0.2500000
    -0.2500000     0.0000000     0.0000000
     0.0000000    -0.2500000     0.0000000
     0.0000000     0.0000000    -0.2500000
     0.2500000     0.2500000     0.2500000
     0.0000000     0.5000000     0.0000000
     0.0000000     0.0000000     0.5000000
    -0.5000000    -0.5000000    -0.5000000
     0.0000000     0.2500000     0.2500000
     0.2500000     0.0000000     0.2500000
    -0.2500000    -0.2500000     0.0000000
    -0.2500000     0.0000000    -0.2500000
     0.0000000    -0.2500000    -0.2500000
     0.0000000     0.5000000     0.2500000
     0.2500000     0.0000000     0.5000000
    -0.2500000    -0.2500000     0.2500000
    -0.5000000    -0.2500000    -0.5000000
     0.2500000     0.5000000     0.0000000
     0.2500000    -0.2500000    -0.2500000
    -0.5000000    -0.5000000    -0.2500000
     0.0000000     0.2500000     0.5000000
    -0.2500000     0.2500000    -0.2500000
    -0.2500000    -0.5000000    -0.5000000
     0.5000000     0.0000000     0.2500000
    -0.5000000    -0.2500000     0.0000000
     0.0000000    -0.5000000    -0.2500000
    -0.2500000     0.0000000    -0.5000000
     0.2500000     0.2500000    -0.2500000
     0.5000000     0.2500000     0.5000000
    -0.2500000    -0.5000000     0.0000000
    -0.2500000     0.2500000     0.2500000
     0.5000000     0.5000000     0.2500000
     0.0000000    -0.2500000    -0.5000000
     0.2500000    -0.2500000     0.2500000
     0.2500000     0.5000000     0.5000000
    -0.5000000     0.0000000    -0.2500000
     0.0000000    -0.2500000     0.2500000
     0.2500000     0.0000000    -0.2500000
    -0.2500000    -0.2500000    -0.5000000
     0.2500000     0.5000000     0.2500000
     0.2500000    -0.2500000     0.0000000
    -0.5000000    -0.2500000    -0.2500000
     0.2500000     0.2500000     0.5000000
     0.0000000     0.2500000    -0.2500000
    -0.2500000    -0.5000000    -0.2500000
     0.5000000     0.2500000     0.2500000
    -0.2500000     0.0000000     0.2500000
     0.0000000     0.5000000     0.5000000
     0.5000000     0.0000000     0.5000000
     0.2500000    -0.2500000     0.5000000
     0.5000000     0.2500000    -0.2500000
    -0.5000000    -0.2500000    -0.7500000
     0.2500000    -0.5000000    -0.2500000
    -0.2500000     0.2500000    -0.5000000
end kpoints

Step 4: WANNIER90

Compute Wannier functions

run wannier90:

wannier90.x wannier90

This run generates the wannier90 standard output (wannier90.wout) and the file wannier90.chk needed for the wannier interpolation (next step)

Obtain bandstructure (Wannier interpolation)

Uncomment the bandstructure plot flags in wannier90.win and rerun (restart) wannier90:

wannier90.x wannier90

This run generates the following bandstructure files which can be visualized using xmgrace or gnuplot:

wannier90_band.agr

wannier90_band.dat

wannier90_band.gnu

to plot the band structure using gnuplot: gnuplot -persist wannier90_band.gnu

Download

Si_bandstructure_GW.tgz

Back to the main page.