Gaussian 专题

Gaussian 固定约束与二面角扫描

用真实乙醇7点结果区分刚性扫描、ModRedundant固定约束与松弛扫描,给出完整输入和终端提取步骤。

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

本教程使用鸢算科技集群实际计算的9原子乙醇,Gaussian 16 C.01 AVX 厂商预编译 CPU 版本,B3LYP/6-31G(d)、UltraFine 积分网格。软件按用户独立初始化,不使用公共 Gaussian module;示例为单线程 CPU 参考,不作为 Intel Xeon 8173M 节点性能数据。

下载乙醇完整输入、实际数值摘录、CSV与绘图脚本,在新解压目录先查看结果:

bash run.sh

这一步无需 Gaussian,使用集群 ASE 3.29 的 Python、SciPy 和 Matplotlib 生成 analysis/、figures/。原生重算需先用 yskit gaussian-init 初始化个人环境,在已分配 CPU 的作业中执行 bash run.sh compute。包内每个输入1线程、1GB主机内存;按照整节点模板提交时,线程和内存应与实际分配对应。不要在登录终端直接启动正式客户计算。

results/*/output.log 是实际科学数值行摘录,native-fields.fchk.txt 是 formchk 的数值字段摘录,不包含轨道系数。二者不是完整日志或完整波函数;包内不分发 Gaussian 软件、二进制检查点。

1. 先选需要的扫描方式#

目的 做法 其余坐标
看固定几何转动的能量变化 刚性扫描,转动后逐点单点 保持不变
给定二面角,允许分子其余部分放松 Opt=ModRedundant 与扫描行 每个点重新优化
固定一个二面角后优化其他坐标 ModRedundant 的 F 行 约束外坐标优化

本例仍用 C1–C2–O3–H4。0°、60°……360°共7个采样点,360°是周期端点,不是第8个不同构象。60°步长用于演示操作,不能据此精确报告扭转势垒位置和高度。

2. 固定一个二面角#

cat inputs/ethanol-fixed-dihedral-zero/input.gjf
%Chk=result.chk
%NProcShared=1
%Mem=1GB
#p B3LYP/6-31G(d) SCF=Tight Int=UltraFine NoSymm Opt=(ModRedundant,Tight)

ethanol-fixed-dihedral-zero

0 1
C 1.17153652 -0.40313749 -0.00000000
C -0.00707065 0.55627388 0.00000000
O -1.20126540 -0.22107301 0.00000000
H -0.94753729 -1.15631104 0.00000000
H 0.04023480 1.20882036 0.88754369
H 0.04023480 1.20882036 -0.88754369
H 2.11840294 0.14822148 -0.00000000
H 1.14068387 -1.04456934 0.88685875
H 1.14068387 -1.04456934 -0.88685875

D 1 2 3 4 F

最后的 D 1 2 3 4 F 固定这四个原子的二面角。原子编号从1开始,且与坐标行顺序一致。几何段后保留空行,再写约束行,文件末尾也保留空行。

在分配好的 CPU 资源中运行:

bash compute.sh ethanol-fixed-dihedral-zero
grep 'Optimization completed' work/ethanol-fixed-dihedral-zero/output.log
formchk work/ethanol-fixed-dihedral-zero/result.chk fixed.fchk

实际固定后角度约为0°,对应能量可在 analysis/followups/RESULTS.json 的 fixed_zero 查看。它是受约束优化结果,不能自动称为完全自由的稳定结构。

3. 一份输入完成松弛扫描#

cat inputs/ethanol-relaxed-scan/input.gjf
%Chk=result.chk
%NProcShared=1
%Mem=1GB
#p B3LYP/6-31G(d) SCF=Tight Int=UltraFine NoSymm Opt=(ModRedundant,Tight)

ethanol-relaxed-scan

0 1
C 1.17153652 -0.40313749 -0.00000000
C -0.00707065 0.55627388 0.00000000
O -1.20126540 -0.22107301 0.00000000
H -0.94753729 -1.15631104 0.00000000
H 0.04023480 1.20882036 0.88754369
H 0.04023480 1.20882036 -0.88754369
H 2.11840294 0.14822148 -0.00000000
H 1.14068387 -1.04456934 0.88685875
H 1.14068387 -1.04456934 -0.88685875

D 1 2 3 4 S 6 60.0

D 1 2 3 4 S 6 60.0:从输入的0°开始,再推进6次,每次增加60°。本次真实输出得到7个收敛采样点。每个点固定扫描角度,并优化其他允许变化的坐标。

bash compute.sh ethanol-relaxed-scan
grep -c 'Optimization completed' work/ethanol-relaxed-scan/output.log
grep 'Summary of Optimized Potential Surface Scan' work/ethanol-relaxed-scan/output.log
grep 'Normal termination' work/ethanol-relaxed-scan/output.log

如果一个点没有优化收敛,应先检查该点,不能把下一条 SCF Done 直接当作收敛扫描结果。配套脚本按实际 Optimization completed. 标记读取对应能量和坐标,并从坐标核对角度。

4. 刚性扫描怎样运行#

包内7份 ethanol-rigid-* 输入来自优化后反式结构,仅转动羟基H,不改变其他原子坐标;它们的 route 中没有 Opt。

cat inputs/ethanol-rigid-60/input.gjf
for angle in 0 60 120 180 240 300 360; do
  bash compute.sh ethanol-rigid-$angle
done

这些命令应放入已分配 CPU 的作业执行,示例为顺序运行,每个条件单线程。

5. 提取、画图与比较#

下载包首次 bash run.sh 已输出真实数据的对照图。自己完成原生计算后,在新目录中提取:

/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python analyze_followups.py work --output my-scan
head my-scan/torsional-scans.csv
cat my-scan/RESULTS.json
二面角 / ° 刚性扫描 E / Hartree 松弛扫描 E / Hartree 放松降低的能量 / kJ mol⁻¹
0 -155.0297158054 -155.0316048330 4.9596
60 -155.0319024010 -155.0342848160 6.2550
120 -155.0312933675 -155.0319102120 1.6195
180 -155.0337994563 -155.0337995800 0.0003
240 -155.0312933675 -155.0319102550 1.6196
300 -155.0319024010 -155.0342845510 6.2543
360 -155.0297158054 -155.0316046200 4.9591

同一乙醇二面角的真实刚性与松弛势能扫描及放松能量 CSV中相对能量以优化后反式电子能为零点。松弛扫描可以通过其他键长和角度放松而降低能量;不同点仍可能停留在不同局部优化分支。图中连线只帮助观察采样点,不是额外计算数据。

这两条曲线都是电子势能曲线,不包含每个约束点的熵、溶剂或采样贡献,不是自由能曲线。寻找真正过渡态,需要进一步做无约束 TS 优化、频率和正反 IRC。

若优化因时间中断,可保留原检查点,另建 %Chk,用 %OldChk 读取原文件,在原 Opt 设置中加入 Restart。本例源扫描曾从检查点继续,下载数据保留实际完成的点;通用单点的 Geom=AllCheck Guess=Read 与优化器的 Opt=Restart 不应混为一谈。

继续看结构优化与IR/Raman和虚频。

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

查看配图

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

100%查看原图 ↗