«

在Windows上使用ORCA计算旋轨耦合(SOC)矩阵元

wangsy 发布于 阅读:220 理论化学


1. 引言

本文主要面向无Linux使用经验的实验组本科以及研究生,能够实现在windows上直接使用ORCA软件包进行旋轨耦合矩阵元的计算与分析, 打破实验与理论分析的壁垒。
如有Linux使用经验,还有一批更简洁的使用脚本。准备好输入文件,能够做到Linux下一键式计算于结果分析。
任何问题可以联系作者:wang.sy@vip.163.com

1.1 为什么要计算旋轨耦合?

在非相对论量子力学的世界里,电子的自旋和它的轨道运动是完全独立的。这存在一个严格的规则:自旋多重度在电子跃迁过程中必须保持不变。也就是说,单重态(Singlet, S)只能跃迁到单重态,三重态(Triplet, T)只能跃迁到三重态。因此,像系间窜越(Intersystem Crossing, ISC)(例如,从S₁态到T₁态)和磷光发射(从T₁态回到S₀基态)这类改变自旋的“禁阻”过程,其理论上的发生概率为零。

然而,在现实世界中,这些过程广泛存在于有机发光二OLED、光动力疗法等领域。这背后的“魔法”就是旋轨耦合(Spin-Orbit Coupling, SOC)

SOC是一种相对论效应,它描述了电子自旋磁矩和其轨道运动产生的磁场之间的相互作用。当考虑SOC时,哈密顿算符中会增加一项$H_{SO}$,它打破了自旋与轨道运动的独立性。这使得原本纯粹的单重态会“混入”一些三重态的成分,反之亦然。这样一来,S→T或T→S的跃迁就不再是完全禁阻的了,其跃迁概率的大小就直接与这两个态之间的旋轨耦合强度有关。

我们通常用旋轨耦合矩阵元 $\langle\Psii|H{SO}|\Psi_j\rangle$ 来定量描述两个电子态(例如一个单重态和一个三重态)之间的耦合强度。这个值越大,它们之间发生自旋翻转过程的速率就越快。因此,计算SOC矩阵元对于理解和设计具有特定光物理性质(如高磷光效率)的分子至关重要。

1.2 教程章节

本教程旨在为计算化学零基础的本科和研究生提供一个清晰、详尽的指南。我们将遵循以下步骤:
理论背景:用最通俗的语言解释SOC计算的核心思想。
准备工作与Windows系统操作:讲解如何在Windows上准备并运行ORCA计算。
实例一:简单有机分子(甲醛):最基础的SOC计算流程,不涉及复杂的标量相对论效应。
实例二:重金属配合物(Ir(ppy)₃):如何处理含有重金属的体系,必须考虑标量相对论效应。
实例三:周期性结构(石墨烯量子点):如何将晶体等周期性结构简化为分子模型进行计算。
输出文件解读:如何从ORCA输出文件中提取和理解所有与SOC相关的数据。

2. 理论背景简介

我们计算的目标是求解旋轨耦合矩阵元 $\langle Sm | H{SO} | Tn \rangle$。这里的$H{SO}$就是旋轨耦合哈密顿算符。在ORCA等量子化学软件中,主要通过以下两种方法来处理$$H_{SO}$$:

  1. 旋轨耦合平均场 (Spin-Orbit Mean-Field, SOMF):这是一种精度较高的方法。它将复杂的双电子SOC项通过平均场的方式进行简化,在保证精度的同时极大地降低了计算成本。这是ORCA中处理SOC的默认且推荐的方法。
  2. 有效核电荷 (Effective Nuclear Charge, Zeff):这是一种更近似的方法。它认为双电子的SOC贡献与单电子的贡献有较好的比例关系,因此通过修正单电子项中的核电荷(使用一个“有效”值Zeff),来近似地包含双电子的贡献。这种方法计算速度最快,但精度相对较低。在pysoc中就是使用该方法。

