BSSE矫正之相互作用能的计算
(2016-03-21 17:57:26)一、原理与理解
在量子化学中,由于采用的是有限基组近似,故在计算一个超分子比如二聚体AB的相互作用能时,会由于描述片段A的基组扩散到B上,反之亦然。这样,描述片段A,B,二聚体分子的基组就不再处于同一水平了——基函数的数目发生一定的变化。这样会导致计算二聚体能量时所用的基函数数目增多,人为降低了二聚体的能量。从而导致相互作用能的计算
DeltaE=Ea+Eb-Eab
偏大(取正值)。这种现象就成为基组重叠矫正误差(basis set )也可以这么理解,由于之前提到的目前使用的基组是有限的,非完备的,根据变分原理:决定能量的自由度增加,能量降低。这样导致二聚体的能量与没有这种基组叠加误差的能量相比时偏低,导致DeltaE偏大。
我们也可以还一种思路来理解:我们知道,描述分子的基函数数目越多,得到的能量准确,这样我们认为Eab的计算是准确的。但Ea与Eb计算时,与Eab相比,所用的基组数目要少一些,故导致前二者能量偏高,这样算出来的DeltaE也偏大。
这是一种人为效应,所以需要矫正,于是1970年Boys等人(S. F. Boys and F. Bernardi, “Calculation of Small Molecular Interactions by Differences of Separate Total Energies - Some Procedures with Reduced Errors,” Mol. Phys., 19 (1970) 553.)提出了couterpoise矫正的思路,在单体上增加基函数,来降低这种人为的偏高,以达到矫正的目的。
二、高斯实例与计算
在高斯中计算DeltaE加入关键词Counterpoise就可以了,若有两个片段则指定:Counterpoise=2 即可。
输入文件例子:
# UHF/6-21G(d) Counterpoise=2
Counterpoise on water dimer
1,2 1,2 0,1
O(Fragment=1) 0.00 0.00 0.00
O(Fragment=2) 0.00 0.00 2.98
H(Fragment=1) 0.49 0.76 -0.29
H(Fragment=1) 0.49 -0.76 -0.29
H(Fragment=2) -0.91 0.00 3.24
H(Fragment=2) -0.01 0.00 2.03
三、结果处理
成功计算以后,会得到七个相关的能量:搜索scf done会得到五个能量1-5,分别为:(数字是能量顺序的编号,便于下边的计算)
未校正的二聚体能量 1
校正后的片段1的能量 2
校正后的片段2的能量 3
未校正的片段1的能量 4
未校正的片段2的能量 5
两外两个是:
6 Counterpoise: corrected energy = -2510.716555327645
7 Counterpoise: BSSE energy = 0.004963814828
这两个分别为矫正之后二聚体的能量;
BSSE重叠能,也就是片段A和片段B被高估的能量,或者二聚体被低估的能量。
这样我们计算矫正之后的相互作用能应该至少有三种思路:
1)2+3-1 此时把二聚体的能量看成是准确计算的,因为它的变分自由度最多。所以采用矫正的片段能量。
2)4+5-6 这时我们把片段的能量堪称是可以准确计算的,此时二聚体的能量计算偏低,故采用矫正的二聚体能量6.
3)4+5-1-7 其思路和1)差不多,这不过被高估的片段A ,B的能量最后才被扣除
因此,从上述可以看出,最偷懒的方法是找到前三个能量就可以简单进行计算。
四、注意
1)根据基组的完备度,显然基组越小,BSSE效应越明显,越有必要矫正;基组越大时,矫正的必要性越小,这也是Grimme主张的在进行DFT-D计算相互作用能时,采用TZ2P以上的基组可以考虑不矫正的原因;
2)弥散函数比极化函数更加扩散,这样弥散函数的BSSE效应要强于极化函数的;
3) 对于非SCF水平下(HF和DFT)的计算,请务必选择正确的能量,比如采用MP2计算时,此时scf done后给出的能量只是HF水平下的能量,真正的MP2水平下的能量是:EUMP2= 后边的数值;
4)计算过程中,通常先优化二聚体,或者直接从晶体结构中取二聚体的几何即可。不要试图去优化片段,这样得到能量不再是相互作用能,此时还包括了片段形变后的能量。
五、尾声
为了帮助大家熟悉BSSE和计算相互作用能。本人整理了一个excel表格,只要填入相应的数字就可以得到相关能量。并结合了一个例子输出列出这七个能量所在的行号。
转:小木虫:http://emuch.net/html/201105/3157214.html
7本来就等于2+3-4-5,而6就是1+7,然后计算相互作用能用没校正的相互作用能加上7就完了