ORCA专题

ORCA子空间重新正则化

用实际PM和Boys轨道演示orca_blockf,恢复指定占据或虚轨道块的Fock对角形式。

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

局域化后的轨道便于讨论局部化学图像,但通常不再使Fock矩阵对角化。如果下一步需要某个轨道子空间内的正则轨道,可以使用 orca_blockf 对指定块重新对角化。本例实际演示两组占据空间和一组完整虚空间的操作。

1. 本例已有文件#

下载ORCA局域轨道实例包,按局域化轨道实操运行完整流程。环境为ORCA6.1.1官方预编译版、配套OpenMPI4.1.8,本例使用1个CPU进程。源波函数是HF/def2-SVP固定几何水分子。

ls work/seed/case.gbw
ls work/PM/localized.gbw work/FB/localized.gbw work/PM-virtual/localized.gbw
ls work/block-PM-occupied/recanonical.gbw

目录中的文件对应:

操作 原局域轨道 重新对角化范围
block-PM-occupied PM占据轨道 0–4
block-FB-occupied FB占据轨道 0–4
block-PM-virtual PM完整虚轨道 5–23

这里使用的是保持完整正交性的普通PM/FB旋转;不要把价层虚轨道文件中未整理的整个虚空间直接代入。

2. 命令的五个参数#

程序接受:

orca_blockf Fock.gbw Orbitals.gbw Output.gbw firstOrb lastOrb

第一个文件提供用于重建Fock算符的正则轨道及能量;第二个提供要重新处理的轨道。后面依次为输出文件、首轨道、末轨道,范围包含两端。

两个输入必须来自匹配的几何、AO基组和电子结构背景。本例第一个是原单点结果,第二个是它直接产生的PM/FB局域轨道。显式填写新的输出文件名,保留原文件。

3. 实际运行PM占据空间例子#

module purge
module load orca/6.1.1
mkdir block-demo
cp work/seed/case.gbw block-demo/canonical.gbw
cp work/PM/localized.gbw block-demo/localized.gbw
cd block-demo
"$ORCA_ROOT/orca_blockf" canonical.gbw localized.gbw occupied.gbw 0 4 > block.out
ls occupied.gbw
grep -A 6 'Local Eigenvalues' block.out
cd ..

本次原生输出的占据块能量为:

轨道 能量(eV,按原生输出)
0 −559.094922
1 −35.848219
2 −19.090545
3 −15.454606
4 −13.548891

orca_blockf的这张打印表使用eV;本包JSON中的轨道能量使用hartree。读取数据时先确认单位,不要直接把两列混在一起比较。

完整虚空间的手动操作是:

cp work/PM-virtual/localized.gbw block-demo/virtual-localized.gbw
cd block-demo
"$ORCA_ROOT/orca_blockf" canonical.gbw virtual-localized.gbw virtual.gbw 5 23 > virtual.out
ls virtual.gbw
cd ..

这次只对角化5–23的目标块;不要把“处理某个子块”理解成自动处理所有其他轨道。

4. 如何确认结果#

PM局域轨道与重新正则化后实际Fock非对角元

左图是PM占据轨道表示下的Fock非对角元;中图是本次重新正则化后的相同范围,非对角元接近数值零。两图使用相同色标,便于直接比较。目标子空间和电子密度保持不变,变化的是在该空间中选取的轨道表示。

bash analyze.sh work

本包核对完整轨道正交性、占据密度、目标块的非对角元、本征值以及子空间投影。重新对角化不是结构优化,也不是重新计算一种更低的分子总能量。对HF/RHF之外的方法或其他轨道空间,先确认对应理论是否允许所选旋转。

接口见ORCA子空间正则化工具说明。

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

查看配图

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

100%查看原图 ↗