Bandgap of Si in GW: Difference between revisions
Vaspmaster (talk | contribs) |
Vaspmaster (talk | contribs) No edit summary |
||
Line 82: | Line 82: | ||
grep " 5 " OUTCAR | sort -n -k 3 | head -1 | awk '{print $3}' | grep " 5 " OUTCAR | sort -n -k 3 | head -1 | awk '{print $3}' | ||
=== Beyond the random-phase-approximation === | |||
=== Beyond G<sub>0</sub>W<sub>0</sub>: GW<sub>0</sub> === | === Beyond G<sub>0</sub>W<sub>0</sub>: GW<sub>0</sub> === |
Revision as of 16:28, 7 June 2012
Description: calculation of the bandgap of Si using various flavours of GW.
To do GW calculations we have to follow a 3-step procedure.
Step 1: a DFT groundstate calculation
Everything starts with a standard DFT groundstate calculation (in this case PBE).
- INCAR
ISMEAR = 0 SIGMA = 0.05 GGA = PE
- KPOINTS
6x6x6 0 G 6 6 6 0 0 0
- POSCAR
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 WAVEDAR file we additionally specify LOPTICS=.TRUE.
- INCAR
ALGO = Exact NBANDS = 64 LOPTICS = .TRUE. NEDOS = 2000 ## you might try #LPEAD = .TRUE. ISMEAR = 0 SIGMA = 0.05 GGA = PE
Step 3: the actual GW calculation
Restart from the WAVECAR and WAVEDER files of the previous calculation, with
- INCAR
## 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
To quickly find the QP-energy of the highest lying occupied state, try
grep " 4 " OUTCAR | sort -n -k 3 | tail -1 | awk '{print $3}'
and for the lowest lying unoccupied state,
grep " 5 " OUTCAR | sort -n -k 3 | head -1 | awk '{print $3}'
Beyond the random-phase-approximation
Beyond G0W0: GW0
The most usual step beyond single-shot GW (G0W0) is to iterate the quasi-particle energies in the Greens functions. This is the socalled GW0 approximation. To have VASP do, for instance, 4 iterations of the QP-energies in G, add the following line to the INCAR file above:
NELM = 4
and again restart from the WAVECAR and WAVEDER files from step 2.
To quickly find the QP-energy of the highest lying occupied state after 4 iterations of the QP energies in G, try
grep " 4 " OUTCAR | tail -16 | sort -n -k 3 | tail -1 | awk '{print $3}'
and for the corresponding lowest lying unoccupied state,
grep " 5 " OUTCAR | tail -16 | sort -n -k 3 | head -1 | awk '{print $3}'
Download
To the list of examples or to the main page