SCF.

使用设置最大迭代次数,收敛标准和控制迭代更新方法的各种项目的键调制SCF过程。分子可能会显示出良好的不同的SCF迭代行为,从简单快速地收敛到麻烦的振荡。我们希望默认设置照顾大多数情况,但是一个人应该意识到这是一个困难而棘手的主题。用户有几种(主要的)选项可以将过程调整到手头的情况:简单的阻尼或DIIS过程(迭代子空间中的直接反演)。它们中的任何一个都可以与水平移位相结合。

也可以看看

如果是SCF收敛问题,请参阅 SCF. .troubleshooting

在每个循环中,密度被计算为被占用的轨道平方的总和;新密度定义了重新计算轨道的可能性。重复循环直到达到收敛。为了加速收敛并避免非收敛振荡行为,下一次迭代的值被构造为计算的新数据的混合和之前使用的周期。这可能仅涉及先前的循环,然后调用 减震。或者,可以调用某种DIIS或列表过程,这是阻尼以包括更多先前的迭代的概括。

Starting from ADF2016, the SCF module has been rewritten from scratch. The old SCF is still available and it can be turned on using the OldSCF keyword. The description below refers to the new SCF code only. User documentation for the OldSCF module is available in the ADF2014 User’s Guide.

adf. 中有各种SCF加速技术。默认通过胡和王的混合ADIIS + DIIS方法[291] is used, unless the number of DIIS expansion vectors is set to zero (see the DIIS N key below) or NoADIIS is specified. Other available methods are LISTi, LISTb, LISTf, and fDIIS. The ARH and Energy-DIIS methods are available with the OldSCF method only.

主要选择

主密钥SCF的数据块中的子块控制上述方面。每个子项都是可选的。遗漏意味着应用默认值。遗漏SCF密钥均暗示所有子项的默认值。

 SCF. 
 Iterations Niter
 Converge  SCF. cnv { sconv2 }
 ADIIS {THRESH1=a1 THRESH2=a2}
 NoADIIS
 Diis {N=n} {OK=ok} {cyc=cyc}
 Mixing mix
 LISTi
 LISTb
 LISTf
 fDIIS
 OldSCF
End
Iterations Niter
Niter
允许的最大SCF周期数。在几何优化的情况下,它将其单独应用于执行的每个SCF过程。默认为300.即使指定非正数,程序也会执行至少一个周期。
Converge SCF. cnv { sconv2 }
SCF. cnv
阻止SCF更新的标准。测试误差是Fock矩阵的换向器和基矩阵(=基础函数的表示中的浓度矩阵),从中获得F矩阵。达到绝对自我一致性时,该换向器为零。当最大元素低于SCFCNV和10 * SCFCNV的矩阵的标准时,考虑收敛。默认值为1E-6(在创建模式下:1E-8)。
sconv2
当SCF程序会聚难以时发挥作用的第二个标准。当在任何SCF程序中,当前适用的标准似乎无法实现,程序停止SCF。当满足次要标准(SCONv2)时,仅发出警告,并且程序正常继续。如果未满足辅助标准,则程序终止任何其他几何优化,频率步骤等。您可以防止程序在这种情况下终止键允许。 Sconv2的默认值是1E-3。
ADIIS {THRESH1=a1 THRESH2=a2}
这里, a1a2 对应于[f,p]换向器矩阵,errmax的最大元素的值。如果是errmax. \(\ geq \) a1 然后仅使用A-DII系数来确定下一个FOCK矩阵。如果是errmax. \(\ Leq \) a2 然后仅使用SDIIS系数。对于errmax之间 a2a1 根据errmax值从SDIIS和A-DII值计算总DIIS系数。因此,A-DIIS系数的权重随Errmax值而减小。 A1和A2的默认值分别为0.01和0.0001。在困难的SCF案例中,特别是当Pulay Diis似乎不稳定时,值得试图减少阈值,并让A-DII对其自身接近最终解决方案。
NoADIIS
Disables A-DIIS and switches SCF to a damping+DIIS scheme. In this scheme, SCF starts with simple damping (a.k.a. mixing) and continues until the maximum element value of the [F,P] commutator drops below the DIIS OK parameter but for no more than DIIS Cyc iterations. After this, the pure Pulay DIIS scheme becomes effective till the end of the SCF procedure.
Diis {N=n} {OK=ok} {cyc=cyc}

The DIIS subkey specifications can be given to control the SCF acceleration procedure. All these specifications are optional. Normally, ADIIS+SDIIS is activated starting from the 2nd iteration regardless of the OKCyc settings below. The two settings become effective only when NoADIIS is specified.

