1. VASP相关教程

拟合wannier函数

步骤
(1)首先进行SOC的自洽计算。此时的INCAR中需要加上NBANDS。这个值需要是计算核心数的整数倍,并且大于等于后面设置的num_wann。然后提交vasp
(2)将上一步之后的文件全部复制,在INCAR中,令ISTART=1,ICHARG=11,加上LWANNIER90=T,此后都不需要修改INCAR了,提交vasp,注意如果有NPAR或者NCORE,得删了
(3)上一步之后会自动产生wannier90.win文件,里面已经填了好多信息,(如果报错了,检查INCAR或者KPOINTS),然后修改win文件:
#====================================================
num_bands =   72  ! set to NBANDS by VASP

num_wann = 68

guiding_centres=T

spinors = .true.

Begin Projections
N:s;px;py;pz
Mn:l=0;l=1;l=2
End Projections
search_shells =200
kmesh_tol=0.0000001
#====================================================
注意把use_bloch_phase=T删了
然后提交vasp
(4)上一步之后的logfile会有projection done,如果没有,检查是否出错,结束之后加上
#====================================================
dis_num_iter      =  30000
dis_froz_max      = 1.7977
dis_froz_min      = -5.7977
num_iter          = 100000
conv_tol          =  1E-10 
conv_window       = 2
num_print_cycles  = 100
num_dump_cycles   = 100

write_hr = true
bands_plot =true
!restart = wannierise  !jixusuan
begin kpoint_path
M  -0.50000   0.50000    0.00000    G   0.00000   0.00000    0.00000
G   0.00000   0.00000    0.00000    K  -0.33333   0.66667    0.00000
K  -0.33333   0.66667    0.00000    M  -0.50000   0.50000    0.00000
end kpoint_path
#====================================================
提交wannier:qusb wannier.pbs

经验总结
(1)计算vasp时,所用核数会影响总的能带条数,但是不会影响费米面以下(即占据态)的条数。用wannier拟合的时候,NBANDS要根据vasp
算出来的能带条数来确定,原理就是用理论上紧束缚模型的能带数目,去拟合vasp总的能带数目,所以num_wann不能大于num_bands的数目。
为了一致性,从头到尾的计算核数最好不要变
(2)计算Wilson Loop时,对称性参数ISYM可能会产生影响,需进一步测试
(3)如果拟合效果不好,在第一步自洽时加入NBANDS,手动设置较大值

如果出现错误:
===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 1 PID 1721 RUNNING AT dirac02
=   KILLED BY SIGNAL: 9 (Killed)
===================================================================================
可以在第一步自己加上win文件,而不用vasp自己产生,然后在INCAR里面直接加上LWANNIER90=T以及NBANDS,直接跳到第二步

如果出现错误:Fewer projections defined than the number of Wannier functions requested,此时应注意,是否是轨道数不对,对于不加soc的情况,轨道数不用乘以2
在计算berry时,如果画出来的效果不好,很大程度上时wannier没有拟合好,有时候虽然能带看上去拟合成功了,但其实在wout文件里面可以看见误差很大。比如下面这个wout:
这样画出来的berry大概率是不准确的,此时我们可以通过能带分析,去除不重要的轨道,例如原来是这样:
Begin Projections
Mn:l=0;l=1;l=2
Co:l=0;l=1;l=2
O:s;px;py;pz
Bi:s;px;py;pz
End Projections
通过轨道分析后删除一些,如下:
Begin Projections
Mn:l=2
Co:l=2
O:px;py;pz
Bi:px;py;pz
End Projections
这时再拟合wannier,在wout里面可以看见拟合的情况:
可以看见,展宽小了很多,此时画berry curvature效果会好很多

wannier常见错误:

https://zhuanlan.zhihu.com/p/446706137

https://zhuanlan.zhihu.com/p/381612139

如果第二步报错出现:kmesh_get_bvector: Not enough bvectors found
可以在win文件里面加上一行:kmesh_tol=0.0001
Comments to: 拟合wannier函数

您的邮箱地址不会被公开。 必填项已用 * 标注