============== 价键与透热态 ============== 我们在上一讲中介绍了如何利用价键理论和XMVB软件计算及分析化学反应过程。在实际计算中,很多化学过程都涉及了电子转移的过程,比如电子输运、各种光物理和光化学过程等。在这些领域的计算中,我们常常会涉及 *透热态* 的概念。这一讲中,我们将简单介绍一下价键在透热态计算中的应用。 什么是绝热态?什么是透热态? ============================ “透热态”是一个和 **绝热态** 相对应的概念。要了解透热态,首先要了解绝热态。简单来说,绝热态就是在 Born-Oppenheimer 近似下,通过求解体系电子波函数的薛定谔方程得到的本征态。我们通常说的 **电子态** 就是指绝热态,各种势能曲线对应的也是绝热态的能量曲线。 一般情况下,绝热态曲线之间是不相交的。但是,在涉及电子转移过程的研究中,不同的绝热态会在发生电子转移的地方附近发生简并。此时两个绝热态的能量非常接近乃至完全一致,对应的绝热势能曲线也非常靠近乃至相交,形成“圆锥交叉”区域。此时 Born-Oppenheimer 近似失效,一些物理量在圆锥交叉区域会发生剧烈变化,形成奇点。这给我们的理论研究带来了挑战。 为了解决此时的困难,研究者们以简并或近简并的绝热态为基础,通过一定的变换,将绝热态重新组合为一系列新的波函数。在这些波函数的表象下,原先的奇点消失,物理量的变化变得光滑连贯。这些波函数就被称为 **透热态** 。 为什么用价键计算透热态? ========================= 从 :numref:`chapt8:什么是绝热态?什么是透热态?` 的介绍中,我们可以看到,绝热态是有严格的数学定义的,而透热态却没有。通常情况下,人们都是先在圆锥交叉区域附近求得绝热态,然后通过一定的方法得到变换矩阵,将绝热态重组为透热态。这种变换方法不是唯一的,因此得到的透热态也不唯一。由于人们通常使用 MO 或 DFT 波函数来进行计算,离域正交轨道的使用也使得透热态对应的化学图像并不明晰。 价键波函数是一种天然的多组态波函数。每一个绝热态对应于价键结构的一种组合。每一个价键结构对应于一种特定的电子占据方式,不同价键结构间的变换就可以描述电子的转移过程。我们可以看到,价键结构可以作为构造透热态波函数的基石,使用价键波函数来计算和描述透热态不仅可行,而且可以为透热态提供清晰的化学图像。 .. _figure_lif_pec: .. figure:: _static/LiF-PEC.png :width: 800 :align: center LiF解离曲线(部分) :numref:`figure_lif_pec` 是 LiF 分子势能曲线 2.0-4.0 Å 处的细节图,S0 和 S1 是两个绝热态,Li-F 和 Li\ :sup:`+` F\ :sup:`-` 分别表示共价结构和 Li\ :sup:`+` F\ :sup:`-` 形式的离子结构。我们可以清晰地看到,随着解离的进行,基态 S0 中的主要成分逐渐由离子结构转变为共价结构,意味着一个电子逐渐由F原子上转移到了 Li 原子上。这种计算结果是自然而然得到的,没有经过任何人为的处理。 如何在 XMVB 中计算透热态? =========================== 需要注意的是,虽然某个价键结构可以很好地表示某个透热态,但是透热态并不等于价键结构。为了得到透热态,我们需要将绝热态重组为透热态,这被称为 **透热化** 。目前主要的透热化方法都是基于分子轨道的。厦门大学苏培峰教授课题组发展了一个基于从头算价键的透热化方法 VBCAD ,可以实现黑箱式的价键透热化处理,得到基于价键结构的透热态。目前 VBCAD 已经内置于 XMVB ,用户可以利用关键词 ``VBCAD`` 实现透热化。目前 VBCAD 只支持两态的透热化。 VBCAD 基于态平均计算(见 :numref:`chapt6:态平均计算` )。用户可以在态平均计算的基础上加上 ``VBCAD`` 得到透热态。以 LiF 为例,VBCAD 的输入文件如下所示(省略了 $GUS 部分): .. code-block:: :linenos: LiF $CTRL VBSCF STR=FULL NAO=2 NAE=2 ISCF=5 IPRINT=3 ORBTYP=HAO FRGTYP=SAO INT=LIBCINT BASIS=CC-PVDZ WSTATE(1)=0.5,0.5 GUESS=READ VBCAD $END $FRAG 1*4 SPZDXXDYYDZZ 1 SPZDXXDYYDZZ 2 PXDXZ 2 PYDYZ 2 $END $ORB 1*7 1 2 2 3 4 1 2 $END $GEO Li 0.0 0.0 0.0 F 0.0 0.0 1.5 $END 在输出文件中,用户会看到一段这样的输出信息: .. code-block:: :linenos: ++ VBCAD Diabatic States Output: ----------------------------- … ++ Adiabatic States Output: ------------------------ 在这中间的就是 VBCAD 的输出内容。以 LiF 为例,我们可以得到两个透热态,分别为: .. code-block:: :linenos: VBCAD DIABATIC STATE: 1 VBCAD DIABATIC ENERGY: -106.714561 ****** COEFFICIENTS OF STRUCTURES ****** 1 1.00164 ***** 1:5 6-7 2 -0.01689 ***** 1:5 6 6 3 -0.02551 ***** 1:5 7 7 CC Weights 1 1.00117 ***** 1:5 6-7 2 -0.00055 ***** 1:5 6 6 3 -0.00062 ***** 1:5 7 7 和 .. code-block:: :linenos: VBCAD DIABATIC STATE: 2 VBCAD DIABATIC ENERGY: -106.877821 ****** COEFFICIENTS OF STRUCTURES ****** 1 0.02420 ***** 1:5 6-7 2 0.00047 ***** 1:5 6 6 3 -1.00091 ***** 1:5 7 7 CC Weights 1 -0.00062 ***** 1:5 6-7 2 0.00000 ***** 1:5 6 6 3 1.00062 ***** 1:5 7 7 可以看到,第一个透热态基本是 Li-F 形式的共价结构,第二个透热态基本是 Li\ :sup:`+` F\ :sup:`-` 形式的离子结构。