通过前面的教程,相信大家对于VASP的输入文件已经有了一个比较直观的了解了,前面的教程针对于INCAR和POTCAR分别做了比较深入的讨论,但是没有对POSCAR和KPOINTS进行更加详细的介绍,POSCAR是结构信息文件,关于POSCAR,我们在后面的算例部分结合MedeA软件进行更加细致的说明。我们在这里细致分析一下KPOINTS文件,以及如何根据不同的计算体系选择合适的K点进行计算。
KPOINTS文件是倒空间的取样方法,我们在进行计算时,我们要通过KPOINTS文件设置布里渊区k点网格取样大小或能带结构计算时沿高对称方向的k点。对于到底什么是k点,我们这里引用大神的论述,简单介绍一下。(下面介绍k点的内容引自小木虫bingmou的帖子。)k点就是一个晶格中运动的电子系统的量子数,它是在倒空间上的一个矢量,也是“准动量”,是具体计算中的抽样点。k点是矢量,也可以认为是倒空间的一个格点,因此它不同的点是具有不同的对称性。k点和体系的正晶格相关联的。我们知道一个晶格除了平移对称性还是点群对称性,而k点和晶格相联系,从而具有正格矢的所有点群对称性。所以对不同的体系,k点的倒格矢是不同的,因而坐标也就不同。230种空间群所对应的布里渊区特殊k点的坐标都可以查到,网址附在文末。P1空间群的布里渊区一般来说,k点越密越多,计算精度也越高,当然计算成本也越高。我们通过VASP计算一个分子或者单原子时,总是选取一个Gamma点,因为这个点上的能级分布基本反映了整个能带,每个能带都和k相关性不大;而对于半导体则需要多一点的k点,而金属需要最多的k点,因为金属中的电子的非局域性很强。VASP软件的k点取样方法有Monhkorst-Pack方法和Gamma方法,通过选取高对称的k点从而大大的减少计算体系性质的计算量,而具体的k点分布取决于这个体系的晶格的对称性。Monhkorst-Pack方法的误差比较小,因此一般情况下都采用Monhkorst-Pack方法(几何优化在倒空间中的取样间隔小于0.05Å即可)。Gamma方法主要是为了保证六方体系的k点的对称性,VASP手册中也有特别提醒,对于六方晶系,不要用Monhkorst-Pack方法来自动生成格点,而要用Gamma方法。k点的数量与该方向上的正基矢长度成反比,这是因为正基矢加长,那么在倒空间里面相应的k矢量会缩短,这种缩短不仅仅是一个长度的倒易点阵和正点阵之间的关系缩短,将导致第一布里渊区缩小,而将其他的布里渊区折叠到第一布里渊区的结果就是第一布里渊区的k点密度大大增加,本来Gamma点只有10个本征值,现在可能有20个本征值。这也是supercell的能带都比较密集的原因。所以如果是表面计算,那么在z方向就只需要一个Gamma点,这是因为类似原子轨道的原因;但是supercell很多人计算都只做gamma点的原因则是因为第一布里渊区已经很密集,Gamma点上的本征值已经叠加了很多原来不是gamma点的k点,只计算Gamma点就已经很精确了。感谢bingmou大神所做的十分详尽的k点介绍。下面就来介绍一下如何生成KPOINTS文件。一般如非必要,可以先用自动模式生成k点,VASP会自动生成一个简约化后的k点矩阵,存于IBZKPT文件里面,可以直接复制里面的数据到KPOINTS文件来用,其实这也是这个输入法的主要用途,为了减少重复自动生成格点的时间(小木虫zzgyb大神所述)。
- KPOINTS文件的格式
(1)程序自动产生k 点KPOINTS!注释行,可以随便写0!自动生成网格,必须为0M!M表示以Monhkorst-Pack产k点2 6 6!沿倒格子各方向上网格点的数目0 0 0!对所产生的网格进行平移的量(这里不平移)#:line3以字母G开头表示按Monhkorst-Pack方法以Γ点为中心自动产生k点(2)Line-mode(计算能带)line-mode!注释行,可以随便写10!沿G-X 之间产生10 个k 点Line-mode!L开头表示按line模式产生k点Reciprocal!R开头表示采用倒格矢坐标0.00 0.00 0.000.50 0.00 0.50!Gamma!X 0.50 0.00 0.500.50 0.75 0.25 !X!W 0.50 0.75 0.250.00 0.00 0.00 !W!Gamma#:line4以字母C开头,表明k点是相对于笛卡尔直角坐标系(3) 做杂化泛函能带计算的KPOINTS
做杂化泛函能带计算的KPOINTS推荐用VASPKIT软件自动生成,包括前面的Line-mode的KPOINTS也推荐通过VASPKIT软件生成,这部分内容在前期基本用不到,我们在后面做能带计算的教程再做细致讲解。重点:
- 不同的晶体结构有不同的对称性,我们应该根据晶体结构选择合适的k点。
- 对六角晶系的结构一定采用以Γ为中心按Monhkorst-Pack网格产生k点。
- k点的数量与该方向上的正基矢长度成反比,按倒格子基矢的长度选取合适的k点网格(一般来说,K点的选取跟晶胞的边长有关,边长越长,所需的K点就越少)。
参考资料:k点是什么:http://muchong.com/t-3180318-1VASP中KPOINTS文件介绍:http://blog.sciencenet.cn/home.phpmod=space&uid=3168528&do=blog&id=1097180初学VASP:http://muchong.com/bbs/viewthread.php?tid=703420230种空间群所对应的布里渊区特殊k点的坐标查询网站:http://www.cryst.ehu.es/cryst/get_kvec.html侯柱峰老师教程:VASP软件包的使用入门指南
VASP问世25年来,累计发表SCI论文超过90000篇,其中大量是实验与计算相结合的文章。其计算结果不仅可以验证实验结果,更能够预测实验结果甚至设计实验。
实验与计算已成为顶刊标配,对计算感兴趣可以后台私信“计算”获取相关资料!