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

博文

介电常数的计算:from GW过程 or HSE 过程

已有 27198 次阅读 2014-6-18 17:54 |个人分类:电子结构计算|系统分类:科研笔记

关注:

1) GW计算过程中为什么需要先计算介电常数

2) 权威的官方实例文件解读

 

 

Dielectric properties of SiC

http://cms.mpi.univie.ac.at/wiki/index.php/Dielectric_properties_of_SiC

 

Description: the static and frequency dependent dielectric properties of SiC.

Contents[hide]
  Frequency dependent dielectric response

Frequency dependent dielectric functions may be computed at various levels of approximation:

  1. in the independent-particle approximation

  2. including local field effects in the random-phase-approximation

  3. including local field effects in DFT

Whatever we may choose to do afterwards in terms of dielectric response calculations, we have to start with a standard DFT (or hybrid functional) calculation

  • INCAR

ISMEAR = 0
SIGMA = 0.01
GGA = PE
  • KPOINTS

6x6x6
0
G
6 6 6
0 0 0

Mind: keep the WAVECAR file, you're going to need it in the following.

 

The independent-particle picture

To compute the frequency dependent dielectric function in the independent-particle (IP) picture we restart from the WAVECAR of the previous run, with the following INCAR

 

# Frequency dependent dielectric tensor without
# local field effects
ALGO = Exact
NBANDS  = 64
LOPTICS = .TRUE.
CSHIFT = 0.1    # this is the default

NEDOS = 2000

ISMEAR =  0
SIGMA  =  0.01
GGA    = PE

The frequency dependent dielectric functions is written to the OUTCAR file.

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 you may use p4vasp

p4v vasprun.xml

or run the following bash-script (plotoptics2)

awk

awk 'BEGIN{i=1} /imag/,
               //imag/
                {a[i]=$2 ; b[i]=$3 ; i=i+1} \
    END{for (j=12;j<i-3;j++) print a[j],b[j]}' vasprun.xml > imag.dat

awk 'BEGIN{i=1} /real/,\
               /\/real/ \
                {a[i]=$2 ; b[i]=$3 ; i=i+1} \
    END{for (j=12;j<i-3;j++) print a[j],b[j]}' vasprun.xml > real.dat

cat >plotfile<<!
# set term postscript enhanced eps colour lw 2 "Helvetica" 20
# set output "optics.eps"
plot [0:25] "imag.dat" using (\$1):(\$2) w lp, "real.dat" using (\$1):(\$2) w lp
!

gnuplot -persist plotfile

As an alternative to the perturbative expression (Eq. 31 of [1]), one may compute | .nabla_{.mathbf{k}} .tilde{u}_{n.mathbf{k}} .rangle from finite differences by specifying

LPEAD=.TRUE.

in the INCAR file. The derivative of the cell-periodic part of the wave function w.r.t. the Bloch vector is then computed by means of a fourth-order finite difference stencil, in the spirit of Eqs. 96 and 97 of [2].

Mind: keep the WAVECAR and WAVEDER files, you're going to need them in the following. You might also want to keep a copy of the vasprun.xml.

cp vasprun.xml vasprun_loptics.xml Including local field effects

To determine the frequency dependent dielectric function including local field effects one needs the WAVECAR and WAVEDER files from the previous calculation (ALGO=Exact and LOPTICS=.TRUE., and sufficient virtual orbitals), and

  • INCAR

 

# Frequency dependent dielectric tensor with and
# without local field effects in RPA and due to
# changes in the DFT xc-potential
# N.B.: beware one first has to have done a
# calculation with ALGO=Exact and LOPTICS=.TRUE.
ALGO = CHI ; LSPECTRAL = .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

ISMEAR =  0
SIGMA  =  0.01
GGA    = PE

   

Information concerning the dielectric function in the independent-particle picture is written after the line

HEAD OF MICROSCOPIC DIELECTRIC TENSOR (INDEPENDENT PARTICLE)

in the OUTCAR file.

