Gaussian 专题

Gaussian 自旋污染与波函数稳定性

H₂断键与O₂三重态实算,讲清Stable、Stable=Opt、UHF自旋污染及ROHF输入。

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

下载完整输入、实际数值、六份轨道/密度网格和绘图脚本,在新目录解压后:

bash run.sh

先用已有结果生成 analysis/、figures/,无需运行Gaussian。程序使用集群ASE 3.29 Python环境中的NumPy、Matplotlib。

要重新计算,先在自己的账号初始化Gaussian:

yskit gaussian-init

按Gaussian输入与CPU提交准备CPU作业,把执行命令设为 bash run.sh compute。已经取得CPU作业资源并加载个人环境后,也可在另一份新解压目录执行:

bash run.sh compute

它依次运行29份Gaussian输入、formchk和6次cubegen,随后从自己的 work/ 分析和画图。客户正式计算应在分配到的CPU资源内执行。已有 work/analysis/figures 时另解压一份;只有完整 work/ 而没有分析、图片时,可用 bash run.sh analyze 接着处理。

本例采用Gaussian 16 C.01 AVX厂商预编译CPU程序,个人初始化,没有公共Gaussian module;没有自编译器/MPI版本需要套用。输入每份1线程、1GB,按实际作业资源调整。本例不代表GPU或Intel Xeon 8173M节点性能。

1. 电荷、多重度与实际波函数分别检查#

输入 0 1 表示中性、请求单重态;0 3表示中性、请求三重态。多重度 2S+1对应理想纯自旋态的 S(S+1):单重态0、双重态0.75、三重态2。UHF单行输入多重度并不能保证最终波函数就是纯自旋态。

本例以H₂从短键到断键的8点对照,再看16电子O₂三重态的UHF与ROHF,全部采用STO-3G。比较目的是学习诊断,不用于预测收敛的O₂光谱或实验能级。

2. RHF检查与UHF优化的完整输入#

4 Å H₂的RHF检查:

%nprocshared=1
%mem=1GB
%chk=result.chk
#p RHF/STO-3G SCF=Tight Stable NoSymm

Finite active-space and spin practical h2-rhf-4p0

0 1
H 0.000000000000 0.000000000000 -2.000000000000
H 0.000000000000 0.000000000000 2.000000000000

同一几何的UHF轨道稳定化:

%nprocshared=1
%mem=1GB
%chk=result.chk
#p UHF/STO-3G SCF=Tight Guess=Mix Stable=Opt NoSymm

Finite active-space and spin practical h2-uhf-4p0

0 1
H 0.000000000000 0.000000000000 -2.000000000000
H 0.000000000000 0.000000000000 2.000000000000

先在分配的CPU作业中运行,再查输出:

g16 < input.gjf > output.log
formchk result.chk result.fchk
grep -i 'instability\|stable' output.log

查看自旋行时使用固定字符串:

grep -F 'S**2' output.log

Stable只检查;Stable=Opt可以调整电子轨道。两者都不移动本例的原子。SCF收敛、轨道稳定、几何优化和纯自旋是不同问题,正式任务分别确认。

H2实际稳定性与UHF自旋污染

3. before与after不能混为一谈#

H₂在4 Å的UHF原生日志显示,自旋湮灭前 S**2=1.0000,打印的湮灭后为0.0000。根据未投影的α/β密度独立计算为0.99998006,与before一致。

不能因为after打印为0就把这一份UHF电子能、密度和轨道当成纯单重态结果。 断键UHF能够降低受限解的能量,同时可能明显破坏自旋对称性。若目标依赖纯自旋态、断键和近简并组态,结合活性空间方法及适合的后续理论判断。

RHF的自旋数接近0也不代表它在长键处稳定。本例RHF在较长键上恰好演示了这一点。

4. O₂三重态:UHF与ROHF的实际输入#

UHF:

%nprocshared=1
%mem=1GB
%chk=result.chk
#p UHF/STO-3G SCF=Tight Stable=Opt NoSymm

Finite active-space and spin practical o2-uhf-mult3

0 3
O 0.000000000000 0.000000000000 -0.605000000000
O 0.000000000000 0.000000000000 0.605000000000

ROHF:

%nprocshared=1
%mem=1GB
%chk=result.chk
#p ROHF/STO-3G SCF=Tight NoSymm

Finite active-space and spin practical o2-rohf-mult3

0 3
O 0.000000000000 0.000000000000 -0.605000000000
O 0.000000000000 0.000000000000 0.605000000000

O₂共16电子,0 3在本例对应9α与7β。ROHF限制成对电子共用轨道,保留未成对轨道;方法和实际支持的后续相关处理需要配套选择。

方法 实际总能量 / Hartree 日志S² 密度独立计算S²
UHF -147.635556142888 2.0033 2.003319302
ROHF -147.632274695810 2.0000 1.999999996

O2实际电子数、自然占据和请求自旋态能量

UHF的能量更低并不自动意味着某一种方法普遍更准确;本例只对同一有限基组、固定键长和具体解比较。ROHF这一输入没有请求Stable,不把UHF的稳定性结果迁移给ROHF。

5. 下载包的自旋计算适用于哪里#

basis_density.py根据实际FCHK的s/sp高斯基组独立构造AO重叠矩阵;对HF单行列式,使用α/β密度和重叠矩阵计算S²,同时核对 Tr(DS) 的电子数。没有把自旋密度的网格积分直接当作S²。

这条单行列式公式不能用于CASSCF的一阶约化密度矩阵。下载包对CASSCF只标明输入请求的自旋,没有宣称从一阶密度独立测得其总S²,也没有计算二阶约化密度矩阵。脚本仅覆盖本例真实s/sp基函数,不能直接拿去处理任意d/f/ECP任务。

head analysis/energies.csv

逐点完整数值在 analysis/RESULTS.json。

操作顺序为:确定电子数和多重度→完成SCF→检查稳定性→读取before自旋污染→结合目标选择受限/非受限/多参考方法。活性空间的具体示例见下一篇。

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

查看配图

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

100%查看原图 ↗