CREST专题

CREST:pKa自由能与经验校正

读取真实溶液电子能、RRHO和Ecorr,重建pKa并演示带明确校正含义的集合文件重读。

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

pKa 输出里有电子能、溶剂项、RRHO 和经验校正,不能把它们重复相加。本篇读取乙酸例子的实际分项,解释怎样保持同一计算口径。

1. 读取与画图#

下载完整输入、实际结果、CSV和读取绘图脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd crest-pKa-acetic-acid
bash read.sh
bash plot.sh

默认读取 reference-results,生成 analysis-read 和 figures。数据也可单独下载:CREST-pKa-FER.csv、CREST-pKa-components.csv。

本例使用独立 CREST 3.0.3,GNU Fortran 与 MKL 编译,配套 xTB 6.7.1。需要重算且尚未建立个人 3.0.3 程序时,在已分配的 CPU 作业内先运行 bash build-private.sh;首次构建需访问源码仓库。程序放在 ~/.local/ys-crest-tools/bin/crest,其他本专题使用此入口的教程可以共用。已有该入口则直接使用。CPU 提交模板申请 56 核整节点,实际使用 2 线程。

实际溶液自由能分项、Ecorr及原生和独立多项式结果

2. 先分清电子能和自由能#

grep -E 'TOTAL ENERGY|TOTAL FREE ENERGY|G\(RRHO\)' reference-results/full-pka/ACIDcalc/xtb.out
grep -E 'TOTAL ENERGY|TOTAL FREE ENERGY|G\(RRHO\)' reference-results/full-pka/BASEcalc/xtb.out
head -5 analysis-read/CREST-pKa-components.csv

本例 TOTAL ENERGY 已包含 ALPB 溶液贡献,不要再加一次 Gsolv。G(RRHO) contrib. 是包含零点与热化学贡献的相应校正,和电子能相加得到本例的溶液自由能:

物种 溶液电子能/Eh RRHO贡献/Eh 溶液G/Eh
乙酸 −14.47194210 0.03162053 −14.44032157
乙酸根 −14.27353761 0.02017466 −14.25336294

同几何独立 GFN2/ALPB 单点与原生电子能相差约 2.2×10⁻¹⁰ Eh以内;这是分项与读取的一致性,不代表模型的化学精度。

3. 为什么还要Ecorr#

本例原始自由能差为 0.18695863 Eh,原生 Ecorr 约 0.2456712446 Eh,进入该经验关系的有效能量差约 0.43262987 Eh。

grep -E 'Ecorr|pKa|c0|c1|c2|c3' reference-results/full-pka/native.log
head -3 analysis-read/CREST-pKa-FER.csv

程序按298.15 K和其固定 GFN2 参数计算多项式,独立重建约6.53,与原生输出一致。这一套校正与参数要配套使用;它并不是通用、可搬到其他分子的固定加数,也不要再额外混入一套不同定义的质子自由能。

4. 集合文件重读怎样保持同一口径#

本包 effective-energy-ensemble 示例仅有一个实际酸结构和一个实际碱结构。酸注释行使用本次溶液G;碱注释行明确使用 G(base)+Ecorr,作为这一套经验关系的有效输入能量,不能再称其为未经校正的原始溶液自由能。

在已分配的作业环境,核心调用为:

~/.local/ys-crest-tools/bin/crest input.xyz --pka 5 \
  --pkaensemble acid-ensemble.xyz base-ensemble.xyz --gfn2 --T 1

实际重读同样得到6.53。本例没有添加虚构构象,也没有把单结构重读当成完成了集合采样。

head -3 reference-results/effective-energy-ensemble/acid-ensemble.xyz
head -3 reference-results/effective-energy-ensemble/base-ensemble.xyz
cat reference-results/effective-energy-ensemble/EXECUTION.json

文件中的账目同时保存原始 GB_raw_Eh、Ecorr_used_Eh 和 effective_GB_Eh。作为对照,若把未经相应校正的原始两列G直接送入这一参数口径,虽然程序仍会输出有限数值,却不能复现完整流程;本包把这种输入放在单独的 raw-G-no-correction-control 目录,不作为有效化学预测。

5. 换成自己的集合前#

先统一计算方法、溶剂、温度、标准态、校正及构象简并度,再组织酸碱集合。不能把本例的 Ecorr 复制到别的分子,也不能把气相电子能放进要求溶液自由能的注释行。

bash submit.sh
# 完成后读取本次新结果
bash read.sh work-new analysis-read
bash plot.sh

本包的完整流程会为自己的输入重新计算相应分项;独立绘图只处理已有结果,不再次优化结构。

参数参考:该固定版本附带的CREST命令手册。具体操作和结果见上面的实际输入。

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

查看配图

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

100%查看原图 ↗