||
GW计算来自VASP官网的算例分析
http://cms.mpi.univie.ac.at/wiki/index.php/VASP_example_calculations#GW
bandstructure of Si in GW (VASP2WANNIER90)
Bandgap of Si in GW
Description: calculation of the bandgap of Si using various flavours of GW.
Mind: before you start doing GW calculations it might be beneficial to have a look at the examples on the description of dielectric properties.
To do GW calculations we have to follow a 3-step procedure.
Contents[hide] |
Everything starts with a standard DFT ground state calculation (in this case PBE).
INCAR
ISMEAR = 0
SIGMA = 0.05
GGA = PE
KPOINTS
6x6x6
0
G
6 6 6
0 0 0
or to save some time use a "quick-and-dirty" setup
4x4x4
0
G
4 4 4
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
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.
INCAR
ALGO = Exact
NBANDS = 64
LOPTICS = .TRUE. # If LOPTICS=.TRUE., VASP calculates the frequency dependent dielectric matrix after the electronic ground state has been determined
NEDOS = 2000
## you might try
#LPEAD = .TRUE.
#When LPEAD=.TRUE., VASP will compute using the aforementioned finite difference scheme. The order of the finite difference approximation can be specified by setting the IPEAD-tag. These tags may be used in combination with LOPTICS=.TRUE.
ISMEAR = 0
SIGMA = 0.05
GGA = PE
Mind: make a copy of your WAVECAR and WAVEDER files, as we will repeatedly need them in the following. For instance
cp WAVECAR WAVECAR.LOPTICS
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
At the bottom of the OUTCAR file you will find the quasi-particle (QP) energies.
QP shifts <psi_nk| G(iteration)W_0 |psi_nk>: iteration 1
for sc-GW calculations column KS-energies equals QP-energies in previous step
and V_xc(KS)= KS-energies - (<T + V_ion + V_H > + <T+V_H+V_ion>^1 + <V_x>^1)
k-point 1 : 0.0000 0.0000 0.0000
band No. KS-energies QP-energies sigma(KS) V_xc(KS) V^pw_x(r,r') Z occupation
1 -6.4888 -6.8243 -10.9766 -10.4570 -17.5189 0.6458 2.0000
2 5.4800 5.1162 -11.8859 -11.4060 -12.7290 0.7580 2.0000
3 5.4800 5.1162 -11.8859 -11.4060 -12.7290 0.7580 2.0000
4 5.4800 5.1162 -11.8859 -11.4060 -12.7290 0.7580 2.0000 【最低占据?】
5 8.0443 8.3296 -9.7235 -10.1038 -5.7364 0.7502 0.0000 【最高未占据?】
.........
8 8.8407 9.2475 -10.5130 -11.0594 -6.0662 0.7445 0.0000
k-point 2 : 0.1667 0.0000 0.0000
band No. KS-energies QP-energies sigma(KS) V_xc(KS) V^pw_x(r,r') Z occupation
1 -6.1276 -6.4734 -11.0208 -10.4905 -17.3978 0.6521 2.0000
2 3.0946 2.6991 -11.4452 -10.9063 -13.1354 0.7340 2.0000
3 5.0279 4.6595 -11.7159 -11.2282 -12.6625 0.7552 2.0000
.......
8 10.9341 11.2678 -10.4716 -10.9278 -5.5632 0.7316 0.0000
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. ..
k-point 16 : -0.3333 0.5000 0.1667
band No. KS-energies QP-energies sigma(KS) V_xc(KS) V^pw_x(r,r') Z occupation
1 -2.2240 -2.5911 -11.4857 -10.9550 -16.0663 0.6917 2.0000
2 -2.2240 -2.5911 -11.4857 -10.9550 -16.0663 0.6917 2.0000
......
8 12.2605 12.5170 -9.7969 -10.1486 -4.3607 0.7294 0.0000
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}'
3.1 Beyond the random-phase-approximation
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 INCAR file:
LRPA = .FALSE.
and again restart from the WAVECAR and WAVEDER files from step 2.
3.2 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 so called GW0 approximation.
To have VASP do, for instance, 4 iterations of the QP-energies in G, add the following line to the INCAR file:
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, for the 6×6×6 k-points set, 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}'
Mind: In case you went for the "quick-and-dirty" 4×4×4 set of k-points replace the tail -16 in the above by tail -8.
To the list of examples or to the main page
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-24 00:06
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社