对于含有重金属(如Ir, Os, Pt, Au等)的体系,除了SOC效应,标量相对论效应也非常重要。它主要影响电子的动能和势能,导致轨道收缩或扩张。在ORCA中,我们通常使用ZORA (Zeroth-Order Regular Approximation) 或 DKH2 (Douglas-Kroll-Hess, 2nd order) 哈密顿来处理标量相对论效应。

因此,我们的计算策略是:

3. 准备工作与Windows系统操作

3.1 必备软件

  1. ORCA程序点击此处免费注册并下载。下载后解压到一个没有中文和空格的路径,例如 D:\orca
  2. Windows环境变量配置
    • 右键“此电脑” -> 属性 -> 高级系统设置 -> 环境变量。
    • 在“系统变量”中找到 Path,点击“编辑”。
    • 点击“新建”,然后将你的ORCA程序路径(例如 D:\orca)添加进去。
    • 这样,你就可以在任何位置通过命令行调用ORCA了。
  3. 文本编辑器:推荐使用 Notepad++ 或 Sublime Text。不要使用Windows自带的记事本,它可能会导致格式问题。

3.2 如何在Windows上运行ORCA计算

ORCA是一个命令行程序,操作流程如下:

  1. 创建工作文件夹:在电脑上创建一个新的文件夹用于存放计算文件,例如 D:\orca_calc\formaldehyde
  2. 编写输入文件:在该文件夹中,使用文本编辑器创建一个新的文本文件,并将其命名为 calc.inp.inp 是ORCA输入文件的常用扩展名)。将下文例子中的输入代码复制进去。
  3. 打开命令提示符 (CMD)

    • 在工作文件夹的地址栏输入 cmd 然后按回车,可以直接在该目录下打开命令提示符。
    • 或者,通过开始菜单搜索 cmd 打开,然后使用 cd 命令切换到你的工作目录,例如:
      D:
      cd D:\orca_calc\formaldehyde
  4. 执行计算命令:在命令提示符窗口中,输入以下命令并按回车:

    orca calc.inp > calc.out
    • orca calc.inp:调用ORCA程序执行 calc.inp 文件中的计算任务。
    • >:这是一个重定向符号,意思是将屏幕上本应显示的所有输出信息,全部“重定向”并写入到后面的文件中。
    • calc.out:这是指定的输出文件名。计算过程和所有结果都将保存在这个文件里。
  5. 监控计算:计算开始后,你可以用文本编辑器打开 calc.out 文件。文件会实时更新,你可以通过查看文件末尾来判断计算是否正常进行。当命令提示符窗口出现新的可输入行,并且 calc.out 文件末尾出现 ****ORCA TERMINATED NORMALLY**** 时,表示计算成功结束。

4. 实例一:简单有机分子(甲醛 H₂CO)

甲醛是一个不含重元素的典型小分子,我们用它来演示最基本的SOC-TDDFT计算(默认使用SOMF处理旋轨耦合)。

4.1 步骤一:基态结构优化 (可选但推荐)

在计算激发态性质之前,通常需要先获得分子在基态下的稳定结构。
创建一个名为 formaldehyde_opt.inp 的输入文件。

! B3LYP def2-SVP Opt TightSCF

%pal
  nprocs 8
end

* xyz 0 1
  C    0.000000   0.000000  -0.525135
  H    0.000000   0.939879  -1.112613
  H    0.000000  -0.939879  -1.112613
  O    0.000000   0.000000   0.672004
*

运行优化后,你会得到一个 formaldehyde_opt.xyz 文件,里面包含了优化好的结构坐标。

4.2 步骤二:旋轨耦合计算

使用上一步优化好的结构,创建 formaldehyde_soc.inp 文件。

! B3LYP def2-SVP TightSCF

%pal
  nprocs 8
end

%tddft
  nroots 5
  dosoc true
  tda false
end

* xyzfile 0 1 formaldehyde_opt.xyz

