Gaussian 专题

Gaussian 输入、检查点与续算

从Link0、route、坐标和电荷多重度,到真实OldChk、AllCheck、GuessRead与formchk操作。

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

本篇使用鸢算科技集群实际运行的 Gaussian 16 C.01 AVX CPU 结果。程序为厂商预编译版本,按用户独立初始化,不使用公共 Gaussian module。示例采用单线程 CPU 后端,不作为 Intel Xeon 8173M 节点的性能基准。

下载15个条件的完整输入、原生数值摘录和绘图脚本,在新解压目录查看结果:

bash run.sh

这一步不调用 Gaussian,使用现有 ASE Python 环境里的 Matplotlib 作图,输出 analysis/ 和 figures/。results/*/output.log 是实际原生行摘录,native-fields.fchk.txt 是 formchk 的数值字段摘录,省略个人路径、其余正文和轨道系数;不是完整波函数文件。

需要重新计算时,先 yskit gaussian-init 准备自己的环境,再按 Gaussian提交示例在可用 CPU 分区提交。若已经获得 CPU 作业资源,可在另一份新解压目录执行 bash run.sh compute,依次原生运行全部15个条件、生成自己的检查点、提取和画图。不要在登录终端直接启动正式客户计算。参考输入每个1线程、1GB主机内存;提交整节点模板时需按实际分配调整线程数。

1. 先看一份完整输入#

这是固定水分子几何的 B3LYP/6-31G(d) 单点输入,没有 Opt,因此与优化后频率例子的能量不同:

cat inputs/water-b3lyp-ultrafine/input.gjf
%chk=result.chk
%NProcShared=1
%Mem=1GB
#p B3LYP/6-31G(d) SCF=Tight Int=UltraFine NoSymm

water-b3lyp-ultrafine

0 1
O 0.00000000 0.00000000 0.00000000
H 0.00000000 0.75700000 0.58700000
H 0.00000000 -0.75700000 0.58700000

%Chk、%NProcShared、%Mem 属于 Link0;#p 开头是 route 计算设置;随后依次为标题、空行、电荷 多重度、坐标。文件末尾也保留空行。这里坐标全部明确写为浮点数,单位 Å。

0 1 表示中性单重态,水分子10个电子,5个 alpha、5个 beta。%Mem=1GB 是整个任务的主机内存,不是每个线程1GB;共享内存 Gaussian 不需要加 mpirun。

2. 单独提交一个条件#

先用 sinfo 查看 CPU 分区可用性,按个人环境生成提交脚本。沿用整节点 CPU 模板时,参考的单核输入需改成分配的56线程:

mkdir my-water
cp inputs/water-b3lyp-ultrafine/input.gjf my-water/
cd my-water
yskit gaussian-init
sed -i 's/%NProcShared=1/%NProcShared=56/' input.gjf
sbatch sub_gaussian_8173m.sh input.gjf

计算后检查输出和检查点:

grep 'Normal termination' input.log
grep 'SCF Done' input.log
ls -lh result.chk
formchk result.chk result.fchk
grep '^Total Energy' result.fchk

包内 compute.sh 则将输出命名为 output.log;二者只是脚本命名差异。Gaussian 的 result.chk 是二进制检查点,formchk 转出的 result.fchk 是文本,但它们都不等于普通的输出日志。

3. 从已有检查点读几何和初猜#

配套脚本在 work/water-b3lyp-ultrafine/ 生成前一步检查点;随后可运行:

bash compute.sh water-checkpoint-restart
cat inputs/water-checkpoint-restart/input.gjf

实际续算输入只有 Link0 与 route,没有再次填写标题、电荷多重度和坐标:

%OldChk=../water-b3lyp-ultrafine/result.chk
%Chk=result.chk
%NProcShared=1
%Mem=1GB
#p B3LYP/6-31G(d) Geom=AllCheck Guess=Read SCF=Tight Int=UltraFine NoSymm

%OldChk 指向前一步,%Chk 写新的检查点,保留旧文件。Geom=AllCheck 从检查点读取标题、分子电荷/多重度和几何;Guess=Read 读取已有轨道作为初猜。

下载包的相对路径对应 compute.sh 建立的 work/ 目录层级。如果将输入复制到别处,请把 %OldChk 改成自己的真实旧检查点路径。只下载参考数据无法凭空生成二进制检查点,需要先完成前一个原生条件。

原生formchk几何及检查点读回一致性

4. 看实际结果并核对字段#

字段 初次单点 检查点读回
最终能量 / Hartree -76.4087380244 -76.4087380244
基函数数 19 19
alpha / beta电子 5 / 5 5 / 5

两次几何相同,能量在 1×10⁻⁷ Hartree 内一致。这个例子演示几何和波函数初猜的读回;优化中断续算还要选择对应的 Opt=Restart 等设置,不能把所有类型的续算混为一条命令。

head analysis/energies.csv
cat analysis/RESULTS.json

自己的分子应根据元素、电荷和多重度检查电子数;ECP 情况还需扣除被替代的芯层电子。配套脚本针对这15个指定教学条件检查,不能不修改条件就当作任意分子的通用判据。

继续看方法和基组、SCF与积分网格、自由基和ECP。

检查点的后续用途#

温压重算用Freq=ReadFC读取自己的力常数;实际扫描展示Opt=Restart继续优化器状态;正反IRC用RCFC读同一TS Hessian,再从每条实际路径生成自己的端点输入。这些操作不能只用一条通用的Geom=AllCheck Guess=Read互相代替。

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

查看配图

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

100%查看原图 ↗