ORCA专题

ORCA局域化轨道实操

用水分子演示PM、Boys和IAO局域化,完整给出终端输入、轨道空间选择与实际结果。

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

想把分散在整个分子上的正则轨道转换成更便于讨论化学键、孤对电子的形式,可以对已有波函数做轨道局域化。下面使用实际 HF/def2-SVP 水分子结果,对比六种占据轨道局域化方法,并提供完整虚轨道与价层虚轨道的配套实例。

1. 运行完整例子#

下载ORCA局域轨道实例包,在已分配的 CPU 计算资源中解压运行:

python3 -m zipfile -e orca-local-orbitals-wave518-*.zip orca-local-orbitals
cd orca-local-orbitals
bash run.sh

脚本依次完成一次水分子单点、10组局域化、3组子空间重新正则化及结果核对。已有 work/ 时请重新解压到新目录再运行完整流程;已有自己的波函数,可以直接按后面的原生命令操作,无需为局域化重复做单点。

模块为 orca/6.1.1,采用官方预编译 ORCA 6.1.1,配套 OpenMPI 4.1.8(GCC 13.3 构建)。本例为1个CPU进程,不使用GPU,也没有重新编译ORCA。生产计算的资源和提交方式见ORCA使用指南。

完整的 inputs/water.inp 为:

! HF def2-SVP TightSCF NoSym NoRI
%pal nprocs 1 end
%maxcore 1024
* xyz 0 1
O -1.551007000 -0.114520000 0.000000000
H -1.934259000  0.762503000 0.000000000
H -0.599677000  0.040712000 0.000000000
*

这是中性闭壳层单重态水分子,坐标为 Å。固定几何的单点能量为 −75.960796123673 hartree,没有优化结构。10个电子占据0–4号轨道,轨道编号从0开始。

2. 六种占据轨道方法怎么选#

原生方法编号 方法 本包目录 本例轨道范围
1 Pipek–Mezey,PM work/PM/ 0–4
2 Foster–Boys,FB work/FB/ 0–4
3 IAO-IBO work/IAOIBO/ 0–4
4 IAO-Boys work/IAOBOYS/ 0–4
5 NEWBOYS work/NEWBOYS/ 0–4
6 AHFB work/AHFB/ 0–4

PM侧重按原子划分的轨道成分,Boys侧重空间集中程度;NEWBOYS和AHFB是Boys相关算法。IAO方法引入最小参考基组,本包明确采用STO-3G。不同方法得到的局域轨道不必逐个相同。

本包还在 PM-virtual 和 FB-virtual 中演示对完整虚空间5–23做普通PM/FB局域化。另两种方法7、8用于选择价层虚轨道,操作与限制见价层虚轨道教程,不要把它们和完整虚空间旋转混为一谈。

3. 手动生成PM局域轨道#

module purge
module load orca/6.1.1
mkdir local-demo
cp work/seed/case.gbw local-demo/in.gbw
cd local-demo
cat > localize.in <<'EOF'
in.gbw
out.gbw
0
4
1
0
128
1e-8
0
0.95
0.85
2
1
0
1
0
0
EOF
"$ORCA_ROOT/orca_loc" localize.in > localize.out
ls out.gbw
cd ..

文件中每行对应一个参数:

行 含义 本例
1、2 输入、输出波函数 in.gbw、out.gbw
3、4 首、末轨道,均包含在内 0、4
5 方法编号 1,即PM
6 alpha/闭壳层算符编号 0
7–9 最大迭代、绝对和相对容差 128、1e-8、0
10、11 打印时的局域/成键分类阈值 0.95、0.85
12–14 打印级别、Cholesky初猜、随机化 2、1、0
15 IAO参考基组编号 1,即STO-3G
16 最终成分的原子布居方式 0,即Mulliken
17 原生附加轨道展宽输出 0,关闭

最后一项在这个独立后处理流程中保持0,避免依赖原计算的 case.SHARKINP.tmp 临时文件。本包直接从导出的轨道系数和解析高斯积分计算空间展宽,不需要恢复该临时文件。

需要换成FB、IAO-IBO等方法时,修改第5行;更换体系后,先核对实际占据数,再修改第3、4行。IAO占据轨道分析应包含全部占据轨道。本例RHF占据空间中的幺正旋转保持电子密度;这一结论不能直接套用到任意CASSCF轨道旋转。

4. 把自己的局域轨道导出#

cd local-demo
cat > out.json.conf <<'EOF'
{
  "MOCoefficients": true,
  "Basisset": true,
  "MullikenCharge": false,
  "LoewdinCharge": false,
  "JSONFormats": ["json"]
}
EOF
"$ORCA_ROOT/orca_2json" out.gbw > export.out
ls out.json
cd ..

这会导出本次实际局域轨道。绘制轨道等值面时,把对应的GBW交给ORCA轨道绘图工具。局域轨道通常不再是Fock算符的本征轨道,不要把文件中沿用的轨道能量直接当作新的正则轨道能级。

5. 本次得到了什么#

实际占据轨道展宽比较

对本例5条占据轨道,独立计算的展宽平方之和为:

表示方式 展宽平方之和(bohr²)
原正则轨道 9.162806
PM 7.093615
FB 6.764647
IAO-IBO 7.075117
IAO-Boys 6.764968
NEWBOYS 6.764647
AHFB 6.764647

数值表示空间集中程度,不是分子总能量。PM优化的目标也不同于Boys,不能仅按这一列给所有方法排优劣。

从实际轨道系数计算的水分子占据轨道中心

图中的大红点是氧,空心点是氢,五种颜色是五条轨道的空间中心。中心可能重合;同一编号在不同旋转后的表示中不保证对应同一条化学轨道。完整数据和画图脚本均在包内。

bash analyze.sh work
/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python plot_results.py

画图脚本默认读取包内参考数据,生成 figures/ 下的三张PNG。脚本核对轨道正交性、占据密度和子空间,并用解析积分计算轨道中心、展宽和局域化目标。本包使用ORCA 6.1.1实际的长度常数 1 bohr = 0.5291772083 Å。参考ORCA局域化说明及该版本的单位约定。

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

查看配图

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

100%查看原图 ↗