PFD-kit数据准备与能量、力、virial标签
完整Si8输入、真实DFT与教师标签的区别、训练划分和结构扰动操作。
阅读本篇目录
下载输入、五个参考模型、真实数据与短命令脚本(ZIP)。先准备结构和标签,再考虑微调模型。这里所有DFT标签采用相同Si PBE赝势、450 eV截断、1E-6电子阈值和KSPACING=0.5。
1 查看真实输入#
cat inputs/Si8.vasp
cat inputs/INCAR
cat data/SPLIT.json
完整Si8 POSCAR:
Si
1.0000000000000000
5.3058697433035791 0.0000000000000000 0.0000000000000000
0.0055851353951275 5.3391001067849837 0.0000000000000000
0.0105110273798546 0.0192626566917539 5.3201582235905791
Si
8
Cartesian
5.3118431476942618 5.3410085887471386 5.3017422206790048
1.3032473746995079 1.3364369228675974 1.2960315511289651
5.2728227042976865 2.7428353065609468 2.6111441360193601
1.3567508755463908 4.0132542941091254 4.0555532636584584
2.6705299004867116 5.3311731397583797 2.5937845602407075
4.0108826238470385 1.3488995213572761 3.9927884875297988
2.7069402212560809 2.6796342335588550 5.3202563595707533
3.9384333212150513 4.0427377270033986 1.3026110239058297
它经过扰动,体积150.712473 ų,没有先优化成常压平衡结构。原子坐标可以跨过周期边界;周期距离和晶胞共同定义几何结构,不能只按屏幕上的坐标差判断原子重叠。
原有48帧含Si2、Si8,固定分为32帧训练、8帧预训练验证、8帧外部测试。外部八帧没有进入训练、熵选样或教师标签生成。
head -n 5 data/train.xyz
head -n 5 data/test.xyz
cat analysis/PFD-DFT-labels.csv
扩展XYZ每帧第一行是原子数,第二行给晶胞、能量和属性定义,后面是元素、位置、力。一个文件可包含多个构型,不能把文件数量当成构型数量。
2 统一标签含义#
| 量 | 本专题约定 |
|---|---|
| 坐标、晶胞 | Å |
| energy | 每构型总能量eV,采用VASP自由能F |
| forces | 每原子三分量eV/Å |
| 总virial W | 每构型eV,W = −V × ASE应力 |
| 压力 | W/V,压缩为正;乘160.21766208转为GPa |
原生ASE应力以拉伸为正,和压缩为正的压力符号相反。输入中的总virial不能再额外乘原子数。
本包项目内的格式桥接保留能量、力和总virial,在ASE stress与DeePMD virials之间转换;不会把缺失的应力填成零。换成自己的数据时,要检查文件中真正包含了哪些标签,不要只写了非零损失权重就认为该性质已参与训练。
cat configs/finetune-train.json
cat configs/student-train.json
head analysis/PFD-independent.csv
3 四个新DFT点怎么划分#
四帧来自参考MD轨迹,每帧做一次静态VASP。PFD内部按test_size=0.25将它们拆成三帧训练、一帧检查,所以微调实际使用32+3=35帧训练。原八帧预训练验证与这个新内部一帧检查不同,八帧外部测试始终单独保留。
蒸馏阶段原32个训练几何会先去掉旧DFT标签,再由微调教师重新预测;加上12个新教师标签,共44帧教师数据。其中九个新点加32个初始点成为41帧训练,三个新点用于内部检查。不要把这44帧写成44次新增DFT。
4 结构扰动如何操作#
安装版支持普通扰动、超胞和原子扰动概率。以下是四个小扰动的实际入口,可在自己的新目录执行:
module load pfd-kit/0.10.13
pfd perturb inputs/Si8.vasp -n 4 -c 0.01 -d 0.02
超胞示例:
mkdir perturb-supercell
cd perturb-supercell
pfd perturb ../inputs/Si8.vasp -n 2 -c 0.005 -d 0.01 -r 2 1 1
输出为pert_Si8.extxyz。扰动只改变结构,不会自动给新构型产生DFT能量和力;必须后续标注。换体系时先检查最短周期距离、元素顺序和结构合理性,再送入昂贵计算。