运行此计算,结束后在 formaldehyde_soc.out 文件中就可以找到旋轨耦合矩阵元的结果了。具体如何解读,请见本文第7节。

5. 实例二:重金属配合物 (Ir(ppy)₃)

Ir(ppy)₃是磷光OLED中经典的绿光材料,含有重金属Ir,必须考虑相对论效应。

5.1 步骤一:基态结构优化

对于含重金属的配合物,优化时常用赝势基组(ECP)来替代重金属的内层电子。对于Ir这类重金属来收,def2系列基组直接采用了ECP形式,因此无需再newgto来指定ECP基组。其余基组需要基组使用规则来创建输入文件。

创建 Ir_ppy3_opt.inp 文件:

! B3LYP D3BJ def2-SVP def2/J CPCM(CH2Cl2) Opt TightSCF

%pal
  nprocs 8
end

* xyz 0 1
C        3.393895879     -0.289566719      2.776304932
C        4.076284431     -1.374299959      2.244246939
C        3.562788518     -2.026286944      1.144617313
C        2.365194919     -1.600441421      0.563698783
C        1.656920791     -0.490717084      1.087023288
C        2.209908242      0.138316955      2.204838066
C        1.779556093     -2.262575837     -0.593808565
C        2.310998596     -3.397126504     -1.214621244
C        1.678633212     -3.946679457     -2.310344980
C        0.513725976     -3.353425417     -2.779039051
C        0.041132843     -2.238327622     -2.115943483
N        0.643735830     -1.703611386     -1.062120264
C       -3.228320892     -2.843015891      2.244246939
C       -1.947720074     -2.794416690      2.776304932
C       -0.985168124     -1.982995155      2.204838066
C       -1.253433856     -1.189576955      1.087023288
C       -2.568620388     -1.248098174      0.563698783
C       -3.536210228     -2.072321893      1.144617313
C       -2.849226199     -0.409852865     -0.593808565
N       -1.797238653      0.294314111     -1.062120264
C       -1.959015004      1.083541724     -2.115943483
C       -3.161014589      1.231812963     -2.779039051
C       -4.257241276      0.519600723     -2.310344980
C       -4.097497151     -0.302820240     -1.214621244
C       -0.403486935      1.680294039      1.087023288
C       -1.224740118      1.844678200      2.204838066
C       -1.446175805      3.083983409      2.776304932
C       -0.847963539      4.217315849      2.244246939
C       -0.026578290      4.098608837      1.144617313
C        0.203425469      2.848539595      0.563698783
C        1.069670107      2.672428702     -0.593808565
C        1.786498555      3.699946745     -1.214621244
C        2.578608064      3.427078734     -2.310344980
C        2.647288613      2.121612454     -2.779039051
C        1.917882161      1.154785898     -2.115943483
N        1.153502823      1.409297275     -1.062120264
Ir       0.000000000      0.000000000      0.043448572
H        3.792342787      0.222162593      3.641507453
H        5.002872009     -1.707739869      2.689139743
H        4.102575829     -2.869480849      0.738507580
H        1.696641422      0.983426029      2.641159087
H        3.213678708     -3.847263406     -0.836341679
H        2.081671478     -4.823466100     -2.794933558
H       -0.013921102     -3.747584685     -3.633027960
H       -0.865398626     -1.751267403     -2.451342694
H       -3.980382114     -3.478744318      2.689139743
H       -1.703772945     -3.395346490      3.641507453
H        0.003351213     -1.961047587      2.641159087
H       -4.536331226     -2.118194464      0.738507580
H       -1.083942747      1.625090897     -2.451342694
H       -3.238542989      1.885848371     -3.633027960
H       -5.218079916      0.608952668     -2.794933558
H       -4.938667199     -0.859495698     -0.836341679
H       -1.699992635      0.977621558      2.641159087
H       -2.088569843      3.173183897      3.641507453
H       -1.022489895      5.186484186      2.689139743
H        0.433755396      4.987675313      0.738507580
H        1.724988490      4.706759104     -0.836341679
H        3.136408438      4.214513433     -2.794933558
H        3.252464091      1.861736314     -3.633027960
H        1.949341373      0.126176507     -2.451342694
*

