24小时热门版块排行榜    

查看: 4093  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

léon_WANG

木虫 (小有名气)

[求助] 为什么vasp DFT与GW0计算后的wannier插值能带完全一样 已有1人参与

如题,照官网SrVO3算例弄的Bulk Si能带结构计算。从DFT获得的gap为0.62eV,G0W0获得的gap为1.16eV,但两者的wannier插值能带完全一样。求解。
脚本如下:
$ECHO "  The real work starts here ...\\n"

# DFT calculation
$ECHO "  step 1: scf calculation ...\\n"
cat > KPOINTS.8 << EOF
Automatic
0
Gamma
8 8 8
0 0 0
EOF
cp KPOINTS.8 KPOINTS
#rm WAVECAR* WAVEDER*

cat > POSCAR << EOF
Si
5.4300
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
EOF


cat > INCAR.DFT << EOF
#Si_dft_exc
System  = Si
PREC = Normal ; ENCUT = 250.0
ISMEAR = 0 ; SIGMA = 0.01            ! small sigma is required to avoid partial occupancies
KPAR = 6
NBANDS = 8
LWANNIER90_RUN = .TRUE.
EDIFF = 1.E-8                        ! required tight tolerance for ground state orbitals
EOF

# Wannier90.win for bandstructure
cat > wannier90_NONE.win << EOF
num_wann=8
num_bands=8

# for GW uncomment
# exclude_bands: 9-24


Begin Projections
Si:sp3
End Projections

dis_froz_max=9
dis_num_iter=1000

guiding_centres=true

# Bandstructure 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
EOF

$ECHO "  running the DFT calculation for WAVECAR of Si ...\\n"
cp INCAR.DFT INCAR
cp wannier90_NONE.win wannier90.win
$VASP_COMMAND
check_failure $?
$ECHO " done"
cp OUTCAR OUTCAR.DFT
cp vasprun.xml vasprun.DFT.xml
cp wannier90_band.dat wannier90_NONE_band.dat

$ECHO "  step 2: obtain virtual obitals ...\\n"
cat > INCAR.DIAG << EOF
#Si_dft_exc
System  = Si

PREC = Normal ; ENCUT = 250.0

ALGO = EXACT                          ! use exact diagonalization of the Hamiltonian
NELM = 1                              ! since we are already converged stop after first step
ISMEAR = 0 ; SIGMA = 0.01             ! small sigma is required to avoid partialoccupancies
KPAR = 6                              ! number of cores per compute node or sqrt of number of cores
NBANDS = 96
LOPTICS = .TRUE.                      ! to write WAVEDER the differ of wavefunction
LPEAD = .TRUE.                        ! Derivative of the orbitals w.r.t. the k-point
OMEGAMAX = 10
NEDOS = 2000
EOF

$ECHO "  running the DFT calculation for WAVECAR of Si ...\\n"
cp INCAR.DIAG INCAR
$VASP_COMMAND
check_failure $?
$ECHO " done"
cp OUTCAR OUTCAR.DIAG
cp vasprun.xml vasprun.DIAG.xml

# GW0 calculation
$ECHO "  step 3: GW0 calculation ...\\n"
cat > INCAR.GW0 << EOF
#Si_gw
System  = Si
PREC = Normal ; ENCUT = 250.0
ALGO = GW0  
LSPECTRAL = .TRUE.                          ! use the spectral method:This reduces the computational work load by almost a factor NOMEGA
ISMEAR = 0
SIGMA = 0.01
ENCUTGW = 150
NELM = 1
NOMEGA =  48                                ! specifies the number of frequency grid points
OMEGATL = 280                               ! maximum frequency for coarse part of frequency grid)
KPAR = 6
#NBANDSO=4 ; NBANDSV=8                      ! number of bands for BSE around Fermi level
LADDER=.TRUE.
# LUSEW=.TRUE.                              ! use screened WXXXX.tmp files instead of (screened) HF kernel
LRPA =.FALSE.      ! local field effects on the Hartree level (RPA); the dielectric matrix is written after the lines:  MACROSCOPIC STATIC DIELECTRIC TENSOR
# LWANNIER90=.TRUE.
NBANDS = 96
NBANDSGW = 12   !determines how many QP energies are calculated and updated in GW calculations. integer twice the number of occupied states
LWAVE = .TRUE.
PRECFOCK = Normal
LOPTICS=.TRUE.
EOF

$ECHO "  running the GW0 calculation for le ...\\n"
cp INCAR.GW0 INCAR
$VASP_COMMAND
check_failure $?
$ECHO " done"

cp OUTCAR OUTCAR.GW0
cp vasprun.xml vasprun.GW0.xml

# Wannier90.win for bandstructure
cat > wannier90_GW0.win << EOF
num_wann=8
num_bands=8

# for GW uncomment
exclude_bands: 9-96


Begin Projections
Si:sp3
End Projections

dis_froz_max=9
dis_num_iter=1000

guiding_centres=true

# Bandstructure 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
EOF

cat >INCAR.BANDS << EOF
#Si_gw
System  = Si


PREC = Normal ; ENCUT = 250.0
ALGO = Nothing   ; NELM = 1
ISMEAR = 0 ; SIGMA = 0.01
KPAR = 6
NBANDS = 96
LWAVE = .FALSE.
LOPTICS = .TRUE. ; LPEAD = .TRUE.
OMEGAMAX = 10
LWANNIER_RUN =.TRUE.
EOF

cp wannier90_GW0.win wannier90.win
cp INCAR.BANDS INCAR
$ECHO "  running for bands with GW0 ...\\n"
$VASP_COMMAND
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bilibilifeng

新虫 (初入文坛)

引用回帖:
10楼: Originally posted by 朱颜buct at 2017-07-07 23:25:46
请问我在按照官网的例子做为什么没有产生三个文件呢?
...

你的vasp是不是没有改makefile,再重新编译一下啊。
11楼2017-07-28 17:51:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

newton3915

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
léon_WANG: 金币+20, ★★★★★最佳答案 2017-03-18 11:08:29
可能是因为你的wannier90_GW0.win这一步根本没有运行,直接读取的DFT那一步的amn mmn eig文件,你把wannier90_GW0.win的num_bands设置成96看看。
2楼2017-03-18 00:26:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

léon_WANG

木虫 (小有名气)

引用回帖:
2楼: Originally posted by newton3915 at 2017-03-18 00:26:22
可能是因为你的wannier90_GW0.win这一步根本没有运行,直接读取的DFT那一步的amn mmn eig文件,你把wannier90_GW0.win的num_bands设置成96看看。

感觉最后一步vasp计算就是第一步重新来一遍,wannier插值用的都是DFT的值而不是中间GW0计算的IP值,官网上这个算例http://cms.mpi.univie.ac.at/wiki ... ture_of_SrVO3_in_GW不知你跑过没有。照理它没理由算两个一样的能带前后对比。难道要在GW0计算中加LWANNIER_RUN =.TRUE.才行
3楼2017-03-18 10:09:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

léon_WANG

木虫 (小有名气)

引用回帖:
2楼: Originally posted by newton3915 at 2017-03-18 00:26:22
可能是因为你的wannier90_GW0.win这一步根本没有运行,直接读取的DFT那一步的amn mmn eig文件,你把wannier90_GW0.win的num_bands设置成96看看。

改了num_bands,重跑第三步,能带没变换。另外输出只有chk文件,没有amn mmn eig,这些应该是wannier90.x才会产生的吧
4楼2017-03-18 10:23:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见