Per default, for ALGO=CHI, local field effects are included at the level of the RPA (LRPA=.TRUE.), i.e., limited to Hartree contributions only.

See the information after

INVERSE MACROSCOPIC DIELECTRIC TENSOR (including local field effects in RPA (Hartree))

in the OUTCAR file.

To include local field effects beyond the RPA, i.e., contributions from DFT exchange and correlation, one has to specify

LRPA=.FALSE.

in the INCAR file.

In this case look at the output after

INVERSE MACROSCOPIC DIELECTRIC TENSOR (test charge-test charge, local field effects in DFT)

in the OUTCAR file.

The following bash-script (plotchi) uses awk 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 plots the real and imaginary components using gnuplot.

awk 'BEGIN{i=1} /HEAD OF MICRO/,
               /XI_LOCAL/
                {if ($4=="dielectric") {a[i]=$1 ; b[i]=$2 ; c[i]=$3 ; i=i+1}} \
    END{for (j=1;j<i;j++) print a[j],b[j],c[j]}' OUTCAR > chi0.dat

awk 'BEGIN{i=1} /INVERSE MACRO/,\
               /XI_TO_W/ \
                {if ($4=="dielectric") {a[i]=$1 ; b[i]=$2 ; c[i]=$3 ; i=i+1}} \
    END{for (j=1;j<i;j++) print a[j],b[j],c[j]}' OUTCAR > chi.dat

cat >plotfile<<!
# set term postscript enhanced eps colour lw 2 "Helvetica" 20
# set output "optics.eps"

plot "chi0.dat" using (\$1):(\$2)  w lp lt -1 lw 2 pt 4 title "chi0 real", \
    "chi0.dat" using (\$1):(-\$3) w lp lt  0 lw 2 pt 4 title "chi0 imag", \
    "chi.dat"  using (\$1):(\$2)  w lp lt  1 lw 2 pt 2 title "chi  real", \
    "chi.dat"  using (\$1):(-\$3) w lp lt  0 lw 2 pt 2 lc 1 title "chi  imag"
!

gnuplot -persist plotfile

   

If you have kept a copy of the vasprun.xml of the LOPTICS=.TRUE. run (e.g., vasprun_loptics.xml(程序略)), you might execute plotall to compare the dielectric functions computed with LOPTICS=.TRUE. and ALGO=CHI.

 

Why are the dielectric functions in independent-particle picture from the LOPTICS=.TRUE. and the ALGO=CHI calculations different? What CSHIFT is used in the latter? Try redoing the LOPTICS=.TRUE. calculation with the same CSHIFT as VASP chose for the ALGO=CHI calculation:

CSHIFT=0.464

and compare the dielectric functions again.

 

Download

SiC_dielectric.tgz

 

 

 

 

Using the GW routines for the determination of frequency dependent dielectric matrix

 

http://cms.mpi.univie.ac.at/vasp/vasp/Using_GW_routines_determination_frequency_dependent_dielectric_matrix.html

 

 

The GW routine also determines the frequency dependent dielectric matrix without local field effects and with local field effects in the random phase approximation (RPA, LRPA=.TRUE.),  or the DFT approximation (LRPA=.FALSE, see Sec. 6.72.5).

   The calculated microscopic frequency dependent dielectric function,  must match exactly those determined using the  optical  routine (LOPTICS=.TRUE. see Sec. 6.72.1), and, in the static limit,  the density functional perturbation routines (LEPSILON=.TRUE. see Sec. 6.72.4).

 

In fact, it is guaranteed that the results are identical to those determined using a summation over conduction band states (Sec. 6.72.1).

 

 

Differences for LSPECTRAL=.FALSE. must be negligible, and can be solely related to a different complex shift  CSHIFT (defaults for CSHIFT are different in both routines).

Setting  CSHIFT manually in the INCAR file will remedy this issue.

If differences prevail, it might be required to increase NEDOS (in this case the LOPTICS routine was suffering from an  inaccurate frequency sampling, and the GW routine was most likely performing perfectly well).

For LSPECTRAL=.TRUE. differences  can arise, because

