QE:给已有NEB路径增加图像
将实际H3七图像路径插值为十三图像,解释坐标、能量与梯度的含义。
阅读本篇目录
下载已有计算数据、完整输入、实际后处理输出、CSV和绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd qe-phonon-band-neb-tools
module load ase/3.29.0 qe/7.6-8173m
bash read.sh
bash plot.sh
本例使用鸢算科技集群的 QE 7.6 CPU 构建,Intel oneAPI 2024.2、Intel MPI 2021.13 与 MKL 环境。这里直接读取已实际完成的电子结构、声子或 NEB 数据,只运行后处理,不重复 DFT。
1. 什么时候要增加NEB图像#
已有一条路径后,可以用插值生成更多初始图像,再继续NEB。插值不会替代新图像的电子结构计算;它只是提供新的路径起点。
本例源文件为实际完成的线性H₃路径,7个图像、12 Bohr立方盒,中间H固定,两个外侧H仅沿x移动。原计算的离散路径正向能垒约0.17424 eV;本篇不重做该计算。
2. 准备个人读取工具#
bash build-tools.sh
ls build/path-interpolation-fixed.x
资料包提供与QE7.6路径头格式匹配的个人读取器源码,使用现有CPU库构建,输出只放在项目自己的build目录;公共软件无需修改。
3. 完整控制输入#
inputs/path.in:
3
7
13
1
7
h3.path
h3-13.path
1.0
CELL_PARAMETERS
12 0 0
0 12 0
0 0 12
各行依次为:原子数3、旧图像数7、新图像数13、选取首图像1、末图像7、旧路径文件、新路径文件、晶格标尺,以及晶胞矩阵。本例的标尺为1,矩阵为12 Bohr立方盒。文件中的结构和晶胞应与原NEB匹配,不能只改图像数后同时更换体系。
在自己的CPU资源里执行:
mkdir path-work
cp source-data/h3.path path-work/
cd path-work
../build/path-interpolation-fixed.x < ../inputs/path.in > path.out
head -n 18 h3-13.path
cd ..
不要覆盖原来的 h3.path;保留原文件与新文件,便于后续对照。
4. 看实际插值了什么#

坐标按路径弧长做自然三次样条;能量结合原路径能量和沿切向的梯度作三次插值。新文件保留两端信息,中间图像梯度写为0。这些0不是计算得到的零受力,更不代表新路径已经收敛。
head analysis-read/H3-path-energies.csv
head analysis-read/H3-path-coordinates.csv
5. 注意内部单位#
本例原生 .path 文件坐标单位是Bohr,内部能量为Hartree。CSV同时给出坐标Å值及相对能量eV,换算采用 1 Hartree≈27.211386 eV。不要看到QE电子输出常用Ry,就直接将此路径能量也按Ry换算。
6. 下一步仍然要继续求能量和受力#
若把新路径用于续算,要在自己的NEB项目中匹配新图像数、prefix、restart和固定坐标设置,保存旧版本后再采用新路径。本例没有替客户的新任务提交NEB,也没有把13点插值曲线作为精修能垒。
先检查所有新图像有没有原子过近、穿越周期边界或异常弯折,再运行真实NEB。正式结论应来自继续计算后的新能量、受力和收敛判据。
相关工具实例:声子振动自由能、能带绘图格式与参考能量。