CREST溶剂化自由能:电子能、频率与熵修正
从实际QCG输出读电子结合能、三组热化学分量、RRHO与标准态修正,展示熵缩放对结果的影响。
阅读本篇目录
团簇电子结合能和溶剂化自由能是不同的量。前者主要是溶质团簇、纯溶剂团簇和气相溶质的电子能之差;后者还包含热修正、熵、集合与标准态处理。本例把三个原生阶段和实际数值放在一起,方便照着查文件。
1. 下载与已有数据#
下载CREST QCG构象与自由能资料包,保存为example.zip:
python3 -m zipfile -e example.zip .
cd crest-qcg-ensemble-gsolv
bash results.sh
bash read.sh
bash plot.sh
这几条命令先读取随包保存的真实计算结果。CSV在data/,图片在figures/,完整输入和原生输出分别在inputs/与reference-results/。
本例沿用9原子乙醇、3原子水和12原子团簇,最终各集合只选1个构象。小体系短MD只演示读取流程,数值不作为收敛的乙醇水溶剂化自由能。
2. 环境与整套提交#
这一流程采用维护者的3.0.3-maintenance固定提交62ff2c32独立构建,GCC/GFortran 13与Intel oneAPI 2024.2的顺序MKL,内部tblite 0.5.0,外部xTB 6.7.1。公共crest/3.0.2模块保持原样,不能仅加载它就认为具有本篇同样的QCG运行条件。
资料包提供build-private.sh复现这一独立构建,需要外网、Git、CMake与上述编译器。请在允许编译的CPU资源中执行;默认只安装到自己的~/.local/ys-crest-qcg:
bash build-private.sh
已有相同构建时可以设置程序位置,免去再次编译:
export CREST_QCG_BIN="$HOME/.local/ys-crest-qcg/bin/crest"
新解压目录准备好程序后提交:
sbatch run.slurm
脚本按CPU整节点规则申请56核,实际单线程,依次生成溶质团簇集合、溶剂集合与电子能,再补频率和RRHO修正。完成后读取新结果:
bash read.sh work analysis-new
需要仅看本篇数据时用前面的bash read.sh即可,不必重建或重算。
3. 第二阶段:电子能差#
集合准备好后,脚本复制所需grow/与ensemble/,再执行能量阶段:
"$CREST_QCG_BIN" solute.xyz --qcg water.xyz --nsolv 1 \
--gfn2 --enslvl gfn2 --gsolv --esolv --nclus 1 \
--md --mdlen 0.05 --tstep 1 --mddump 10 \
--samerand --T 1 --keepdir --nocff
--esolv得到本例的电子能结果,不等于完整含频率自由能。--nclus 1只取一个集合结构进行后续处理。
grep -A 4 ESOLV reference-results/maintenance/gsolv-energy/native.log
本次输出ESOLV = −5.02 kcal/mol。
4. 第三阶段:频率与RRHO#
"$CREST_QCG_BIN" solute.xyz --qcg water.xyz --nsolv 1 \
--gfn2 --enslvl gfn2 --gsolv --nclus 1 --freqlvl gfn2 \
--md --mdlen 0.05 --tstep 1 --mddump 10 \
--samerand --T 1 --keepdir --nocff
这一阶段去掉--esolv并指定频率方法。脚本复用已有两个集合,补气相溶质、溶质团簇和溶剂团簇三组频率与热化学计算,不为包装资料再次重复MD。
ls reference-results/maintenance/gsolv-rrho/frequencies
cat reference-results/maintenance/gsolv-rrho/frequencies/solute.dat
cat reference-results/maintenance/gsolv-rrho/frequencies/solute_cluster.dat
cat reference-results/maintenance/gsolv-rrho/frequencies/solvent_cluster.dat
cat reference-results/maintenance/gsolv-rrho/frequencies/result.dat

本例三组原生热化学输出在−50 cm⁻¹显著虚频阈值下均为0个虚频;这不代表任意新团簇都能跳过频率检查。原生xtb_freq.out也随包保存,可查看低频与转动/平动处理。
5. 结果为什么不止一个数#
| 输出 | 本例/kcal mol⁻¹ |
|---|---|
| 电子结合能ESOLV | −5.02 |
| 未缩放RRHO的Gsolv | +1.51 |
| 旋转/平动熵缩放0.75后的所选结果 | −1.54 |

图中缩放的是原生模型的旋转与平动熵贡献;这不是20次独立MD,也不是温度扫描。0.75是该流程所选系数,不能因某个系数更接近期望值就任意选用。
程序输出另有体积/标准态项,本例按原生公式得到约1.89445 kcal/mol。应连同输出注明的参考态和模型一起报告结果;不要在不确认约定时再自行重复加一次RT ln(24.47)。缩放表与结果文件都已包含该原生阶段施加的修正,表头简写不能当成额外修正指令。
cat data/CREST-QCG-thermochemical-components.csv
cat data/CREST-QCG-entropy-scaling.csv
随包reader用电子能、三组热焓和振动/转动/平动熵重组20个结果。输出本身只打印到0.01 kcal/mol,因此与重组值有相应舍入差,最大约6.6×10⁻⁶ Eh。这用于说明数值来源与读取方式,不代替溶剂数、构象数、采样时长和方法的收敛研究。