(i) the GW routine uses less frequency points and different frequency grids than the optics routine or again

(ii) from a different complex shift.

Increasing NOMEGA should remove all discrepancies. Finally, the GW routine is the only routine capable to include local field effects for the frequency dependent dielectric function.

The imaginary and real part of frequency dependent dielectric function is always determined by the GW routine. It can be conveniently grepped from the file using the command (note two blanks between the two words) grep " dielectric  constant" OUTCAR

The first value is the frequency (in eV) and the other two are the real and imaginary part of the trace of the dielectric matrix.

Note that two sets can be found on the OUTCAR file.

 

The first one corresponds to the head of the microscopic dielectric matrix (and therefore does not include local field effects), whereas the second one is the inverse of the dielectric matrix with local field effects included in the random phase approximation or density functional approximation (depending on LRPA).

If full GW calculations are not required, it is possible to greatly accelerate the calculations, by calculating the response functions only at the $ .Gamma $-point. This can be achieved by setting (see Sec. 6.73.9):   NKREDX = number of k-points in direction of first lattice vector  NKREDY = number of k-points in direction of second lattice vector  NKREDZ = number of k-points in direction of third lattice vectorThe calculation of the QP shifts can be bypassed by setting ALGO=CHI (see Sec. 6.73.1). Furthermore, if only the static response function is  required the number of frequency points should be set to NOMEGA=1 and LSPECTRAL=.FALSE.

 

 

网络摘录:

 

二、VASP5.2计算半导体Si光学性质的总结

http://emuch.net/bbs/viewthread.php?tid=3753879

 

 

前一段时间计算了Si的光学性质,现在整理下帖出来,希望对光学方面的虫友有帮助,当然有不当的地方请大家指教。由于DFT方法计算出的半导体带隙不太准确,所以这里在用HSE杂化计算能带后直接计算光学性质
就顺水提出的问题,做下面说明,标志红色
1.建模结构优化这里就不说了
2..优化后DFT计算(HSE杂化需要DFT的支持)这里需要说明的是后面计算要用到这步的波函数
INCAR:
System = diamond Si
ENCUT = 400
ISTART = 0
ICHARG = 2
ISMEAR = 0
SIGMA = 0.1
PREC = Accurate
EDIFF = 1.0E-05
EDIFFG = -0.001
NSW = 0
IBRION = -1
ISIF = 2
GGA = PS(此处如果用GGA = PS请在POTCAR中修改LEXCH  = PS)
KPOINTS:
Automatic mesh
0
M
7   7   7
0   0   0

POSCAR:
Si-Diamond:                            
   5.43800000000000    
     0.0000000000000000    0.5000000000000000    0.5000000000000000
     0.5000000000000000    0.0000000000000000    0.5000000000000000
     0.5000000000000000    0.5000000000000000    0.0000000000000000
   Si
   2
Selective dynamics
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000   T   T   T
  0.2500000000000000  0.2500000000000000  0.2500000000000000   T   T   T

  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
运行vasp


3.HSE06计算(此步在DFT基础上)这步用到上步的波函数

INCAR:
SYSTEM = Si-Diamond
ISTART = 1
ICHARG = 2
EDIFF = 0.00001
EDIFFG = -0.001
GGA = PS
ISMEAR = 0
SIGMA = 0.1
ENCUT = 400
ENAUG = 800
LREAL = .FALSE.
LWAVE = .TRUE.
LCHARG = .TRUE.
NELM = 200
NSW = 0
IBRION = -1
LMAXMIX = 4
NSIM = 4
ISYM = 0
LHFCALC = .TRUE.
HFSCREEN = 0.2
ALGO = Damped
TIME = 0.4
ENCUTFOCK = 0
AEXX = 0.25

NBANDS = 24(此处为DFT计算是的2—3倍)根据说明要有足够的空带
其他文件从DFT文件夹拷贝过来,运行vasp计算