N
用于加速SCF的扩展向量的数量。进入线性组合的先前循环的数量是N-1(新的计算电位也参与线性组合)。默认情况下n = 10。输入值小于2禁用DIIS。请注意,此数字不仅适用于Pulay DIIS方案,还适用于其他类似DIIS的方法,例如A-DII和列表方法。 It should be noted that methods from the LIST family are quite sensitive to the number of expansion vectors used. For this reason, these methods have a built-in limit on the number depending on the iteration number and the degree of convergence. The number of vectors in LIST increases when approaching convergence but it is always limited by DIIS N, which is a hard limit. It may be useful to set DIIS N to a value larger than 10 when using a LIST method with a difficult to converge system. A value between 12 and 16 can sometimes get the job done.
OK
当禁用A-DII时,Pulay DII启动标准,默认为0.5 A.U ..
Cyc
When A-DIIS is disabled, the Pulay DIIS will start at this iteration (by default 5) irrespective of the DIIS OK value above.
LISTi LISTb LISTf
列表家庭方法已通过Y.A组的出版物实施。王[432]. Even though the keyword does not take any arguments, the number of vectors to store specified by DIIS N also applies to the LIST methods. This number is a very important parameter and it is worthwhile increasing or decreasing it in case of SCF convergence problems. A word of caution: do not just blindly increase the number for every system. Testing showed that a large number breaks convergence for some, mainly small, systems.
Mixing mix
mix
当没有SCF加速度方法都处于活动状态时,确定下一个FOCK矩阵 \(f = mix f_ {n} +(1-mix)f_ {n-1} \). 默认值为0.2。
OldSCF
强制执行旧的SCF程序。它也将在以下选项之一时自动使用: [*] Occupations Steep is specified; [*] Level-shifting is enabled (see the Lshift key below); [*] The augmented Roothaan-Hall method is enabled (see the ARH key below); [*] The Energy-DIIS method is enabled (see the EDIIS key below); [*]使用SIC-OEP方法; [*] The RESTOCC key is specified.
Lshift vshift {Err=shift_err} {Cyc=shift_cyc}

Level shifting is currently not implemented in the new SCF, therefore specifying Lshift switches on OldSCF automatically.

VShift
水平移位参数。 Fock矩阵的对角线元件,在先前迭代的轨道的轨道的表示中由虚拟轨道的VShift Hartree能量单元提出。这可能有助于解决在SCF迭代期间的收敛问题,因为在靠近能量和围绕费米水平的不同轨道之间来回晃动。在旋转轨道耦合的情况下不支持水平转换。 在使用Virtuals的时刻属性,如激励能量,响应属性,NMR计算,如果应用电平移位,则会给出不正确的结果。
Shift_err
指定在SCF错误低于阈值的情况下,程序将由程序关闭级别转换;默认值:0。
Shift_cyc
指定在给定的SCF循环编号(用于启动几何)之前未打开级别移位;默认值:1。

注1: 非常强烈的阻尼,即,如1E-3如1E-3的混合值非常小,可能与DIIS程序相结合。原因是,随着强烈的阻尼连续的SCF循环往往非常相似,建立DIIS空间的矢量变得线性依赖性。我们建议在困难的情况下使用不太强烈的阻尼(MIX = 0.03) 或者 在禁用DIIS时使用强度阻尼(通过为DIIS子项设置n = 0,并且在有限数量的SCF迭代期间将NOADIIS子项包含在SCF)中,然后 重新开始 DIIS激活和不严格的阻尼。

笔记2: 另一个功能, 电子涂抹,可用于克服融合困难。该想法是通过伪热分布函数将电子占用分配在围绕费米水平周围的几个状态。该方面是用占用键的涂抹选项控制。应该意识到职业的应用分配并不是对有限温度案例的近似值。事实上,结果是不科学的,一个人不应该将结果用作有意义的结果。涂抹伎俩是 只要 用于克服融合困难。已经达到了融合,通常应该在没有涂抹的情况下进行后续重启计算,使用融合结果希望使得能够正确收敛。典型的‘allowed’应用是在几何优化期间使用涂抹,因为中间几何形状无论如何都不相关,并且只迈出了最终结果的步骤。默认情况下,程序确实如此 不是 除非在几何优化期间,否则涂抹任何涂抹。有关更多详细信息,请参阅职业密钥。

注3: A-DII与强制非AUFBAU电子配置不兼容,并且在这种情况下被自动禁用。可以使用占用键的块形式强制执行非AUFBAU电子配置,但是它也可能由keekInitals(A.K.A.轨道跟踪)特征产生。

能量 - DIIS.

 SCF. 
 EDIIS
 ...
End

