ADF结构优化过程不收敛

虽然我们优化结构只需要简单的操作,而在程序内部结构优化的实际计算过程是:

用户给定的初始结构的single point自洽场计算
该结构梯度计算
根据梯度信息生成下一个结构(一般而言这个结构能量更低)
该结构的single point自洽场计算
该结构梯度计算
根据梯度信息生成下一个结构(一般而言这个结构能量更低)
该结构的single point自洽场计算
该结构梯度计算
根据梯度信息生成下一个结构(一般而言这个结构能量更低)
……

如此重复,直到能量、最陡峭梯度、所有梯度均值、步长最大值、步长均值达到预设标准(该标准有默认值,一般不必修改),优化完成。这五个判断标准和判断情况,在logfile中每次计算完毕都会出现:

 <22:54:59>  energy change                      -3.15025867     0.00100000    F
 <22:54:59>  constrained gradient max            0.02361122     0.00100000    F
 <22:54:59>  constrained gradient rms            0.00782606     0.00066667    F
 <22:54:59>  gradient max                        0.02361122
 <22:54:59>  gradient rms                        0.00782606
 <22:54:59>  cart. step max                      0.10115198     0.01000000    F
 <22:54:59>  cart. step rms                      0.02523971     0.00666667    F

其中最后一列的字母F或者T,表示未达到标准或已达到标准;倒数第二列即判断标准;倒数第三列为实际值。

这里所谓的结构优化不收敛或收敛很慢,是指自洽场计算收敛没有问题的情况。例如下图(SCM LOGO > movie)所示:

graph>energy和graph>gradient max 分别显示能量的变化和能量梯度的变化。可以看到绿色框的部分,也就是大约50步以后的计算都是不需要继续进行下去的。能量在很细微的震荡,看梯度的震荡就比较明显了。看见震荡的情景发生,一般而言就没有必要继续算了。

或者:

能量、能量的梯度在9步之后,就开始震荡,这样实际上也没有必要进行之后的计算,应该立即结束任务,基于第9步的结构进一步调整参数进行计算。

这种问题一般也非常好容易解决:

将过往优化过程中,能量(energy change)和最大梯度(constrained gradient max)都较优的那个结构导出(操作方法见如何将结构优化、分子动力学某一帧结构导出,或更新到AMSinput用于后续计算),重新优化,但需做如下改变:

1,Details > Geometry Convergence,将Coordinates used for Geometry Optimization的设置改为Cartiesian; 2,Details > Geometry Convergence,将Optimization Method改为Old; 3,Maximum Radial Step改为0.02左右(如果到后面更小的震荡仍然存在,就将此值改到更小。这个值决定了震荡的最大振幅)。

继续优化即可。