4.optic计算(这步用到上面的波函数)
INCAR:
SYSTEM = Si-Diamond
ISTART = 1
ICHARG = 2
EDIFF = 0.00001
EDIFFG = -0.01
GGA = PS
ENCUT = 400
ENAUG = 800
NELM = 200
NSW = 0
IBRION = 1
 LMAXMIX = 4
ISMEAR = -5
NSIM = 4
ISYM = 0
LHFCALC = .TRUE.
HFSCREEN = 0.2
ALGO = N
TIME = 0.4
ENCUTFOCK = 0
AEXX = 0.25
NELMIN = 5
LOPTICS = TRUE
CSHIFT = 0.1

NBANDS = 24
NPAR = 1
NEDOS = 2000
LRPA = .FALSE.              
LREAL = .FALSE.
LWAVE = .FALSE.  
LCHARG = .FALSE.

KPOINTS:(此处为HSE计算时的2-3倍,关于这一点加密K点是为保证介电谱收敛)
Automatic mesh
0
M
9   9   9
0   0   0

其他全部文件从HSE06计算文件夹中拷贝
主要此处NPAR = 1,vasp运行时不可并行运行这里要说的是NPAR = 1按能带依次处理。如果此处还用并行那么vasp会要求你设置NPAR = number ,与NPAR = 1不合
运行vasp

5.结果(与实验值做比较)
介电函数实部:

介电函数虚部:

介电函数:

折射率:

还有差别,欢迎大家指正

 

三、VASP光学性质计算和杂化泛函计算

摘自:http://emuch.net/html/201112/3986091.html

 

首先给出官网的论坛
http://cms.mpi.univie.ac.at/vasp-forum/forum.php
1.计算光学性质(liliangfang) (由于本人非物理与材料出身,一些理论知识欠缺,有错误的地方还请大家批评指正)
可以计算光学性质的第一原理软件很多,比如CASTEP可以直接计算处理处一些光学性质,而vasp可以计算出的是介电函数矩阵,通过介电函数矩阵处理得到光学性质。
   

    关于介电函数 ,一般的固体物理里面都有定义,如固体物理导论的14.1.1,其第15章是介绍光学性质的。附件1里面附上两片介绍光学性质的文献。
   VASP4.6还没有光学模块,所以计算起来比较麻烦,后处理还需小程序。首选4.6需要用PGI(optics这个小程序是基于pgi的)编译,以为后面计算方便,然后还要编译optics这个小程序,是处理计算出来的文件OPTIC,这个文件时用来存放介电函数矩阵的,由于其不能直接打开处理,所以要借助optics。这

    个程序是Dr. Jürgen Furthmüller写的,可以在他的主页下载(这里找不到主页了,后面找到补上,程序见附件2),如果编译过程遇到问题,可以先在本论坛查找解决方法,也可以给Dr. Jürgen Furthmüller发信咨询(juergen.furthmueller@uni-jena.de)。
至于4.6计算光学性质的步骤,有虫友发过,见附件3V

 

VASP5.2已经有光学性质的模块了,计算后再OUTCAR的最近会得到介电函数矩阵,第一部分是介电函数的虚部,第二部分为介电函数实部。得到介电函数的虚部和实部之后,据可以依据公式的推导,得到如折射率与介电函数虚部,实部的关系:

