|
最近使用 vaspsol++ 做恒电势计算的时候会大概率遇到 真空层不够 报错的问题,个人也是找了好多种办法去处理,故把个人的一些经验整理汇总出来和大家分享(个人仅做经验分享,欢迎大家就遇到的问题交流讨论)
以下将以简单到复杂 3 个等级来分享解决办法:
1. 简单)修改 ALGO 参数, AMX BMX 参数,NBANDS
1.1 修改 ALGO 参数
这是最简单的办法,修改 ALGO 参数,这里个人发现的,最容易解决的参数是 ALGO = F 。但是本人也在不同帖子下面留言过,发现 ALGO = F 的时候在遇到一些体系,比如需要考虑磁性的 RuO2 的时候计算出来的能量和用 ALGO = N/A 的差异过大;但是在不考虑磁性的体系,如 IrO2 的时候这个差值就完全可以忽略不计,因此如果使用这个 = F 的时候这边建议先做一下测试。
使用 ALGO = N/A 也可能解决这个问题,可以尝试。
1.2 修改 AMX BMX 参数
可以做 MIXING 测试,来检验一套可收敛的 AMX BMX 参数,个人常用的数值有
AMX = 0.08/0.04/0.4/0.2
BMX = 0.001/1
1.3 设置 NBANDS
vasp 在计算的时候,如果你不手动设置 NBANDS 的话通常会‘预设’一个较大的能带,这可能是导致报错真空层不够的一个因素,因此可以通过手动设置一个较为合理的能带值来避免这个问题,通常来说我设置的标准是:
NBANDS = 体系总电子数/2 + 20/25
2. 普通) 手动修改真空层数,或者微调结构
一般上面的办法解决不了,就只能修改初始结构的真空层高度了,一般来说 +5 之后就不会再报错了。
微调结构是指修改 POSCAR 中一个或两个原子的坐标(一般别这么搞,这是没有办法的办法),但是修改的时候一定要注意再注意!修改尽量再小数点4位后!!!!!
3. 困难) 换一台计算服务器
如果这都解决不了,那就换服务器吧~
我还真遇到过这种情况,一个结构我一直报错,然后换了一台服务器,什么参数都没修改,直接就收敛了....
以上就是个人的一些总结,如果说哪种办法成功率最高,我的推荐是 1.1 修改 ALGO = F(注意这部分提到的注意事项) 和 1.3 设置一个合理的 NBANDS 再就是最后的换服务器。
欢迎大家一起讨论!!!!!
|
评分 Rate
-
查看全部评分 View all ratings
|