5.2 步骤二:旋轨耦合计算

对于重金属,激发态计算必须包含标量相对论效应,此时需要使用全电子基组,而非优化时候的赝势基组。这里标量相对论效应有两种处理方法:ZORA/DKH。

5.21 使用ZORA方法考虑标量相对论效应

创建 Ir_ppy3_soc.inp 文件:

! B3LYP ZORA ZORA-def2-TZVP SARC/J RI-SOMF(1X) CPCM(CH2Cl2) TightSCF

%basis
  newgto Ir "SARC-ZORA-TZVP" end
end

%pal
  nprocs 8
end

%tddft
  nroots 10
  dosoc true
  tda false
end

* xyzfile 0 1 Ir_ppy3_opt.xyz

5.22 使用DKH方法考虑标量相对论效应

创建 Ir_ppy3_soc.inp 文件:

! B3LYP DKH2 DKH-def2-TZVP SARC/J RI-SOMF(1X) CPCM(CH2Cl2) TightSCF

%basis
  newgto Ir "SARC-DKH-TZVP" end
end

%pal
  nprocs 8
end

%tddft
  nroots 10
  dosoc true
  tda false
end

* xyzfile 0 1 Ir_ppy3_opt.xyz

运行此计算,由于体系较大且计算级别较高,会比甲醛耗时得多。

6. 实例三:周期性结构(石墨烯量子点)

对于晶体、MOF等周期性结构,我们无法直接用ORCA计算。常用的方法是“团簇模型”

  1. 从周期性结构中切出一个有代表性的、足够大的团簇。
  2. 对于团簇边缘被切断的化学键,用氢原子进行“饱和”,以消除悬挂键带来的不合理电子结构。
  3. 对这个饱和后的分子团簇进行计算。

这里,我们以单层石墨烯为例,构建一个 C₂₄H₁₂ 的石墨烯量子点模型。

6.1 步骤一:构建团簇模型

这一步通常使用 VESTA, Materials Studio, Avogadro 等软件完成。这里我们直接提供构建好的模型坐标。这个模型可以看作是一个普通的有机分子,不含重金属。
构建模型后,一般需要对用于饱和的H原子位置进行限制性优化,也就是冻结除H原子以外的所有原子进行优化。

6.2 步骤二:旋轨耦合计算

由于模型较大,我们可以使用计算成本稍低的泛函和基组。
创建 graphene_dot_soc.inp 文件:

! PBE0 def2-SVP def2/J RIJCOSX TightSCF

%pal
  nprocs 8
end

%tddft
  nroots 10
  dosoc true
  tda false
end

* xyz 0 1
 C   -1.22500000   -2.12176200    0.00000000
 C    1.22500000   -2.12176200    0.00000000
 C    2.45000000    0.00000000    0.00000000
 C    1.22500000    2.12176200    0.00000000
 C   -1.22500000    2.12176200    0.00000000
 C   -2.45000000    0.00000000    0.00000000
 H   -2.14500000   -3.71533400    0.00000000
 H    2.14500000   -3.71533400    0.00000000
 H    4.29000000    0.00000000    0.00000000
 H    2.14500000    3.71533400    0.00000000
 H   -2.14500000    3.71533400    0.00000000
 H   -4.29000000    0.00000000    0.00000000
 C    0.00000000   -2.83606200    0.00000000
 C    2.45000000   -1.41803100    0.00000000
 C    2.45000000    1.41803100    0.00000000
 C    0.00000000    2.83606200    0.00000000
 C   -2.45000000    1.41803100    0.00000000
 C   -2.45000000   -1.41803100    0.00000000
 C   -1.22500000   -0.70703100    0.00000000
 C    1.22500000   -0.70703100    0.00000000
 C    1.22500000    0.70703100    0.00000000
 C   -1.22500000    0.70703100    0.00000000
 C    0.00000000   -1.41406200    0.00000000
 C    0.00000000    1.41406200    0.00000000
 C    0.00000000    4.25412400    0.00000000
 H    0.00000000    5.17412400    0.00000000
 C    3.67500000    2.12176200    0.00000000
 H    4.59500000    2.12176200    0.00000000
 C    3.67500000   -2.12176200    0.00000000
 H    4.59500000   -2.12176200    0.00000000
 C    0.00000000   -4.25412400    0.00000000
 H    0.00000000   -5.17412400    0.00000000
 C   -3.67500000   -2.12176200    0.00000000
 H   -4.59500000   -2.12176200    0.00000000
 C   -3.67500000    2.12176200    0.00000000
 H   -4.59500000    2.12176200    0.00000000