通过Kudin,Scuseria和Cances的纸张实施了能量 - DIIS [289]。通过在SCF块中指定EDIIS关键字来调用该方法。请注意,与ARH类似的ADF中的标准SCF程序,此方法需要在每个SCF循环中进行能量评估,这使得与无能的SCF相比,它显着慢。您可能需要更高的集成精度来获得准确的总能量。相同的限制适用于关键 Totalenergy。 EDIIS方法将在第二个SCF周期开始,DIIS空间的大小与正常DII相同。除了块密钥SCF的其他子项之外,还可以使用此子项EDII。此方法已被A-DII和列表家庭方法超高

增强Roothaan-Hall(ARH)

T. Helgaker和同事制定了增强的Roothaan-Hall方法,并在REF中广泛讨论。 [271]。该方法的基本思想是密度矩阵直接优化以最小化总能量。在每个步骤中,新密度矩阵在矩阵指数方面是参数化:

P 新的 = exp(-X) P 老的 exp(X),

这里,X是一个受以下条件的反对称步骤矩阵:

x = argmin {e(p(x))} - x最小化能量

| x |<h - x的长度小于或等于某个信任半径

使用缀合物梯度法找到最佳X,可能具有预处理。基于预测能量变化的程度更新了信任半径。

arhoptions输入

可以无条件地指定ARH选项而不打开方法本身。 ArhOptions子键具有与ARH子项相同的参数(见下文)。它应该与允许ARH关键字组合使用。如果SCF忘记,则会自动调用ARH过程。

 SCF. 
  ARHOPTIONS ....
  ...
End
SYMMETRY NOSYM
ALLOW ARH

ARH输入

使用SCF输入块中的ARH关键字调用ARH过程。除了块密钥SCF的其他子项之外,还可以使用此子项ARH。

 SCF. 
  ARH {CONV=conv} {ITER=iter} {NSAVED=nsaved} {START=start}
      {FINAL} ...
  ...
End
SYMMETRY NOSYM

ARH关键字中的所有参数都是可选的。以下参数确定ARH过程的主要参数。

CONV=conv
ARH融合标准。当RMS梯度及其最大组件均低于标准时,ARH程序将被认为会聚。默认值为10-4 .
ITER=iter
执行最大ARH迭代次数。请注意,在困难的情况下,可能需要大量的迭代来完成SCF收敛。默认值为500。
FINAL
确定ARH完成后是否持续存在SCF。如果设置了此选项,将执行一个Fock矩阵对角,以获取轨道,并且SCF过程将停止。默认情况下,此选项已关闭。
START=start
设置调用ARH方法的SCF循环编号。默认值为2.使用更大的值可以为ARH最小化提供更好的开始猜测。
NSAVED=nsaved
设置用于增强电子黑森州的保存密度和FOCK矩阵的数量。默认值为8.当极近费米水平非常接近的轨道数量大时,应在困难的情况下使用较大的NSAVED值。

默认最小化方法是未转化的预调节共轭梯度。以下两个参数可用于改变此。

NOPRECOND
在CG最小化期间​​禁用预处理。如果存在比第二行元素重的原子重,则不应使用此选项。
TRANSPCG
指定此选项将使转换的预调节CG方法能够在某些情况下导致更好的SCF收敛。

在每个SCF步骤中,程序首先执行通常的CG最小化保持总步长度的最小化。如果在某些微迭代中,步长超过信任半径,则过程切换到缩小空间中的信任半径优化,从而一旦级别移位参数就会停止 融合了。然后将最终步骤计算为在CG最小化期间​​生成的所有试验载体的降低空间中的牛顿步骤。以下选项可用于修改此行为。

NOSWITCHING
设置此选项关闭从正常CG的切换到降低空间中的信任半径最小化。使用此选项有助于减少SCF周期的总数是某些情况。
SHIFTED
设置此选项将打开第一个微迭代的Trust-Radius优化。
CGITER=cgiter
设置最大微迭代数。

接下来的两个选项确定了信任半径。

TRUSTR=trustr
信任半径的初始值。默认值:0.5
MAXTRUSTR=maxtrustr
最大信任半径值。默认情况下,此设置为0.5,不应更改。

arh笔记和建议

限制: 该方法目前仅适用于对称鼻子计算。鼻子要求来自于在密度矩阵的直接优化期间,它可能具有低于分子的对称性。

该方法需要在每个步骤中计算总能量,这使得与不需要或使用能量的标准SCF程序相比,这使得更昂贵。因此,只有在标准SCF过程发生故障时才应使用该方法。通过使用总能量造成的另一种复杂性是可能需要稍高的集成精度来获得稳定的SCF收敛性,并且该方法可能在所有情况下都不适用。还建议使用它 adddiffusefit 关键词提高总能量的准确性,从而提高收敛。请参考 Totalenergy 关键字以获取更多信息。