这是本文档旧的修订版!
对于片段分析计算,例如我们把一个体系拆分成N个片段,那么这个片段分析计算实际上包含N+1个计算任务,包括:N个片段分别被当成孤立存在的分子,对它们分别进行DFT计算,得到每个片段的分子轨道;然后进行整个体系的计算任务,该计算是将前面片段的分子轨道当作基组,来求解整个体系的分子轨道。
为了方便下文把问题说清楚,我们把N个片段的DFT计算,都叫做“片段计算”,把整个体系的计算叫做“整体计算”。
片段分析,虽然“整体计算”可以使用Unrestricted,也可以使用Restricted,但在进行“片段计算”的时候,只能用Restricted方法。关于Restricted的含义,参考:开壳层、闭壳层与Restricted、Unrestricted
对于开壳层的某个片段,默认的计算设置,往往不能得到正确的占据方式,那么我们需要认为指定电子如何占据。对每个具体的“片段计算”,如何去指定电子的占据,参考:如何为对称性的分子指定电子的占据方式
片段计算完毕之后,整个体系的计算,会使用片段轨道作为基组计算整个体系的分子轨道。我们需要根据“片段计算”的到的片段分子轨道的具体的占据方式,在“整体计算”的ADFinput中,再声明一次(如果是二重态,ADFinput往往会自动声明,而且往往声明的是正确的)。如果声明的片段的分子轨道占据方式,和实际“片段计算”得到的分子轨道占据方式不一致,就会有:*.logfile提示: ERROR DETECTED: INCONSISTENT FRAGMENT OCCUPATIONS
注意:是两个自由基之间,还是一个链状分子的两段,或者是将环分为两个部分,对于片段功能来说,没有本质的差别,设置方法是一样的。
那么为什么要指定Fragmentoccupations呢?
而FRAGOCCUPATIONS的作用是什么呢?它在程序中的具体过程是这样的,我们以 A 4 / / 5的情况来举例:
片段计算得到的占据方式,有可能是A 4.5 / / 4.5,也可能是A 4 / / 5。 我们去看level图的时候,这两种情况的显示完全是一样的;看out结果,也区分不开。 不管是A 4.5 / / 4.5,还是A 4 / / 5,如果总体计算,设置了FRAGOCCUPATIONS,那么总体计算的时候,就以片段计算得到的轨道,进行一次自洽迭代,然后重新进行电子排布,排布成FRAGOCCUPATIONS的方式,然后再进行片段分析的计算——这是最常用的一种开壳层片段的处理方式。
如果总体计算,不设置FRAGOCCUPATIONS,那么实际上相当于设置的是:
FRAGOCCUPATIONS Region_1 A 4.5//4.5 SUBEND Region_2 SUBEND END
正确的做法是设置:
FRAGOCCUPATIONS Region_1 A 4.0//5.0 SUBEND Region_2 SUBEND END
这里我们只讨论了Region_1,没有讨论Region_2,Region_2是类似的情况。
在“整体计算”的ADFinput > Details > User Input输入如下内容:
FRAGOCCUPATIONS Region_1 A 1//0 SUBEND Region_2 A 4//5 SUBEND END
这部分是关于这个的设置,比如上面的设置的含义是::
注意: