目录

ADF中如何计算、消除BSSE

BSSE的含义

简单的说,考虑BSSE的原因,就是计算结合能的时候,需要统一基函数,这样结合能定义上才更严格。而如果在做包含Ghost原子的计算时,如果Ghost原子特别多,而实际原子很少,很容易出现基组在很大空间存在,而电子只局限在很小区域,这样的SCF计算很容易出现收敛到错误的态上,导致结果无效。

例如我们计算两个水分子形成氢键的结合能,首先需要计算两个孤立的水分子的能量,然后再计算总的能量,二者想减就得到结合能——我们通常会这样做。而做的过程中,我们设置的基组一般也会保持一致,例如计算孤立水分子的时候,我们使用了DZP基组、None Frozen Core,那么计算两个水分子形成的复合体系时候,也会确保每个原子的基组,都跟前面一致,而同样选择DZP基组、None Frozen Core;如果对于更大原子,计算单体的时候选了TZ2P基组,那么计算复合体系的时候,对该原子也需要选择TZ2P基组。

不过这并不够,原因是我们计算其中一个单体(例如水分子)的时候,基函数包括这个单体的原子对应的基函数,但却没有复合体系中其他单体的原子对应基函数;而计算整个复合体系的时候,基函数则是使用了所有单体的所有原子的基函数。因此,这样做的话,复合体系使用的基函数规模实际上是大于单体计算的,这会导致复合体系的能量偏低(因为DFT是一个变分理论,基函数越多,变分空间就越大,能量会越低,当然也有个收敛值,不是无限低下去),也就导致结合能偏高(结合能为负数,因此指结合能绝对值偏大)。这个偏差就叫做BSSE。

一般而言,接触面积越大BSSE越大,一般小分子之间的接触面积很小,BSSE可以忽略。

如何消除BSSE

我们全程保证每个计算都使用相同的基函数就可以了。如何保证呢?这就要借助ADF图形界面里面的Ghost原子的功能。该功能实际上就是将设置为Ghost的原子做一个设定:该原子在计算中只贡献对应的基函数,既没有电子,也没有原子核。

我们用H2和苯分子之间的BSSE来举例:

1,首先需要对苯+H2的复合体系进行结构优化,几何结构优化的使用可以参见优化分子的几何结构

2,基于优化好的复合体系的分子结构,先计算该符合体系的单点能(*logfile尾部的bond energy或*.out中的total bonding energy),参数设置参见单点能计算、HOMO、LUMO、IP、EA的计算、分子轨道的成分

3,如下图所示,计算H2单体的能量(需要将苯设置为Ghost):

然后参数设置(如基组、泛函等等)与2一致,计算单点能。这样得到的单点能,就是H2的单点能。因为基函数包含了H2的基函数,也包含苯的基函数,但没有苯的电子、原子核。

4,类似地,计算苯单体的单点能能量(需要将H2设置为Ghost)

然后参数设置(如基组、泛函等等)与2一致,计算单点能。这样得到的单点能,就是苯的单点能。因为基函数包含了苯的基函数,也包含H2的基函数,但没有H2的电子、原子核。

5,如此得到的复合体系的总能量(第2步的单点能)减去单体的能量(即3,4得到的单点能),就是消除BSSE之后的分子间的结合能如果第3、4步,如果对应的原子不是被设置为Ghost,而是直接删除,那么第2步的单点能,减去3、4步单点能,得到的,就是包含BSSE的分子间的结合能。

AMS软件提供免费试用,试用申请方式参考:AMS免费试用**