Learn VASP The Hard Way (Ex38):DOS计算(二)

2017-09-15


 Ex-38 DOS计算(二)

 

前面一节讲解了DOSK点和ISMEAR的使用,有群友提出了宝贵的意见。

 

1 ISMEAR = -5 时的错误

 

1.1 K点数目少于4

 

实际计算过程中,如果K点数目少于4,便会出错,而不是官网说的3。大师兄也测试了一下,如下图:

 

 VERY BAD NEWS! internal error in subroutineIBZKPT:

 Tetrahedron method fails for NKPT<4. NKPT=       1

 

感谢QQ群的群友(恒驰一强)提出的这个问题,并发送了一段很有参考价值的文字: 

1.2 K点数目大于4

 

此外,微信群的群友(Cu--Ni):也提出了另外一个常见的错误,并提供了错误的信息和解决办法。使用ISMEAR=-5也就是修正的四面体方法的时候,即使K点够了,有时也会出现下面的错误。

WARNING: DENTET:can't reach specified precision

Number of Electronsis NELECT =

  

官方的解释:

 

http://cms.mpi.univie.ac.at/vasp-forum/viewtopic.php?t=416

http://www.error.wiki/The_old_and_the_new_charge_density_differ

 

出现此警告(DENTET)的原因是因为无法通过tetrahedron方法得到足够精确的费米能级。也就是将态密度积分到费米面的电子数和体系的价电子数目不一致。

 

遇到这种情况:

换个ISMEAR方法;

如果想继续用四面体方法的话:

2.1 增加K点数目,并且用gamma-centered K点;

2.2 增加NEDOS

 

从网上的回帖和群友的回馈,增加NEDOS并没什么卵用!!!

所以留给你的有2个选择:换ISMEAR或者换KPOINTS

 

群友还发现:在保证K点数目大于4的时候,有时候减少K点数目或者增加K点数目都可以解决这个问题。如果你的服务器还算可以,建议增加K点数目,毕竟和K点数目越多,DOS的质量越高。

 

------分割线-------

 

2.1 继续回答前面一节的问题:DOS计算为什么要算两步?

注意:这里说的算两步指的是结构优化完成之后所进行的两步操作。

 

答:可以一步直接算!

 

官网说了,算DOS2个方法,一个是直接进行selfconsistent计算(大家常说的自洽或者静态计算。)然后处理DOSCARvasprun.xml文件即可,如图:

 

2.2 那为什么还要算2步呢?

 

我们看一下这么做的前提:

 

1 由于高质量的DOS需要精细的K点,如果我们设置的K点很多,就会造成计算上的负担,前面我们讲过K点与计算时间的关系;

2 另外一个原因就设计到能带的计算了,这里我们摘抄一下网上的解释: 由于在能带计算时k点是一些在倒空间高对称线上的点,不能进行自洽计算。

参考网址:http://blog.sciencenet.cn/blog-567091-675253.html 也就是计算能带的时候,自洽计算是必须的一步;

3 即使增加K点的数目,电荷密度和有效势能的收敛依然很快,也就是K点的变化对电荷密度的收敛影响不大。

 

2.3 分析:

能带计算我们暂不考虑,综合下 3 在结构优化完成之后,我们可以这么算DOS

第一步,用小的K点自洽,产生电子密度(CHGCAR文件);

第二步,增加K点,并保持前面一步的电子密度不变(ICHARG=11)。

 

这样做就避免了直接用高K点网格所导致的计算负担。对于DOS计算的两个步骤(自洽和非自洽两步),归根结底是节约时间的问题。因此,对于DOS来说,算2步并不是必须的!!!如果够土够豪,直接用高密度的K点,一步计算,没毛病!但是对于能带计算,则必须算2步。

 

此外,VASP的说明书已经很古老了,以现在的计算能力,直接使用大K点一步计算,一般来说都可以承受的。所以,当你知道了为什么要算2步的时候,再去浏览网上的相关经验帖子,就很容易知道是怎么回事了。

 

2.4 LDOS 和 PDOS 

参考:http://blog.sciencenet.cn/blog-316926-493110.html

LORBIT = 10 把态密度分解到每个原子以及原子的spd轨道上面,称为为局域态密度,Local DOS (LDOS)

LORBIT =11 10的基础上,还进一步分解到pxpypz等轨道上,称为投影态密度(Projected DOS)或者分波态密度(Partial DOS),即PDOS。

所以LORBIT = 11可以提供我们更多的信息。

对于DOS图怎么分析?从那几个方面去分析,这边暂时不再介绍,等其他大师兄们详细解答。

 

那么WAVECAR读不读呢?

 

大师兄的观点是:有则读,无则不读。

 

3.1 对于WAVECAR的读取,我们需要了解ISTART这个参数:


如果前面计算中保存了WAVECARVASP默认是读取的。

如果没有WAVECAR,即使你设置了ISTART=1或者2,虽然VASP找不到可以读取的WAVECAR,也不会报错,而是继续算。

 

3.2 怎么控制WAVECAR的输出呢?

 

通过设置LWAVE这个参数

 


注意:图中是VASP的默认值。如果平时没有保存WAVECAR,CHGCAR的习惯,那么在计算能带,或者通过2步计算DOS的时候,不要忘记LCHARG=.TRUE. 

 

3.3 读取WAVECAR可以极大地减少自洽的时间,但是VASPWAVECAR非常大,上百M或者几G都是很常见的。一不留神存储空间就被占满了,所以一般人在计算的时候都不会去保存WAVECAR LWAVE=.FALSE.

 

3.4 如果前面计算步骤中保存了WAVCAR,那么后面DOS计算的时候(1步计算或者2步计算均可),都可以读取,这会加快计算速度。

 

4 扩展阅读:

 

4.1 阅读DOS和能带计算的VASP官方手册;

4.2 了解DOSCAR的内容以及各行各列所代表的含义;

4.3 去网上查找一些DOS和能带计算的经验总结;

4.4 文章如有错误,恳请指正。

 

5 总结:

 结构优化完毕后;

 

5.1: 一步计算DOS必须的参数:

1 ISMEAR = -5

2 LORBIT = 11

高密度的K

 

5.2 两步计算DOS必须的参数:

第一步:

ISMEAR = -5

LCHARG = .TRUE.

稍微低密度的K

 

第二步:

ISMEAR = -5

ICHARG = 11

LORBIT = 11

高密度的K

 

再次感谢文中两位群友提出的宝贵意见!



如有错误,疑问,或者建议,请发邮件联系大师兄: qli@bigbrosci.com

给大师兄留言:QQ号(2674006510)  微信: BigBroSci

加入大师兄QQ群:遇见大师兄 217821116 (先根据群公告修改群名片,若不修改,一经发现,立即踢出。

如果你有自己的科研经验和心得,也欢迎分享给大家!

此外,QQ群专注于科研思维的碰撞与科研生活的分享,本书中已经详细解释或者指明的易出错部分,不建议在群中继续咨询,请大家认真学习并主动积极地去思考和练习。


如果喜欢大师兄的文章,欢迎关注我们,转载,转发。

打赏一下,鼓励大师兄们写出更好的文章!


本网站由阿里云提供云计算及安全服务