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
“觉得不错的话,请我喝杯咖啡吧~ ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!