计算化学公社

标题: VASP K点选择的入门问题请教 [打印本页]

作者
Author:
helpme    时间: 2017-3-28 10:50
标题: VASP K点选择的入门问题请教
K点的选择,除了用收敛性进行判断以外,记得G和M的选择,以及奇数偶数的选择,都很有讲究。还请各位老师同学多多指教。谢谢!

高手指点:
奇数的时候,m和g是一样的。
k点小的时候一般是g,且用偶数。
k点多的时候,用m的奇数,或者G的奇偶。


我后面测试一下再说。


作者
Author:
我本是个娃娃    时间: 2017-3-28 11:06
(, 下载次数 Times of downloads: 4651)
组里盛传的一篇文献,我不做周期性体系,在此恭喜丁教授入坑
作者
Author:
helpme    时间: 2017-3-28 14:29
我本是个娃娃 发表于 2017-3-28 11:06
组里盛传的一篇文献,我不做周期性体系,在此恭喜丁教授入坑

谢谢!
作者
Author:
xiaowandouer    时间: 2017-3-28 15:00
我本是个娃娃 发表于 2017-3-28 11:06
组里盛传的一篇文献,我不做周期性体系,在此恭喜丁教授入坑

谢谢分享哦,也在学习这方面的知识
作者
Author:
卡开发发    时间: 2017-3-28 16:19
你所提到的原则主要是让k网格过Gamma点,一般采用过Gamma的K点主要的原因:
1、k点进行收敛性测试的时候速度稍快一些,同时精度也高一些,因为不可约k点的数目多一些。
2、某些特定算法不支持不过Gamma点的情形,如ISMEAR = -5的情况。
但这也并非是死规矩。
作者
Author:
jiangning198511    时间: 2017-3-29 08:30
我都是在MS里面建模,然后从CASTEP计算模块中K点的菜单中选择合适的K点数值
作者
Author:
helpme    时间: 2017-3-29 20:17
本帖最后由 helpme 于 2017-3-29 20:18 编辑

关于KPOINTS文件的设置的总结(以下是根据网友经验和我自己验证总结的,不妥之处欢迎指出):

有三种自动设置K点的方式:Auto,Gamma,Monkhorst。
−−−−−−−−−−−−Auto 格式的KPOINTS文件−−−−−−−−−−−−−
Automatic mesh         #注释行
0                                        #表示要自动产生k点了
Auto                                #自动产生k的方法选为Auto,只看首字母
l                                        #参数l,倒易空间中的网格间距为l^(-1)。

(1)        Auto方式实际上指定了倒易空间中K-mesh的密度,因此在计算同一个体系的单胞、超胞时,可以使用同样的l值(默认单位是Å)。通常l取10(for 大gap的绝缘体)~100(d-金属),可取50左右进行测试。
(2)        按照(1)的说法,因为近似有k*|a| = l,即某个方向上的K点个数k,乘以这个方向的晶胞常数|a|,得到一个大约50左右的数比较合适。
(3)        注意:由于k = max(1, l*|b|+0.5),所以对slab模型可能会在z方向上k >1(虽然|b|=1/|c|确实比较小),所以slab模型用Auto可能会不适合。

−−−−−−−−−−−−G或M格式的KPOINTS文件−−−−−−−−−−−−−
Automatic mesh         #注释行
0                                        #表示要自动产生k点了
Gamma                                #自动产生k的方法选为G,还可选Monkhorst。只看首字母。
k1 k2 k3                        #三个方向分别多少个k点。
0  0  0                        #K网格的平移

(1)        关于平移:Monkhorst with (0.5 0.5 0.5)的平移,就等价于Gamma with (0 0 0),Gamma with (0.5 0.5 0.5)的平移,就等价于Monkhorst with (0 0 0),所以一般网格平移都写为0 0 0。

(2)        三种模式实际上产生的都是Monkhorst-Pack grids,其中Auto和Gamma的K-mesh中包含Γ点,即是Gamma centered,而Monkhorst不一定。

(3)        对于奇数K点,Gamma和Monkhorst-Pack效果完全一样,都包含Γ点,而对偶数情况,M和G才会不一样。

(4)        下面以一维的K-mesh为例,
k=5,        G和M一样:        0, ±1/5, ±2/5。
k=6,        G:                        0, ±1/6, ±2/6, 3/6 (注意没有-3/6,因为它与3/6重合)
                M:                        ±1/12, ±3/12, ±5/12
k=7,        G和M一样:        0, ±1/7, ±2/7,±3/7,
可以看出,如果体系是关于中心对称的,则
(1)        对与G来说,k为偶数时,K点的分布是不对称的,导致其不可约点的个数较多,因此与k+1(奇数)的结果比较接近。(k=6和k=7时都有4个不可约K点)。
(2)        而对M来说,k为偶数时,K点分布对称,导致不可约的K点数目少,因此与k-1(奇数)的时候接近(k=6和k=5时都有3个不可约的K点)。
这就是为什么一般会说:对于G用偶数的k,对于M用奇数的k(而此时M与G一致)。若体系没有对称性,则使用何种K-mesh与奇偶无关。一般考虑包括Γ点的K-mesh,即G-mesh。

