摘抄:使用基组和赝势
基本概念
基组(basis set)
在量子化学中,基组是指用来描述体系波函数的一组数学函数。
斯莱特型轨道(Slater-Type Orbital,STO)
指的是用斯莱特型函数模拟原子轨道,用斯莱特型函数构成的基组具有明确的物理意义,能够较好的描述电子云的特征,缺点是在计算多中心双电子积分时,计算量很大。
高斯型轨道(Gaussian-Type Orbital,GTO)
高斯型轨道是指用高斯型函数替代原来的斯莱特型函数去模拟原子轨道,高斯型函数基组的优点是易于计算,但不能很好地描述原子轨道的特征。
压缩高斯型轨道(Contracted GTO)
为了兼具斯莱特型函数和高斯型函数的优点,将多个GTO线性组合压缩成一个STO轨道,就构成了所谓的压缩高斯型轨道。压缩高斯型基组是目前使用最多的基组。
最小基组(minimal basis set)
当我们用三个GTO线性组合压缩成一个STO时,就构成了最小基组,表示成STO-3G(这个符号的意义是3个GTO压缩成一个STO),它是规模最小的压缩高斯型基组。由于基组规模较小,计算量也就小,但计算精度不高。
劈裂价键基组(Split-valence basis set)
增大基组规模是提高计算精度的一个方法。由于内层电子对反应性质的影响往往不大,因此,为了兼顾计算精度和计算效率,通常的做法是将价层电子轨道劈裂成更多的基函数。
常见的劈裂价键基组有3-21G、6-31G、6-311G等,在这些表示中,“-”之前的数字表示构成内层原子轨道的高斯型函数数目,“-”之后的数字分别表示构成价层轨道的劈裂基函数的高斯型函数数目。以6-31G所代表的基组为例,每个内层电子轨道由6个高斯型函数线性组合而成,而每个价层电子轨道则被劈裂成两个基函数,分别由3个和1个高斯型函数线性组合而成。
极化函数(polarization function)
为了更好的描述电子云变形的性质,在劈裂价键基组的基础上又引入了极化函数(也就是在劈裂价键基组的基础上添加更高能级原子轨道所对应的基函数,尽管这些高能级原子轨道没有电子分布,但却会对内层电子构成影响,因而包含了极化函数的劈裂价键基组能够更好地描述体系的性质)。
在劈裂价键基组上添加极化函数的方式:以添加了极化函数的基组6-31G(d)和6-31G(d,p)为例,6-31G(d)相当于在劈裂价键基组6-31G的基础上为重原子(除氢,氦原子)添加一个d极化函数(在表示方法上,6-31G(d)等同于6-31G*);而6-31G(d,p)则相当于除了在劈裂价键基组6-31G的基础上为重原子添加一个d极化函数,也为轻原子(氢和氦原子)添加一个p极化函数(6-31G(d,p)等同于6-31G**)。
弥散函数(diffuse function)
为了更好地描述非键相互作用(例如阴离子体系),在添加了极化函数的基础上又需要添加弥散函数,弥散函数的特点是函数的图像会向着远离原点的方向弥散,因而能够描述较远程的相互作用。
添加弥散基组的方式:以添加了极化函数和弥散函数的基组6-31+G(d)和6-31++G(d,p)为例,6-31+G(d)相当于在基组6-31G的基础上为重原子(除氢,氦原子)添加一个极化函数和一个弥散函数;而6-31++G(d,p)则相当于除了在基组6-31G的基础上为重原子添加一个极化函数和一个弥散函数,也为轻原子(氢和氦原子)添加一个极化函数和一个弥散函数。
全电子基组
上面介绍的基组,例如6-31G,6-31+G(d)等等,又叫做全电子基组,全电子基组的特点是内层和外层电子都用基函数来表示。
赝势(Pseudopotential)
在描述原子轨道时,假如不计算内层电子,而把内层电子的贡献用一个势能项来描述,那么这个势能项就称为赝势。当使用赝势(描述内层电子)时需要配合基组(描述价电子)的使用。使用赝势的原因在于:
- 能够减小计算量
- 没有相应的全电子基组
- 对于重原子能够计入相对论效应
在 Gaussian 程序中如何为原子指定基组
在 Gaussian 计算任务中,大多数方法都需要指定基组,当没有基组被指定时,STO-3G 基组是默认选项。下面是一些不需要指定基组的方法(这些方法中,基组是作为方法的一部分出现的,因此不需要额外指定):
- 所有的半经验方法
- 所有的分子力学方法
- 所有的 Gn,CBS 和 W1 方法
对于其他需要指定基组的方法,我们以计算溴代甲烷(CH3Br)的单点能为例,演示如何为原子指定全电子基组和赝势。
为原子指定全电子基组的方法
这里分为两种情况,一种是所有的原子都采用相同的基组,另一种则是不同的原子采用不同的基组。
(1)当所有的原子都采用相同的基组时,可以直接将基组写在输入文件的 route 行:
b3lyp/6-31G(d)
表示所有类型原子都采用此基组。
(2)当不同的原子采用不同的基组时,我们可以调用 gen 关键字为不同的原子指定不同的基组:
b3lyp/gen
例子:
1 | #b3lyp/gen |
为原子指定赝势的方法
在 Gaussian 程序中,我们能够通过调用 genecp 关键字为原子指定赝势:
b3lyp/genecp
例子:
1 | #b3lyp/genecp |
当使用 genecp 关键字时,我们仍可以为不同原子指定全电子基组,在上面的例子中,我们仍然为 C,H 原子指定全电子基组 6-311G(d)。当我们为 Br 指定赝势时,同时也要为 Br 指定基组,基组的指定要写在赝势的指定前面,当所有的原子基组被指定之后空一行,再进行赝势的指定。
需要注意的是: 指定赝势之后,不需要在下一行以四个星号结束。
补充:外层电子也可以用 价轨道 称呼;内层电子也可以用 内层轨道/内壳轨道 称呼。(日文摘抄中提到的)。
如果下面一部分的指定不写的话,程序会认为内层轨道基组还未指定,会报错。
参考资料:
关于基组参数的详细说明我们提供了以下的参考资料。
本文出处
《Gaussian 教程 | 使用基组和赝势》:
http://blog.molcalx.com.cn/2017/11/30/gaussian-tutorial-basis-set.html