Chemistry 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Chemistry
标  题: 初学VASP(四) k点的选择
发信站: BBS 哈工大紫丁香站 (Thu Jun 17 20:46:52 2004)

如前所述
The Bloch theorem changes the problem of calculating an infinite number of
electronic wavefucntions to one of calculating a finite number of
wavefunctions at an infinite number of k-points. (参见CASTEP的帮助文档,他和
VASP是亲兄弟)。

所以呢,一般来说,k点越密越多,计算精度也越高,当然计算成本也越高。
嗯,对于k点的需求,金属>>半导体,绝缘体,不过呢,很多时候主要还是受硬件限制
简约化可以使k点的数目大大下降。对于原子数较多的体系的计算,就需要谨慎的尝试
k点数目,在避免或者预先评估wrap-around error的前提下尽量减少k点数目。

另一个问题是k空间网格(k-points grid)的位置和形状,
是否包括Г点(Gamma点,也可理解为原点)?(一般不包括的话很可能会带来误差,尤其
是使用了tetrahedron方法的时候。暂时还不知道不包括的好处,为了减少k点?)
方形?线形?还是长方形?或者奇形怪状? :)

后文另述。那么现在来看看KPOINTS file的结构:

Line1: comment line 注释行 no problem
Line1: comment line 注释行 no problem

Line2: k点总数 或者 '0'自动生成网格(Automatic k-mesh generation)

如果是前者,给出k点总数,又分两种情况

M.全手动 Entering all k-points explicitly
Line3: 输入格式标识。直角坐标 (Cartesian)或者 倒格坐标(Reciprocal)
    同样的 'cCkK' for Cartesian,其他首字母则自动切换到 Reciprocal
Line4-n: 逐个k点的描述。 格式为 x y z W。 xyz是三个坐标,W是权重。所有k点的权

    重相互之间的比例对了就行,VASP会自动归一的
注意C坐标和R坐标的定义
C: k=(2π/a)(x y z) R: k=x*b1+y*b2+z*b3 b1-3为倒格基矢
(这里我们看到xyz只是代表了坐标的顺序,与坐标轴无关)
比如一些常用的高对称性点的C和R坐标:
Point   Cartesian coordinates   Reciprocal coordinates
        (units of 2pi/a)        (units of b1,b2,b3)
------------------------------------------------------
G          (  0   0   0  )          (  0   0   0   )
X          (  0   0   1  )          ( 1/2 1/2  0   )
W          ( 1/2  0   1  )          ( 1/2 3/4 1/4  )
K          ( 3/4 3/4  0  )          ( 3/8 3/8 3/4  )
L          ( 1/2 1/2 1/2 )          ( 1/2 1/2 1/2  )
L          ( 1/2 1/2 1/2 )          ( 1/2 1/2 1/2  )
输入示例:
Example file
4
Cartesian
0.0  0.0  0.0   1.
0.0  0.0  0.5   1.
0.0  0.5  0.5   2.
0.5  0.5  0.5   4.

一般如非必要,可以先用自动模式生成k点,VASP会自动生成一个简约化后的k点矩阵,
存于IBZKPT file,可以直接复制里面的数据到KPOINTS file来用,其实这也是这个输入

法的主要用途,为了减少重复自动生成格点的时间。
另一个用途是为了做精确的DOS(Density of status)的计算,由于这类计算所需k点数极

大,通过全手动尽可能的优化k点也就必需了。

L.半手动/线形模式 Strings of k-points for bandstructure calculations
看到啦,对于能带结构的计算,同前面的理由,需要精确的选取k点,在指定的高对称性

方向上生成指定数目的k点。
Line2: 指定两点间生成的k点数 不同于全自动的总k点数
Line2.5: 'L' for Line-mode 表示是线形模式
Line3: 输入格式标识。同前。C or R
Line4-n: 每行描述一个点 格式为 x y z。每两行的点连成一线,在两点间生成指定数
Line4-n: 每行描述一个点 格式为 x y z。每两行的点连成一线,在两点间生成指定数
目的k点。每两行两行之间以空行区分(不空的话,VASP可能也认得出,没试过)
比如:
 10  ! 10 intersections
Line-mode
rec
  0   0   0   ! gamma
  0.5 0.5 0   ! X

  0.5 0.5 0   ! X
  0.5 0.75 0.25  ! W


ok,那么更常用的方法是让VASP自动生成网格
Line2: 0 !number of k-points = 0 ->automatic generation scheme
(!后面字符为注释)
Line3: A for fully automatic or G for Г/Gamma or M for Monkhorst-Pack
       若都不是这些首字母,则自动切换为高级模式。

A mode 全自动模式,可以看作以Г点为圆心以l为半径做圆,当然各晶格矢不同时,相
应的圆就拉成了椭圆,来确保三个倒格矢方向上覆盖的k点数为l
Line4:length (l)
    Useful values for the length vary between 10 (large gap insulators) and
    Useful values for the length vary between 10 (large gap insulators) and
100 (d-metals).

进一步的做法是分别指定三个倒格矢方向上的格点数N1,N2,N3。G mode
Line4: N1 N2 N3
Line5: s1 s2 s3 偏移原点的位矢 一般设成 0 0 0 啦。

以及Monkhorst-Pack法,生成的格点不包括Г点,从Г点周围1/2长度处开始取点。
M mode
Line4: N1 N2 N3
Line5: s1 s2 s3 同上

所谓的高级模式,就是用C坐标或者R坐标直接输入新的基矢

 c                      c
 0.25 0 0               0.25 0 0
 0 0.25 0               0 0.25 0
 0 0 0.25               0 0 0.25
 0.0 0.0 0.0            0.5 0.5 0.5
分别等价于
 g                      m
 4 4 4                  4 4 4
 0 0 0                  0 0 0
 0 0 0                  0 0 0
因为存在这种等价关系,所以一般也没有必要使用高级模式

好啦,就这些。最后提醒一点,VASP的帮助文档特别提醒,对于六方晶系,不要用M来自

动生成格点,而要用G。

关于tetrahedra方法,帮助文档说用于全手动模式,可选。具体设定原文如下:
In this case, the next line must start with 'T' or 't' signaling that this
connection list is supplied. On the next line after this 'control line' one
must enter the number of tetrahedra and the volume weight for a single
tetrahedron (all tetrahedra must have the same volume). The volume weight
is simply the ratio between the tetrahedron volume and the volume of the
(total) Brillouin zone. Then a list with the (symmetry degeneration) weight
and the four corner points of each tetrahedron follows (four integers which
represent the indices to the points in the k-point list given above, 1
corresponds to the first entry in the list). Warning: In contrast to the
weighting factors for each k-point you must provide the correct 'volume
weight' and (symmetry degeneration) weight for each tetrahedron - no
internal renormalization will be done by VASP!
示例:
Example file
4
Cartesian
(total) Brillouin zone. Then a list with the (symmetry degeneration) weight
0.0  0.0  0.0   1.
0.0  0.0  0.5   1.
0.0  0.5  0.5   2.
0.5  0.5  0.5   4.
Tetrahedra
1  0.183333333333333
6    1 2 3 4
具体请参见帮助文档8.4节
--
╔═══════════════════╗
║★★★★★友谊第一  比赛第二★★★★★║
╚═══════════════════╝


※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 202.118.229.*]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:7.270毫秒