VASP error - BRMIX very serious problems the old and the new charge density differ 报错解决方案

本文最后更新于:2022/02/02 23:55

前言 (Introduction)

在用VASP进行结构优化计算时,稍微复杂一点的体系(电子数较多)有时候碰到这个问题: BRMIX: very serious problems the old and the new charge density differ 这个报错有时候可以忽略,最终也能完成结构优化,但是出现这个报错后往往电子步难以收敛,会跑满默认的步数(NELM = 60),导致耗时显著增加,且跑满默认的电子步数之后仍然不收敛。网上一通搜之后发现大部分的解决方法都没有用,但是最近还是摸索出了几个有效的方法。

解决方案 (Solutions)

1. 作业脚本中添加export I_MPI_ADJUST_REDUCE=3或者INCAR中添加LSCALAPACK tag

这个方案来源于researchgate的一个回答,在INCAR中添加一行:
LSCALAPACK = .FALSE.
即可,测试之后发现有效。回答中也提到,这是一个和MPI_REDUCE有关的bug,因此也可以在提交任务的脚本中添加:
export I_MPI_ADJUST_REDUCE=3

update: 进一步搜索发现最初的方案应该是来源于林雪平大学(Linköping University)超算中心。该中心有关于此bug和VASP各版本编译的详细注意事项,推荐阅读。

2. 使用10的倍数的核数

这个方案是无意间发现的:当使用10的整数倍核数进行计算时,这个错误会消失。比如,用28,32或者48个核数时,报该错误,但是调整核数为20,40或者80时,并不会报错。 考虑到方案1中提到该错误可能是MPI的bug,所以并行计算时调整核数也能消除该报错也讲得通。

调整核数这个方案往往不是最优解,因为一般的超算中单个node的核数往往不是10的整数倍,若要调整为10的整数倍需要牺牲一定核数(比如单个node核数为32,调整为30的话,浪费了2个核),计算效率有所降低。

测试环境

VASP 5.4.4
compiler: intel18u4

“觉得不错的话,请我喝杯咖啡吧~ ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付