VASP主要计算流程:结构优化、静态自洽、非自洽计算
参考
VASP 结构优化、静态自洽、非自洽计算
【整理自好友lpf文章】用VASP计算能量态密度(DOS)和能带
Learn VASP The Hard Way (Ex39):DOS计算(三)
非自恰
非自洽就是计算过程电荷密度保持不变(?)
说明
非自洽计算是在自洽基础上改变k点(重新生成k点)等参数,根据不同需要选取能量或势函数或电子密度作为初始值,进行非自洽迭代计算,可用于求解DOS,能带(电子结构分析)或者光学等其他性质。
参数:
通用参数
- SYSTEM=注释
- ISATART=1(1从WAVECAR读入波函数)
- ICHARGE=11(1从CHGCAR读入电荷密度+10电荷密度计算过程保持不变)
- ISMEAR SIGMA(与结构,K点有关)
DOS计算ISMEAR=-5精度高(K点小于4个不适用)
计算能带:金属用ISMEAR=1;半导体或绝缘体,用ISMEAR=0 - ISPIN(与体系有关) MAGMOM(可选)
- ENCUT 多个结构进行对比时,需要统一ENCUT
- PREC 精度等
DOS参数
- ISMEAR=-5,K点越密精度越高,DOS曲线越平滑
- bbs.LORBIT = 10 把态密度分解到每个原子以及原子的spd轨道上面,称为为局域态密度,Local DOS (LDOS)
LORBIT =11 在10的基础上,还进一步分解到px,py,pz等轨道上,称为投影态密度(Projected DOS)或者分波态密度(Partial DOS),即PDOS。
LORBIT = 11可以提供我们更多的信息 - bbs.DOS计算可以直接用高密度的K点自恰一步计算(使用于机器性能好),因计算量大才先自恰,再用高密度点非自恰
但是对于能带计算,则必须先自恰计算再非自恰计算能带
bbs.K点少不能使用ISMEAR=-5时
- 增加K点(简单推荐)使用
- 半导体绝缘体使用ISMEAR= 0(GS方法)(半导体绝缘体绝对不能大于0)
- 金属,可以使用GS方法 ISMEAR = 0,也可以使用MP方法ISMEAR = 1, 2….N,一般来说,ISMEAR =0和 1 基本就可以了。(金属可以等于0,也可大于0)
DOS可视化推荐Learn VASP The Hard Way (Ex39):DOS计算(三)
计算能带参数
bbs.所有的体系ISMEAR=-5不适合计算能带
非自洽计算能带:金属用ISMEAR=1;半导体或绝缘体,用ISMEAR=0
NBANDS(默认值为NELECT/2+NIONS/2,NELECT和NIONS分别为电子数和离子数,可以上一步自洽计算产生的OUTCAR文件中找到这两个参数
grep "NIONS" OUTCAR
grep "NELECT" OUTCAR
KPOINTS
使用Line-mode
选择布里渊区高对称点,高对称点坐标可以参考
High-throughput electronic band structure calculations: challenges and tools
小木虫-【原创】k点设置的学习心得
如六角晶格的高对称点
对应的KPOINTS文件
Line-mode #注释
10 #每两个高对称点间产生的K点数
L #使用Line-mode
Rec #使用倒格点坐标
0 0 0 #G点/Γ点
-1/3 2/3 0 #M点
-1/3 2/3 0 #M点
1/2 0 0 #K点
1/2 0 0 #K点
0 0 0 #G点/Γ点
LH师兄.自己的结构可能因为角度等不同和参考文献中的K点有些不同,可以使用POSCAR->VESTA->cif后导入MS,使用MS的Tools/Brillouin Zone Path功能识别高对称K点,然后对比上面参考文献中的方法,手动添加K点坐标看是否符合自己的结构,如图CoCl2识别的加上我添加的K(0.333 0.333 0)
可视化,使用小木虫-Python版处理EIGENVAL以得到能带结构的程序
他的源程序在这splitbands.py
使用方法:
- 该程序在处理不同自旋的电子时有问题,等我学完python回来修改
grep E-fermi OUTCAR
确定系统的费米能级- 运行splitbands.py,输入费米能级后,就会处理EIGENVAL
- 输出KPATH(计算的K点坐标)
- BNDSTR(用于画图)
第一列为横坐标,之后列为一条条能带,已减去费米能级
本文首发于我的博客@cndaqiang.
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!