PFD-kit专题

PFD-kit 结构扰动与超胞实操

用六个实际命令演示晶胞、原子位移、选定比例和超胞,说明输出为什么还不能直接训练。

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

下载结构、实际扰动结果、Si数据、预训练/微调模型和脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd pfd-entrypoint-examples
bash results.sh
bash plot.sh

PFD-kit使用集群0.10.13版,Python3.12.14。参考结构和DFT标签来自本站已有小Si例子,这次没有重新计算DFT。

1. 从一个Si8结构开始#

module purge
module load pfd-kit/0.10.13
cat inputs/Si8.vasp
mkdir my-perturb
cd my-perturb
cp ../inputs/Si8.vasp .
pfd perturb Si8.vasp -n 4

输出 pert_Si8.extxyz,包含四个结构。默认晶胞扰动幅度0.05、原子位移参数0.2 Å、normal分布。输入结构是本例Si8常规胞,不需要POTCAR;本命令不会启动VASP。

默认扰动对精细参考结构可能偏大。第一次学习时可以先限制晶胞不变,并缩小原子位移。

mkdir ../my-uniform
cd ../my-uniform
cp ../inputs/Si8.vasp .
pfd perturb Si8.vasp -n 4 -c 0 -d .03 -s uniform

2. 三种位移分布不是同一个“最大位移”#

分布 本例参数d 含义
normal 0.03 Å 各分量标准差d/√3,向量长度不设硬上限
uniform 0.03 Å 球内均匀取位移,长度不超过d
const 0.02 Å 被选中原子的位移长度固定为d

本次cell-normal中实际最大原子位移可超过0.03 Å,这是normal分布的定义,不是参数失效。晶胞变化带来的整体伸缩和额外原子位移还应分开比较。

mkdir ../my-half
cd ../my-half
cp ../inputs/Si8.vasp .
pfd perturb Si8.vasp -n 3 -c 0 -d .02 -s const -a .5

这里Si8中每帧恰好选4个原子位移0.02 Å,其他4个不动。安装版实现选取 int(a*N)个原子,不是对每个原子独立投掷概率;小体系里非整数会向下取整。

3. 晶胞扰动和超胞#

晶胞变换采用对称随机矩阵:对角变化在±c,非对角在±c/2内。变换晶胞时先保留原子分数坐标,再加原子位移。因此不能只用两份笛卡尔坐标之差判断额外扰动大小。

mkdir ../my-cell
cd ../my-cell
cp ../inputs/Si8.vasp .
pfd perturb Si8.vasp -n 4 -c .01 -d .03 -s normal

先生成2×1×1超胞而不加扰动:

mkdir ../my-supercell
cd ../my-supercell
cp ../inputs/Si8.vasp .
pfd perturb Si8.vasp -n 1 -c 0 -d 0 -r 2 1 1

输出16个原子。-r 2表示三个方向均重复2次,Si8变成64原子;不是只沿一个方向重复。

4. 本次实际生成的结构#

例子 帧数 每帧原子数 主要操作
default 4 8 默认晶胞与normal原子扰动
uniform 4 8 固定晶胞、球内位移
constant-half 3 8 4个原子各位移0.02 Å
cell-normal 4 8 1%晶胞与normal原子扰动
repeat-211 1 16 2×1×1超胞
repeat-2 1 64 2×2×2超胞

实际原子位移与晶胞体积变化

原生命令没有seed选项;包内 scripts/perturb.py在同一Python进程中设置NumPy种子,再调用原生入口,方便对照参考结果。终端直接运行会生成新的随机结构。

cd ..
python3 scripts/perturb.py

这条命令应在解压包根目录执行;它创建独立work目录,已有目录时拒绝覆盖。

5. 生成结构后还缺什么#

本次17帧都只有几何,没有能量和力标签。先筛除过近原子或不合理晶胞,再使用一致的DFT方法标注,才能进入监督训练;不要把extxyz后缀理解成已具备训练标签。后续参考数据与标签和真实DFT补标微调。命令说明可对照PFD-kit源码与文档。

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

查看配图

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

100%查看原图 ↗