Ex2.3 KPOINTS的准备
KPOINTS是VASP的另一个重要的输入文件,在计算中,一方面它在决定了计算的精度的同时也影响计算所需要的时间。精度高,时间长,精度低,时间短。所以:合理设置KPOINTS文件,可以保证我们使用最少的时间,来获取准确可靠的结果。另一方面,它也与我们的计算体系模型以及计算的类型有关。先大体了解一下,我们这一节主要介绍如何手动写一个最简单的KPOINTS文件。KPOINTS文件也是纯文本,和INCAR一样,不存在什么格式的问题。上一节学会的技能在这里可以继续加深一下。
KPOINTS的输入和保存
打开编辑器,把下面几行输入进去,然后文件名为:KPOINTS
(#
符号以及后面的不用输入)
K-POINTS # 第一行: 随便写都行,但不能没有
0 # 第二行:数字零,不是字母O,表示格子自动生成
Gamma # 第三行:gamma centered
1 1 1 # 第四行:K点密度1*1*1
0 0 0 # 第五行:S1 S2 S3, 一般保持 0 0 0 不变。
详解:
-
该KPOINTS 文件共有5行,#号以及后面的不用输入;
-
同INCAR的注释一样,不要在每一行后面使用 ! 来进行注释,要使用 #,且最好不要写中文。
-
第一行:可以随便写内容,但不能没有; 跟INCAR 中的
SYSTEM
类似,但是INCAR中的可以没有。 -
第二行:数字0,不是字母O,0 在这里表示的是自动生成K点。细心的你可能注意到了,0前面有个空格,不过没关系,空格对计算不影响,可以删掉。也可以再加一个空格,后面的同样如此。 但是避免用tab输入,VASP有时候不识别tab键输入的空白部分,导致计算出错;
-
第三行:VASP只认第一个字母,大小写均可。在这里Gamma和gamma,Gorge,Grape, Gaga效果是一样的,当然这一行也可以直接写字母G或者g。
-
G表示的是以gamma点为中心生成网格。
- 另外一种是原始的Monkhorst-Pack 网格,两者的区别是 M (或者 m) 在 G的基础上在三个方向上平移了1/(2N)个单位。
-
G,也叫 gamma centered Monkhorst-Pack Grid;所以,gamma centered 只是MP网格的一种特殊情况。
-
第四行,在x,y,z三个方向上生成对应数目的K点,本例是111;
-
对于原子或者分子的计算,K点取一个gamma点就够了(1 1 1),也就是这个KPOINTS文件可以用于绝大多数的原子或者分子计算,不用再修改;
-
但如果你要用
ISMEAR = -5
来计算的时候,需要把 1 1 1 改成 2 2 2或者3 3 3。 -
第五行,一般都写成 0 0 0 ,不用动即可;
-
按照前面INCAR的方式保存文件,名字为KPOINTS。
KPOINTS的建议
K点在VASP计算中非常重要,大师兄给的建议是:
-
一直用gamma centered,也就是第三行保持G不变。因为M平移之后,网格的对称性和晶胞的对称性会出现不匹配的情况,从而导致计算出错,尤其是对于六角晶系hexagonal的结构,必须用gamma centered!这一点,vasp官网说的很明确;其他的建议后续慢慢展开讨论。
-
如非六角晶系的计算,如果已经设置的M算起来了,继续用M算就行,没必要改成G再重新算一遍;
- 前面看不懂,没事。记住这一点,本节就圆满完成任务:气体分子,原子计算的时候,使用gamma点(也就是第四行 1 1 1)即可。
- 另外,VASP官网有更为详细的解释:https://www.vasp.at/wiki/index.php/KPOINTS