结论:使用Gamma形式的K-mesh,其中k点数目少的时候k设为偶数为佳。

注意,在进行K点的测试时,需要尽量去除其它因素的影响。因此一般设置ISMEAR=-5,ECUT=400 eV。
一般ECUT=400 eV就足够准确了,300 eV的话审稿人会提问与400eV的区别。
结果是否准确一般是看是否在0.01 eV/atom的误差范围之内。

作者
Author:
helpme    时间: 2017-3-29 20:19
ISMEAR,SIGMA,以及OUTCAR中的能量

ISMEAR: method to determine partial occupancies.

在OUTCAR文件中会有4个能量:
E1(TOTEN) = E2(energy without entropy) + E3(entropy T*S),以及E4(Sigma-->0)。
(1)        E1是总能量,包含了不为0的SIGMA贡献的T*S项(即E3),但这一项应该被扣除。E2就是从E1中直接减去这一项,过于武断了,而E4则是从E1中通过外推的方法(即令Sigma-->0)来扣除SIGMA的贡献,所以E4是相对来说最准确的。
(2)        若取ISMEAR= −5,则E3=0,其它三个能量完全相等,此为准确能量。此时设置SIGMA对结果没有任何影响。
(3)        若体系K点数目不够,或者为了加快计算速度,可以先不使用−5,而是使用ISMEAR=0/1/2并配合使用合适的SIGMA值。
a)        对半导体或绝缘体取ISMEAR=0(默认值SIGMA=0.05)。当绝缘体的Gap较大时,ISMEAR=0/1/2和−5的结果几乎完全一样。
b)        对导体取ISMEAR=1或2。需要设置合适的SIGMA参数。较大的SIGMA易于收敛,但可能导致E3过大,要检查E3< 1meV/atom。默认值SIGMA=0.2,测试发现取SIGMA<0.1时能量更为可靠一些。

作者
Author:
helpme    时间: 2017-4-1 19:54
NCORE 和NPAR 参数的设置:

对并行效果有较大影响,建议针对自己的体系进行测试。

我的机子(单节点多核)测试了几个任务,发现对于mpirun -np 8的任务,设置NCORE=1(或2)的时候效率最高,而对于mpirun -np 16的任务,设置NCORE=2的时候效率最高。

作者
Author:
木折    时间: 2022-4-2 15:24
jiangning198511 发表于 2017-3-29 08:30
我都是在MS里面建模,然后从CASTEP计算模块中K点的菜单中选择合适的K点数值

请教一下具体操作,大佬

作者
Author:
jiangning198511    时间: 2022-4-6 11:44
木折 发表于 2022-4-2 15:24
请教一下具体操作,大佬

现在都用VASPKIT 更方便
作者
Author:
木折    时间: 2022-4-9 10:44
jiangning198511 发表于 2022-4-6 11:44
现在都用VASPKIT 更方便

我在MS里导出的路径和vaspkit不一样怎么办
作者
Author:
jiangning198511    时间: 2022-4-11 09:49
木折 发表于 2022-4-9 10:44
我在MS里导出的路径和vaspkit不一样怎么办

你是计算能带时的K点路径吗?估计是对称性找的不一样
作者
Author:
木折    时间: 2022-4-11 15:19
jiangning198511 发表于 2022-4-11 09:49
你是计算能带时的K点路径吗?估计是对称性找的不一样

有可能,感谢大佬
作者
Author:
dfdf    时间: 2024-3-1 00:12
请问,K点数目有大于4,有小于4的情况下,ISMEAR应该怎么选?
作者
Author:
qifei123    时间: 2024-5-18 16:59
卡开发发 发表于 2017-3-28 16:19
你所提到的原则主要是让k网格过Gamma点,一般采用过Gamma的K点主要的原因:
1、k点进行收敛性测试的时候速 ...

老师 请问我如果用G中心的kpints计算,然后OUTCAR中有163个kpints的能量,那么GAMMA点的能量情况是不是就是第82个
作者
Author:
卡开发发    时间: 2024-5-18 18:50
qifei123 发表于 2024-5-18 16:59
老师 请问我如果用G中心的kpints计算,然后OUTCAR中有163个kpints的能量,那么GAMMA点的能量情况是不是就 ...

不好说,我不确定他的顺序是按照什么来的,但要检索起来应该不难,因为对应的k坐标是给出来的。
作者
Author:
吃巧克力的桃子    时间: 2025-1-2 10:37
那计算声子谱的kpoints文件用G点还是M点? 使用的是1*1*1




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3