其他一些关系性质与介电函数关系的公式在附件1里面有,如果需要详细推导过程,请查阅相关关系性质计算的文献。
下面以Si为例(个人经验,在这里是为引出更好的计算方法),简单说一下计算过程及参数设( http://emuch.net/bbs/viewthread.php?tid=2592318 )。

利用杂化泛函(在第2部分由WDD880227做介绍)。
http://emuch.net/bbs/viewthread.php?tid=3753879
计算光学性质的过程中,准确计算能带尤为重要,其直接影响光学性质的计算准确度,

附件4里面介绍DFT和HSE06计算出的能带及光学性质的比较。
关于计算结果的讨论,一般计算光学性质的文献都有,如附件5是讨论Si和Ge的。
以上是个人的计算的一下经验,贴出来和大家一起交流学习,有错误之处还请大家指教。另外个人有两个问题,这里提出来希望大家多多指教:
(1)        光学性质与能带的关系
(2)        光学性质与纳米晶粒尺寸的(定量)关系


2. 杂化泛函计算        (WDD880227)
这里给出论坛里已有的讨论
http://emuch.net/bbs/viewthread.php?tid=3387913&page=1
先给出两篇文献(见2楼)
(1)PHYSICAL REVIEW B 80, 115205 (2009)
(2) PHYSICAL REVIEW B 80, 155124 (2009)
(3) PHYSICAL REVIEW B 80, 205113 (2009)
VASP :HSE Calculation
杂化泛函: 考虑the non-local Fock exchange energy


第一步是结构优化, 就是每个原子能量最低.


第二步是静态自洽计算得到电子波函数,   这两部和LDA是一样的

 

 


第三步就是用上一步的电子波函数做混合泛函计算,

 

主要是第三步混合泛函第(这一步要把ISMEAR改成-5,ISMEAR改成-5电子占据数不会出现负值,对半导体不会出现能级展宽,师姐传授的经验)
第四步是计算能带。 杂化泛函的计算时候用的K点和第二步不一样 ,是用高对称点产生的K点(不用高对称K点也可以,但是计算得到的能带就是和gw一样,是布里渊区的K点 ) 首先把IBZKPT拷贝到KPOINTS里,然后加上高对称点的kpoints,但是高对称点后面要加一个权重因子0 (高对称点的权重因子为0的解释:高对称点就是单独一个点),cat IBZKPT kpoints > KPOINTS, 注意新得到的KPOINTS的K点总数的和是该KPOINTS第二行的数值 ,这样才能算能带,不过提取的时候用一个特殊的band——plot ,就是截取后面高对称点的值才能得到能带  
  KPOINTS一般用Monkhorst自动产生,尽量避开用G,六角的时候用G
最新的5.2.12 需要把ENCUTFOCK这个参数换成 PRECFOCK才能计算
杂化泛函是普通泛函所用时间的800-1000倍

.....

The flag ENCUTFOCK is no longer supported in vasp.5.2.4 and newer versions. Please use PRECFOCK instead,ENCUTFOCK=0对应于PRECFOCK=F, 个人经验ENCUTFOCK=0速度比PRECFOCK=F快将近3倍.
我最近主要是用杂化泛函做一步静态自洽计算,用的是普通的KPOINTS,没有用高对称的K点,杂化参数设置就同上面给出的一样。注意杂化泛函计算(不管是自洽计算还是结构优化)之前一定要有一步PBE的自洽计算

 

四、参数解释

中文翻译见

http://emuch.net/bbs/viewthread.php?tid=2592318

 

五、自己脚本

 

1. GW过程

####The following step is use to  ###
#####to get dos,band,dielectric function in  GGA and GW calculations separately and compare them#####


################## step 1: a DFT groundstate calculation , and get DOS and band  ###################

cat > INCAR << EOF

System  = SrVO3-dft

NBANDS = 36     # why 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 = 3
EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC  > STDOUT
 
cp OUTCAR OUTCAR-01
cp STDOUT STDOUT-01

 

################## step 1.1: DOS calculation  ###################

cat > INCAR << EOF

System  = SrVO3-DOS
#ISTART = 1; ICHARG = 11

NBANDS = 36                            # why 36?

ISMEAR = -5

EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

LORBIT = 11                            # for dos calculation?

#KPAR = 3
EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC  > STDOUT
 
cp OUTCAR OUTCAR-01
cp STDOUT STDOUT-01


# giving total.dat
./plotdos    

mv  total.dat  total-dos-dft1.dat

 


################## step  1.2: band calculation  ###################

cat > INCAR << EOF

System  = SrVO3-band
#ISTART = 1; ICHARG = 11

NBANDS = 36  # why 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 = 3
#LORBIT = 11     # for dos calculation?
LWANNIER90_RUN = .TRUE.   # for band calculation?

EOF

cat > wannier90.win << EOF

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-36

begin projections
V:dxy;dxz;dyz
end projections
#  other parameters such as cell and kpoints will be added during the calculation by vasp+wannier90
EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC  > STDOUT
 
cp OUTCAR OUTCAR-01
cp STDOUT STDOUT-01
mv  wannier90_band.dat  wannier90_band-dft1.dat

 

 

####################################### step 2: obtain DFT virtual orbitals and analysize dielectric function #####################


cat > INCAR << EOF
System  = SrVO3-get virtual orbitalss

ISMEAR = -5
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  ( how to determine the value of NBANDS?)
LOPTICS = .TRUE.                      # This is new  we need d phi/ d k  for GW calculations

#KPAR = 3


EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC > STDOUT

cp WAVECAR WAVECAR.LOPTICS
cp WAVEDER WAVEDER.LOPTICS
cp OUTCAR OUTCAR-02
cp STDOUT STDOUT-02


## 2-1: analysis dielectric function  ##
   
    ./plotoptics2
   
    cp  imag.dat  imag-dft2.dat
    cp  real.dat   real-dft2.dat
   


# #######################step 3:  GW0 + WANNIER90  #################################

cat > INCAR << EOF

System  = SrVO3-gw0

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 points
MAXMEM = 2500  
                       # memory per core
#NKRED = 2         # sample down the GW to a coarse 2x2x2 grid, for accuarate, comment out this iterm.

#KPAR = 3

EOF


cp  WAVECAR.LOPTICS WAVECAR
cp  WAVEDER.LOPTICS  WAVEDER

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC > STDOUT

cp OUTCAR OUTCAR-03
cp STDOUT STDOUTi-03

 


# #######################step 3.1:  Analysis of the DOS   #################################

cat > INCAR << EOF

System  = SrVO3-gw0-dos

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 = none                             #
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 points
MAXMEM = 2500
                        # memory per core
#NKRED = 2                              # sample down the GW to a coarse 2x2x2 grid

#KPAR = 3
LORBIT = 11                           # for DOS

EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC > STDOUT

cp OUTCAR OUTCAR-03
cp STDOUT STDOUTi-03


# giving total.dat

./plotdos  

mv  total.dat  total-dos-afterGW0.dat

 

##3.2: analysis of the dielectric function ##

 ./plotchi  

【plotchi分析什么文件,从什么文件当中提取数据,并绘图】
 
mv chi0.dat    chi0-real-aftergw.dat
mv chi.dat  chi-image-aftergw.dat
 
 
 
# #######################step 3.1:  Analysis of gw band, by using  LWANNIER90_RUN = .TRUE.  #################################

cat > INCAR << EOF

System  = SrVO3-gw0-band

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 = none                             #
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 points
MAXMEM = 2500      
                  # memory per core
#NKRED = 2                              # sample down the GW to a coarse 2x2x2 grid

#KPAR = 3
#LORBIT = 11

LWANNIER90_RUN = .TRUE.     # for band calculation

EOF

cat > wannier90.win << EOF

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


EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC  > STDOUT
 
cp OUTCAR OUTCAR-01
cp STDOUT STDOUT-01
cp  wannier90_band.dat  wannier90_band-gw.dat


 

 

 

2. HSE过程【似乎不需要执行hse步骤即可给出光学性质】

 

################## step 1: a DFT groundstate calculation , and get DOS and band  ###################

cat > INCAR << EOF

System  = SrVO3-dft

NBANDS = 48     # why ?

ISMEAR = -5

EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

#KPAR = 3
EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC  > STDOUT
 
cp OUTCAR OUTCAR-01
cp STDOUT STDOUT-01

 

################## step 2: obtain DFT virtual orbitals and analysize dielectric function #####################


cat > INCAR << EOF
System  = SrVO3-get virtual orbitalss

ISMEAR = -5
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 = 64                            # need for a lot of bands in GW  ( how to determine the value of NBANDS?),change from 96 to 48 for hse calculations
LOPTICS = .TRUE.                       # This is new  we need d phi/ d k  for GW calculations

#KPAR = 3


EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC > STDOUT

cp WAVECAR WAVECAR.LOPTICS
cp WAVEDER WAVEDER.LOPTICS
cp OUTCAR OUTCAR-02
cp STDOUT STDOUT-02


## 2-1: analysis dielectric function  ##
   
    ./plotoptics2
   
    cp  imag.dat  imag-dft2.dat
    cp  real.dat   real-dft2.dat

#######################step 4:  Doing the HSE hybrid functional for comparison #################################

cat  > INCAR << EOF
System  = SrVO3-hse

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

#KPAR = 3
LHFCALC = .TRUE.  ; HFSCREEN = 0.2  ; NBANDS = 64     #  hse calculations
PRECFOCK = Fast   ; NELM = 1
ALGO = Eigenval

LWAVE = .FALSE.                        # do not write the wave functions

EOF

cp  WAVECAR.LOPTICS WAVECAR


# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC > STDOUT

cp OUTCAR OUTCAR-4-0
cp STDOUT STDOUTi-4-0


# #######################step 4.1:  Analysis of the DOS   #################################

cat > INCAR << EOF

System  = SrVO3-hse-dos

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

#KPAR = 3
LHFCALC = .TRUE.  ; HFSCREEN = 0.2  ;
NBANDS = 64
PRECFOCK = Fast   ; NELM = 1
ALGO = Eigenval

LWAVE = .FALSE.                        # do not write the wave functions

LORBIT = 11                           # for DOS

EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC > STDOUT

cp OUTCAR OUTCAR-4-1
cp STDOUT STDOUTi-4-1


# giving total.dat

./plotdos  

mv  total.dat  total-dos-afterhse.dat

 


 
 
 
# #######################step 4.2:  Analysis of hse band, by using  LWANNIER90_RUN = .TRUE.  #################################

cat > INCAR << EOF

System  = SrVO3-hse-band

ISMEAR = -5
EMIN = -20 ; EMAX = 20 ; NEDOS = 1000  # usefull energy range for density of states

EDIFF = 1E-8                           # high precision for groundstate calculation

#KPAR = 3
LHFCALC = .TRUE.  ; HFSCREEN = 0.2  ;
NBANDS = 64
PRECFOCK = Fast   ; NELM = 1
ALGO = Eigenval

LWAVE = .FALSE.                        # do not write the wave functions

#LORBIT = 11                           # for DOS

LWANNIER90_RUN = .TRUE.     # for band calculation

EOF

cat > wannier90.win << EOF

num_wann=24

num_bands=30


# for GW uncomment
exclude_bands 31-64

Begin Projections

Sc:l=0;l=1;l=2
H: l=0

End Projections


dis_froz_max=9
dis_num_iter=1000
guiding_centres=true

# Bandstructure plot
restart         =  plot
bands_plot      =  true


begin kpoint_path
G 0.000  0.000  0.000   A 0.000  0.000  0.500
A 0.000  0.000  0.500   H -0.333  0.667  0.500
H -0.333  0.667  0.500  K -0.333  0.667  0.000
K -0.333  0.667  0.000  G 0.000  0.000  0.000
G 0.000  0.000  0.000   M 0.000  0.500  0.000
M 0.000  0.500  0.000   L 0.000  0.500  0.500
L 0.000  0.500  0.500   H -0.333  0.667  0.500
end kpoint_path


bands_num_points 40
bands_plot_format gnuplot xmgrace
EOF

# start calculation

$PARA -n $NP -machinefile .nodelists.$$ $EXEC  > STDOUT
 
cp OUTCAR OUTCAR-4-2
cp STDOUT STDOUT-4-2
cp  wannier90_band.dat  wannier90_band-hse.dat

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



https://wap.sciencenet.cn/blog-567091-804483.html

上一篇:电子结构计算:GW0、GW、G0W0方法的区别与联系
下一篇:在GW计算过程中考虑DFT+U
收藏 IP: 61.157.130.*| 热度|

0

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

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

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

GMT+8, 2024-5-23 11:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部