xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

GW计算带隙-来自VASP官网的算例分析

已有 23823 次阅读 2014-6-11 10:13 |个人分类:电子结构计算|系统分类:科研笔记

关注:
1) GW计算一般步骤
2) 每一步对应的物理过程
 
题记:  物理过程重要,实现/重现物理过程的计算手段同样重要;数值模拟的能力建设,一定程度上也体现在你掌握了多少计算方法与技巧。 在计算过程中经常遇到各种问题(GW计算、磁性计算等),但往往求助无门,这确实是一种悲哀。通过博客记录的正是这种艰辛的原初探索过程。
     认识总是循序渐进的,原始记录更能反映这一点。因此,博文内容只是用来日后备查,并“聊以纪念”。如能起到抛砖引玉,加快认识过程,使之逐渐逼近“真理”,则“辛甚至哉”。
 
GW计算的一般流程为三步:
1)计算基态电子密度
2)计算screening矩阵
3)计算GW修正
可参考abinit的指南,官方网站有较详细的解释。

GW计算来自VASP官网的算例分析

http://cms.mpi.univie.ac.at/wiki/index.php/VASP_example_calculations#GW 

 

bandgap of Si in GW

bandstructure of Si in GW (VASP2WANNIER90)

bandstructure of SrVO3 in GW

 

Bandgap of Si in GW

From Vaspwiki
 

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.

 Step 1: a DFT groundstate calculation

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

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. 

  • 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 $ .vert{.bf.nabla_{k}} u_{n{.bf k}} .rangle$ 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

cp WAVEDER WAVEDER.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.

Download

Si_bandgap_GW.tgz

To the list of examples or to the main page

 



https://blog.sciencenet.cn/blog-567091-802403.html

上一篇:GW计算能带实例解读-VASP手册
下一篇:VASP不同情形下的安装编译:自旋轨道耦合计算及wannier函数调用
收藏 IP: 61.157.130.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (5 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-24 00:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部