电子能量的基组外推以及ORCA中的自动实现
一般来说,对于同一种计算方法,随着所使用基组的逐渐增大,其所得能量呈一个收敛趋势。量子化学计算的误差来源之一就是基组的不完备。要想获得完备基(complete basis set, CBS)(或称基组极限basis set limit)下的能量一般使用能量的外推技术。这就要求我们能够知道能量随基组的增大的数学形式。对HF/DFT以及后HF方法,文献中有不少形式的外推公式。本文介绍最为普遍使用的外推公式,以及在ORCA中的自动实现。
对HF/DFT方法,能量收敛到基组极限的表达式为
或
两个式子一般差别不大。在这个式子中,X称为cardinal number,是该基组中基函数的最高角量子数,一般来说,2对应double-zeta基组,3对应triple-zeta基组,依此类推。上式中存在三个未知数:E(∞)、A和α,因此要做SCF能量的外推,需要3个点,一般用DZ/TZ/QZ三个级别下的能量来做外推,联立方程组,即可求出E(∞)。为了节省时间,文献中也有现成的拟合好的α值,可以直接使用。在后文中,我们会列出ORCA手册中推荐的值。确定了α值后,使用两点即可外推:
对后HF方法,相关能部分一般使用的表达式为
值一般取3。在ORCA手册中,认为对DZ/TZ的外推,β取2.4更合理。当β值确定后,相关能只要两个点即可外推,其表达式为
一般使用TZ/QZ的组合来外推,如果计算量无法承受,使用DZ/TZ也可以。
在ORCA手册中,对α和β的值,对不同系列的基组和所用基组的大小给出了如下的推荐值:
对CCSD(T)级别,有时候连TZ级别的基组都是算不动的,还可以使用如下的近似外推:
其中,括号中的项称为CC校正,这里的假设是大基组和小基组下CC和MP2的能量差相似。
换种写法:
这时可以解读为CC和MP2方法下大基组和小基组的能量差相似。
ORCA中可以自动实现基组的外推,而不需要手动提交多个作业并处理数据。使用的关键词有两种形式:一种为Extrapolate(X/Y,basis),X和Y是连续的cardinal numbers,basis为所使用的基组类型,包括cc、aug-cc、cc-core、ano、saug-ano、aug-ano、def2;另一种为Extrapolate(n,basis),其中n表示使用的能量的数目,能量从DZ开始。例如,使用! Extrapolate(3,cc)时,将会计算cc-pVDZ、cc-pVTZ和cc-pVQZ三个能量,而最终会给出DZ/TZ和TZ/QZ两组外推值。
例1:乙烯分子的CCSD(T)能量外推,使用cc-pVDZ和cc-pVTZ两种基组。
输入文件:
%pal nprocs 10
end
! CCSD(T) Extrapolate(2/3,cc) TightSCF
%maxcore 2000
*
xyz 0 1
C 0.14314929 0.08179959 0.00000000
H 0.67631304 -0.84590533 0.00000000
H -0.92685071 0.08179959 0.00000000
C 0.81842360 1.25677689 0.00000000
H 0.28525985 2.18448181 0.00000000
H 1.88842360 1.25677689 -0.00000000
*
输出结果:
各能量的含义写得很清晰,此处就不做解读了。
例2:乙烯分子的CCSD(T)能量外推,使用MP2的cc-pVDZ和cc-pVTZ两种基组的能量和CCSD(T)/cc-pVDZ的能量。使用的关键词为ExtrapolateEP2(2/3,cc,MP2)
输入文件:
%pal nprocs 10
end
! ExtrapolateEP2(2/3,cc,MP2) TightSCF
%maxcore 2000
* xyz 0 1
C 0.14314929 0.08179959 0.00000000
H 0.67631304 -0.84590533 0.00000000
H -0.92685071 0.08179959 0.00000000
C 0.81842360 1.25677689 0.00000000
H 0.28525985 2.18448181 0.00000000
H 1.88842360 1.25677689 -0.00000000
*
输出结果: