2.3.4 KPOINTS多种写法#
(1)前面我们设置的KPOINTS形式之一为:
K-point
0
Auto
20(2)事实上,KPOINTS有很多种输入形式,比如官网给出的:
Regular k-point mesh
0 ! 0 -> automatic number of points
Gamma ! generate a Gamma centered mesh
4 4 4 ! subdivisions N1, N2 and N3
0 0 0 ! optional shift of the mesh这里的444的意义和前面MP的666含义类似,区别在于当第三行取为Gamma时,它在倒空间1BZ布点时会严格在Gamma点上撒一个点(对应在IBZKPT文件第一个点必定为 0 0 0),而MP不一定会取到Gamma点,一般MP下Kmesh的值取奇数时,会采样到Gamma点。
最后一行0 0 0是控制是否在K空间进行shift,其意义如下(左图对应的就是Kmesh555):

一定要设置shift=1吗?不一定,遵循剃刀原则,取shift=0计算也是可以的。关键还要看IBZKPT里面有多少个不可约k点。Shift只是一种技术手段,特别的,对于六角晶格,建议k点取奇数+shift=0,而非偶数。
(3)我们前面还用到一种自动布点方案,写法如下:
Fully automatic mesh
0 ! 0 -> automatic generation scheme
Auto ! fully automatic
10 ! length (R_k)这里的10并非在某个倒空间b1方向上撒10个点。物理意义是以的密度在三个方向撒点。比如前面提到的对应的就是Auto 40
(4)第四种是直接舍弃KPOINTS文件,在INCAR中设置SPACING和KGAMMA参数,对应的就是前面的MP和Gamma两种KPOINTS文件的设置。
(5)第五种,直接在KPOINTS中给出不可约k的坐标以及权重(vaspkit 102 3)
(6)第六种(常用于能带计算),这是给出倒空间1BZ高对称点路径,只计算这些路径上的电子态,当然我们可以随便取路径和点的坐标,不一定非得是高对称点。不过这种格式一般只在计算能带时需要,并且我们更关心高对称点以及路径上的信息,内部区域的较少考虑,这一点会在实操3-5中练习。
kpoints along high symmetry lines
40 ! number of points per line
line mode
fractional
0.0 0.0 0.0 Γ
0.5 0.5 0.0 X
0.5 0.5 0.0 X
0.5 0.75 0.25 W
0.5 0.75 0.25 W
0.0 0.0 0.0 Γ关于KPOINTS文件的内容,请进一步查阅官方手册:
https://www.vasp.at/wiki/index.php/KPOINTS
对于初学者,除了能带计算,以及杂化泛函等对KPOINTS有特殊要求的计算任务,其它计算的KPOINTS建议取下面两种。当然,更建议选择vaspkit-102,指定密度生成KPOINTS。
K-point
0
Auto
20K-Spacing Value to Generate K-Mesh: 0.030
0
Monkhorst-Pack
6 6 6
0.0 0.0 0.0注意,如果是二维体系(石墨烯),一维体系(碳纳米管)或者零维体系(比如孤立原子或者单个分子)时,KPOINTS写法略有不同。一般研究二维体系,会把结构放置在xy平面,z方向设置15-20Å的真空层(以避免周期性带来的层间相互作用)。所以对应在倒空间,只需要设置k1和k2即可,k3设置为1,如下图。当然,设置k3为2或者更大的值也是可以的,但是没有必要(不显著影响计算结果,反而会增加不必要的计算)。
| System | k-points grid |
|---|---|
| Three-dimensional (3D) system | k1 × k2 × k3 |
| Two-dimensional (2D) system in xy-plane | k1 × k2 × 1 |
| One-dimensional (1D) system along z-direction | 1 × 1 × k3 |
| Zero-dimensional (0D) system | 1 × 1 × 1 |
| System | Shifting |
|---|---|
| Cubic, tetragonal, orthorhombic, and monoclinic systems | 1 |
| Hexagonal and trigonal systems | 0 |
| Rhombohedral and triclinic systems | 1 or 0 |