*

7. 详细解读ORCA输出文件中的旋轨耦合部分

无论你计算的是哪个体系,解读输出文件中SOC结果的方法都是一样的。用文本编辑器打开 .out 文件,查看计算结果。

7.1 TD-DFT 激发能

在SOC部分之前,ORCA会先列出常规的TD-DFT计算结果,包括单重态和三重态的激发能。这是未考虑SOC时的结果,可见单重态和三重态是分开的,这是由于未考虑旋轨耦合时,单重态和三重态之间的跃迁几率始终为0。
单重态结果:

------------------------------------
TD-DFT/TDA EXCITED STATES (SINGLETS)
------------------------------------

the weight of the individual excitations are printed if larger than 1.0e-02

STATE  1:  E=   0.011499 au      0.313 eV     2523.8 cm**-1 <S**2> =   0.000000 Mult 1
   688a -> 691a  :     0.045345 (c= -0.21294353)
   688a -> 692a  :     0.937045 (c= -0.96801095)

STATE  2:  E=   0.011578 au      0.315 eV     2541.1 cm**-1 <S**2> =   0.000000 Mult 1
   688a -> 690a  :     0.039691 (c= -0.19922532)
   688a -> 693a  :     0.942490 (c= -0.97081944)
   688a -> 695a  :     0.010863 (c= -0.10422655)

STATE  3:  E=   0.029631 au      0.806 eV     6503.2 cm**-1 <S**2> =   0.000000 Mult 1
   688a -> 690a  :     0.040855 (c= -0.20212531)
   688a -> 695a  :     0.811000 (c=  0.90055524)
   688a -> 699a  :     0.131057 (c= -0.36201761)

STATE  4:  E=   0.029682 au      0.808 eV     6514.5 cm**-1 <S**2> =   0.000000 Mult 1
   688a -> 691a  :     0.022647 (c= -0.15048828)
   688a -> 694a  :     0.824565 (c= -0.90805567)
   688a -> 698a  :     0.131656 (c=  0.36284478)
   688a -> 700a  :     0.010673 (c=  0.10331240)
...

三重态结果:

------------------------------------
TD-DFT/TDA EXCITED STATES (TRIPLETS)
------------------------------------

the weight of the individual excitations are printed if larger than 1.0e-02

STATE  6:  E=  -0.023756 au     -0.646 eV    -5213.9 cm**-1 <S**2> =   2.000000 Mult 3
   688a -> 689a  :     0.975173 (c=  0.98750825)

STATE  7:  E=   0.001091 au      0.030 eV      239.4 cm**-1 <S**2> =   2.000000 Mult 3
   688a -> 691a  :     0.937900 (c=  0.96845245)
   688a -> 692a  :     0.033122 (c= -0.18199350)
   688a -> 694a  :     0.010180 (c= -0.10089691)
   688a -> 698a  :     0.011507 (c= -0.10726846)

STATE  8:  E=   0.001401 au      0.038 eV      307.5 cm**-1 <S**2> =   2.000000 Mult 3
   688a -> 690a  :     0.944689 (c= -0.97195090)
   688a -> 693a  :     0.024687 (c=  0.15712210)

