CREST:球形边界与反应器输入
实际生成三组球形约束及一组MTD控制文件,说明密度参数、半径和物理球体密度的转换。
阅读本篇目录
CREST 的反应器辅助入口可以生成球形边界和元动力学设置。本篇说明先生成什么文件、参数代表什么、后面还需要哪一步;单独执行这些入口不会得到新的反应轨迹。
1. 读取实际输入文件#
下载完整输入、实际输出、CSV 与画图脚本,保存为 example.zip,先读取附带结果:
python3 -m zipfile -e example.zip .
cd crest-gradient-reactor-tools
module load ase/3.29.0
bash read.sh
bash plot.sh
需要重新调用 CREST 时,先在申请到的 CPU 作业环境运行 bash build-private.sh,随后回到算例目录运行 bash submit.sh。模板申请 CPU 56 核整节点,原生工具使用 1 线程。程序独立安装到 ~/.local/ys-crest-tools/bin/crest,固定 CREST 3.0.3 维护源码、GNU Fortran 与 MKL;不替换公共 crest/3.0.2。构建脚本首次需要访问源码仓库。
新计算结果在 work-new/,读取方式是 bash read.sh work-new analysis-read。以下直接调用命令均应在已分配的 CPU 作业中执行。

包中 wall-density01、wall-density1、wall-physical01 分别对应原生命令参数 0.1、1.0,以及物理密度 0.1 g/cm³ 换算后的条件。结构相同,都是一个水分子。
2. 生成原生球形边界#
在独立作业目录放入 input.xyz:
~/.local/ys-crest-tools/bin/crest input.xyz --reactor --genpot 0.1 --T 1
cat rcontrol
输出 rcontrol 中包含球形 logfermi 势及半径。本例实际结果为:
原生 --genpot 参数 |
半径/Bohr | 半径/Å | 实际球体密度/g·cm⁻³ |
|---|---|---|---|
| 0.1 | 12.638501 | 6.688 | 0.023873 |
| 1.0 | 5.866273 | 3.104 | 0.238732 |
| 0.4188790205 | 7.840300 | 4.149 | 0.100000 |
这里必须区分两个量:本次版本用 m/r³ 来解释输入参数,而物理球体密度为 m/(4πr³/3)。因此想设置实际球体密度 0.1 g/cm³ 时,不能直接填 0.1。
3. 按物理密度换算#
python3 sphere.py 0.1
脚本输出原生参数约 0.4188790204786391,即目标物理密度乘以 4π/3。相应命令为:
~/.local/ys-crest-tools/bin/crest input.xyz --reactor --genpot 0.4188790204786391 --T 1
对本例水分子,独立按实际半径和质量计算得到 0.0999999888 g/cm³。换了分子、组成、溶剂数量后,应重新生成并检查 rcontrol,不要照抄本例的半径。
4. 生成 MTD 设置#
另一个独立目录中:
~/.local/ys-crest-tools/bin/crest input.xyz --reactor --genmtd 1 --T 1
cat rcontrol
本例原生文件写出总时长 1 ps、步长 1 fs、shake=0、偏置强度 kpush=0.12 和宽度参数 alp=1。这些参数来自本次生成文件,不能直接用作任意化学反应的推荐设置。
特别检查输出间隔:原生文件里的 mddump 2000 是 2000 fs,比本例 1 ps 的总时长还长。若要实际生成短轨迹,应先改为适合所需采样分辨率的输出间隔,再交给匹配的动力学程序。
5. 这一步之后做什么#
本篇终点是生成并检查边界和采样控制文件。新的反应动力学还需要外部引擎运行并生成轨迹,随后可用已有轨迹拓扑筛选读取。文件生成成功并不表明已经发生反应,也不意味着高温轨迹所得事件可直接当作实验反应机制。
cat analysis-read/CREST-reactor-sphere-density.csv
cat reference-results/mtd-setup/rcontrol
原生入口与定义以 CREST 官方项目对应版本实现为准。