ORCA专题

ORCA 活性空间与SOC能级实操

原子CASSCF多重度和根数、原生轨道导出、SOC矩阵和能级的实际操作。

更新于 2026-10-30约 6 分钟阅读按任务与环境选择适用配置
阅读本篇目录

下载完整输入、真实结果、轨道导出、CSV与绘图脚本。解压进入资料包目录,先处理已有数据:

bash analyze.sh

图片在 reference/figures,数据表在 reference/analysis;原生Molden轨道文件在相应原子算例目录。想重新计算全部条件,在新解压目录执行:

bash submit.sh

脚本提交27个独立条件的数组任务,结束后导出6组原子轨道,再自动提取和绘图。新结果在 work,原参考保留。它们分属溶剂模型、点电荷环境和原子SOC三个小工作流,不是27种独立材料性质。

使用 orca/6.1.1 厂商预编译CPU程序,依赖专用OpenMPI4.1.8(GNU13.3环境);单条件 nprocs=1。实际在P100节点使用CPU,不是ORCA GPU加速。附件Slurm模板每个任务申请1个CPU核心和1张P100,GPU不参与计算,资源按对应分区计费。不要在登录节点运行模拟。后处理使用ASE3.29.0环境中的NumPy/SciPy/Matplotlib。

1 先把活性空间和根数说清楚#

本例用两个自由轻原子认识CASSCF后的自旋轨道耦合(SOC):F的p⁵模型、C的p²模型,分别做def2-SVP和def2-TZVP。采用原生SOMF自旋轨道平均场算符与态相互作用,结果用于学习输入、矩阵和能级提取,采用有限基组与有限活性空间,不代替高精度原子光谱计算。

原子 活性空间 自旋无关空间根 加入Ms分量后的维数
F 5电子/3轨道 3个双重态根 3×2=6
C 2电子/3轨道 3个三重态根、6个单重态根 3×3+6×1=15

“3个根”与“6个自旋分量”不是同一计数。自由原子的这个小p活性空间也不等于完整基组中的所有激发态。

2 完整F和C输入#

F的实际def2-SVP输入:

! ROHF CASSCF def2-SVP VeryTightSCF NoRI
%pal nprocs 1 end
%maxcore 500
%casscf
 nel 5
 norb 3
 mult 2
 nroots 3
 MaxIter 100
 rel
  DoSOC true
  PrintLevel 2
 end
end
* xyz 0 2
F 0 0 0
*

C的实际输入包含两个多重度块:

! ROHF CASSCF def2-SVP VeryTightSCF NoRI
%pal nprocs 1 end
%maxcore 500
%casscf
 nel 2
 norb 3
 mult 3,1
 nroots 3,6
 MaxIter 100
 rel
  DoSOC true
  PrintLevel 2
 end
end
* xyz 0 3
C 0 0 0
*

mult 3,1 与 nroots 3,6 按顺序一一对应。DoSOC true 在最终自旋无关态的基础上计算耦合。换到自己的体系时,先核对总电荷、自旋、活性电子、轨道性质与需要纳入的态,不能只把元素符号替换掉。

原生命令:

module load orca/6.1.1
"$ORCA_ROOT/orca" case.inp > case.out
grep 'CAS-SCF ENERGY' case.out
grep 'CAS-SCF GRADIENT' case.out
grep -A 18 'Eigenvalues:' case.out

附件 bash run.sh 0 对应F/def2-SVP/SOC。F另做了 DoSOC false 对照,确认切换SOC没有改变前面的自旋无关轨道问题。

3 导出轨道,确认活性空间#

在刚算完、含 case.gbw 的目录执行:

"$ORCA_ROOT/orca_2mkl" case -molden

得到 case.molden.input,可用支持Molden的分子轨道查看器打开。资料包中已经提供6个原子条件的原生导出文件;参考后处理不需要GBW,重新计算时程序会自行生成GBW。

整套新计算完成后,批量导出可使用:

bash export_orbitals.sh work

bash submit.sh 的依赖分析阶段会自动完成这一步。本次导出的三个活性轨道只在p型AO块上有非零系数,实际占据如下:

条件 三个活性轨道占据
f-svp-soc 1.666667, 1.666667, 1.666667
f-svp-spinfree 1.666667, 1.666667, 1.666667
c-svp-soc 0.666667, 0.666667, 0.666667
f-tzvp-soc 1.666667, 1.666667, 1.666667
f-tzvp-spinfree 1.666667, 1.666667, 1.666667
c-tzvp-soc 0.666667, 0.666667, 0.666667

程序采用从0计数时,本例活性轨道对应2、3、4;有些查看器从1开始显示,对应3、4、5,请按查看器约定核对。轨道占据、形状和角动量块用于检查活性空间;不能把Molden里两个轨道能量相减当成CASSCF/SOC的态激发能。

4 读能级,区分态平均能与基态能#

日志中的 CAS-SCF STATES FOR BLOCK 是自旋无关态;SOC MATRIX 后的能级是包含SOC的态相互作用结果。case.property.txt 还保存更高精度的各自旋无关根能量。

CASSCF轨道优化使用的态平均能、最低自旋无关根能量、最低SOC态能量是不同的量。比较SOC稳定化时应明确参考哪一个自旋无关态,不要把态平均能直接当成基态。

实际能级如下,单位cm⁻¹,均相对各自最低SOC态;“×”表示简并分量数:

条件 自旋分量维数 能级×简并数
f-svp-soc 6 0.0000×4;377.8625×2
c-svp-soc 15 0.0000×1;14.2484×3;42.6126×5;12787.1240×5;31925.1121×1
f-tzvp-soc 6 0.0000×4;399.7026×2
c-tzvp-soc 15 0.0000×1;15.1966×3;45.4363×5;12564.3405×5;31365.3160×1

实际SOC能级及独立矩阵对角化

F得到低能四重简并与上方二重简并两组,def2-TZVP间隔约399.7026 cm⁻¹。C最低9个分量分成1、3、5重简并的三组,同时还保留更高的单重态项。本页只展示这两个原子模型的结果,不把这种简并模式推广到任意分子或晶体场。

5 矩阵元素为什么不能只看绝对值就比较两次计算#

grep -A 24 'NONZERO SOC MATRIX ELEMENTS' case.out
grep -A 24 'SOC MATRIX (A.U.)' case.out

非零耦合元素表使用cm⁻¹,完整绝对能量矩阵使用原子单位。复数矩阵要同时处理实部和虚部,并按对应的多重度块、Ms和根编号建立索引。

由原生元素重建的SOC耦合矩阵

矩阵元素依赖CI基的选择和相位,简并根还可能发生基内旋转;两次结果的单个矩阵元素不同,不一定意味着物理能级不同。比较时先确认态空间,再看相应不变量、能级和性质。

附件用高精度自旋无关根能量和原生cm⁻¹耦合元素独立重建复厄米矩阵并对角化;原生完整矩阵的绝对能量只打印到较少小数,不能把它当成无限精度输入。图中给出由文本打印精度确定的比较范围,这不是CASSCF方法对真实光谱的误差条。

6 能级图不是吸收强度图#

本例只选同宇称p壳层态空间,SOC能级之间的能量差不自动意味着有电偶极吸收强度。要算完整光谱,需补充相应态空间、跃迁算符和其他物理条件;不能把本页所有能级差都画成有强度的吸收峰。

能级CSV在 reference/analysis/*-levels.csv,原生Molden文件和根能量保留。更多输入约定见 ORCA CASSCF及SOC手册;活性空间基本概念见ORCA多参考实例。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