loading...
收敛常出现的问题汇总1
Published in:2021-12-30 |

收敛问题

在电子自洽计算和结构弛豫过程中,pw.x有时迭代到最大步数或者报错退出,这主要是因为计算不收敛,即

1
2
3
4
End of self-consistent calculation

convergence NOT achieved after 200 iterations: stopping

收敛问题常见原因包括两方面:

1)物理原因(计算不符合实际)

A.所建模型不符合实际:输入的原子坐标、元素种类出错;对称性的计算设置

B.使用的近似不符合实际:挑选合适的赝势;金属k-mesh的选择;磁性和SOC的考虑;Hubbard U;Van der waals问题(这一类问题需要结合实际具体分析

2)计算原因(算法不合适,收敛标准过高)

收敛的条件:初始电荷(自旋)密度分布接近于电子-离子体系能量极小值状态的电荷(自旋)密度状态

如果出现不收敛的情况,应该首先考虑原因A即检查结构是否合理(比如,原子位置,晶格常数,甚至元素种类等),A原因无误后再检查B原因的合理性

有时在scf或nscf计算会出现类似以下情况:

1
2
3
4
5
iteration #  1     ecut=    70.00 Ry     beta=0.80
Davidson diagonalization with overlap
c_bands: 1 eigenvalues not converged
c_bands: 3 eigenvalues not converged
c_bands: 1 eigenvalues not converged

这是一个warning,是指对角化迭代过程中,最高的1-4个本征值计算没有收敛(阈值由diago_thr_int控制),超过5个本征值不收敛(或nbnd/4)则会报错退出。
对总能和能级有一定影响,如果不是最后一步,通常可以忽略。

实现自洽计算收敛的原则与方法

实现收敛的原则:

自洽计算收敛是在电荷自洽计算过程中,总能不再明显变化,判据是pw.x输出的estimated scf accuracy小于定值conv_thr,默认值1.0e-6相对宽松,根据物理量有时还需要适当提高精度

实现收敛的方法:

方法一:

修改电荷混合参数:
1)降低mixing_beta,默认值是0.7,将默认值降低到0.3~0.1(slab 0.05)mixing_beta的值越低,混合新的电荷越少,混合后的电荷与原电荷越接近,有利于保证收敛

2)增大mixing_ndim,即上述几个步骤中电荷会考虑到mixing中,默认是8,同时计算所需内存会增大mixing_ndim=12

方法二:

提高ecutwfc和ecutrho

USPP:ecutrho是ecutwfc的四倍,增加到10倍

NCPP:ecutrho是ecutwfc的四倍

方法三:

金属体系(或金属,半金属):

1)加一些空带,增加nbnd,具体取值根据的电子总数,默认最少4个空带,增加到足够空带,让最上面空带的电子占据数逐渐趋于0

  1. 增加K点网格密度,以消除半满带对总能收敛的影响

3)增加展宽degauss

方法四:

对角化出错的体系,检查结构是否合理的基础上,尝试使用diagonalization=’cg’,默认值是’david’,
同时设置startingwfc=’random’。减小初始迭代时的对角化阈值diago_thr_init=1.0d-6(scf默认1.0d-2,这一选项也是nscf计算阈值)

Prev:
MoS2后处理脚本-计算磁矩
Next:
模守恒赝势
catalog
catalog