STATE  9:  E=   0.008003 au      0.218 eV     1756.4 cm**-1 <S**2> =   2.000000 Mult 3
   688a -> 691a  :     0.035685 (c=  0.18890439)
   688a -> 692a  :     0.955382 (c=  0.97743630)
...

7.2 SOC矩阵元

ORCA输出单重态与三重态三个子态(磁量子数 $M_S = -1, 0, +1$)之间的耦合矩阵。

            CALCULATED SOCME BETWEEN TRIPLETS AND SINGLETS
     --------------------------------------------------------------------------------
           Root                      <T|HSO|S>  (Re, Im) cm-1
         T     S           MS= 0                 -1                   +1
     --------------------------------------------------------------------------------
         1     0     (   0.00 ,  -63.78)   (  -0.00 ,    0.00)   (  -0.00 ,   -0.00)
         1     1     (   0.00 ,    0.00)   (  -0.00 ,   -0.00)   (  -0.00 ,    0.00)
         1     2     (   0.00 ,    0.00)   (   5.62 ,    0.00)   (   5.62 ,   -0.00)
...

7.3 考虑SOC修正后的光谱

计算的最后,ORCA会输出一个非常重要的部分:考虑SOC修正后的激发光谱

-------------------------------------------
SOC CORRECTED TD-DFT/TDA-EXCITATION SPECTRA
--------------------------------------------
Generating SOC_CIS transition densities           ... done 

--------------------------------------------------------------------------------------------------------
      SOC CORRECTED ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS    
--------------------------------------------------------------------------------------------------------
      Transition         Energy     Energy  Wavelength fosc(D2)      D2       |DX|      |DY|      |DZ|  
                          (eV)      (cm-1)    (nm)                 (au**2)    (au)      (au)      (au)  
--------------------------------------------------------------------------------------------------------
  0-3.0A  ->  1-3.0A    0.000000       0.0     0.0   0.000000000   0.00000   0.00000   0.00000   0.00000
  0-3.0A  ->  2-3.0A    0.000000       0.0     0.0   0.000000000   0.00000   0.00000   0.00000   0.00000
  0-3.0A  ->  3-1.0A    0.646430    5213.8  1918.0   0.000000210   0.00001   0.00057   0.00025   0.00359
  0-3.0A  ->  4-3.0A    0.676123    5453.3  1833.8   0.006709842   0.40507   0.10334   0.07064   0.62402
  0-3.0A  ->  5-3.0A    0.676123    5453.3  1833.8   0.429775649  25.94526   0.83286   0.53841   4.99617
  0-3.0A  ->  6-3.0A    0.676127    5453.3  1833.7   0.001908716   0.11523   0.05612   0.03633   0.33280
...
--------------------------------------------------------------------------------------------------------

只需要把Energy(eV)和fosc这两列数据拷贝到一个文件中,就可以获得棍状光谱。 对棍状光谱使用高斯或者洛伦兹展宽即可获得传统意义上的可与实验光谱对应的光谱。
点击这里下载matlab程序,用于光谱展宽。

7.4 零场分裂 (Zero-Field Splitting, ZFS)

对于重金属配合物,输出文件中还会包含一个名为 Eigenvalues of the SOC matrix 的部分。

Eigenvalues of the SOC matrix:

   State:         cm-1            eV
      0:         0.00          0.0000
      1:     19166.96          2.3764
      2:     19201.28          2.3807
      3:     19269.86          2.3892
...

参考:

  1. 使用ORCA在TDDFT下计算旋轨耦合矩阵元和绘制旋轨耦合校正的UV-Vis光谱
  2. 使用Gaussian+PySOC在TDDFT下计算旋轨耦合矩阵元
  3. 用ORCA计算旋轨耦合矩阵元

自旋轨道耦合 现代量子化学

请先 登录 再评论