hiPhive 对称性与簇空间
用Si实算基组解释二三阶、原子重复、对称性约束与自由参数。
阅读本篇目录
ClusterSpace规定“允许拟合什么样的力常数”。晶体平移、点群和原子置换对称性把大量张量分量关联起来,声学和规则再施加约束。本例用Si说明阶数、簇和自由参数的区别。

1. 建立二阶和三阶空间#
module load hiphive/1.5
python - <<'PY'
from ase.io import read
from hiphive import ClusterSpace
ref = read('Si-reference.xyz')
for cutoffs in ([3.0], [3.0, 3.0]):
cs = ClusterSpace(ref, cutoffs)
print('原胞原子数:', len(cs.primitive_structure))
print('独立自由参数:', cs.n_dofs)
cs.print_tables()
cs.print_orbits()
PY
本例3.0的单位是Å。列表第一个元素对应二阶截断,第二个对应三阶截断。它不是把距离3Å内所有原子硬凑成同一种相互作用;哪些几何簇能出现、哪些张量分量关联,仍由结构和对称性决定。实际Si原胞为2原子,空间群Fd-3m,二阶模型有2个自由参数,二加三阶有5个。
2. 三阶不等于必须有三个不同原子#
能量展开的三阶项含三个位移因子。原子编号可以重复,例如(i,i,i)、(i,i,j);方向分量仍可以不同。图中的同位点圆圈和连线用来区分“阶数”和“几何上不同的原子数”。本例四类轨道分别是二阶(i,i)、(i,j),三阶(i,i,i)、(i,i,j)。
Si最近邻约2.351Å,被3Å截断包含。对称性产生8个未施加全部声学约束的本征张量参数,约束后剩5个独立拟合自由度。换结构、截断、对称性容差或约束,这些数字都可能变化,不能照抄为所有材料的参数数目。
3. 保存、读取并检查真实基组#
完整拟合完成后:
module load hiphive/1.5
python inspect_basis.py fit
cat fit/BASIS.json
脚本读取真正序列化的ClusterSpace,保存轨道编号、阶数、几何阶数、原型坐标、本征张量和分阶参数数目。只查看下载包内的既有模型,可以把末尾 fit 换成 reference-fit;输出BASIS.json会更新,原模型保持。
from hiphive import ClusterSpace
cs = ClusterSpace.read('reference-fit/fit-order3/cluster-space.cs')
print(cs.get_parameter_indices(2))
print(cs.get_parameter_indices(3))
4. 怎样选择自己的空间#
先从低阶、有限截断开始,检查拟合矩阵秩、留出误差和声子结果,再比较更大截断或阶数。自由参数增加需要更多有信息的构型。过小超胞会让不同周期像的相互作用难以区分;不要仅为了降低训练误差无限增加参数。默认声学和规则有助于平移一致性,但不能修复错误参考结构、力单位或原子映射。
本篇演示实际基组的构造与读写;截断/阶数/正则化系统比较及有限温度模型另行介绍,不把当前3Å设置作为收敛结论。对象接口见hiPhive参考。
下载与完整运行#
下载输入、真实力数据、参考输出和全部绘图脚本,解压到自己的工作目录。先重画随包结果,不重新计算:
bash analyze.sh
输出在 reference/analysis/ 和 reference/figures/。在新解压目录提交完整的两种hiPhive拟合、7组层状结构和44组FCP条件:
sbatch run.slurm
默认一张P100、一个CPU核、30分钟,分区为 gpu-8p100-hs;GPU套餐用户按自己的权限改为例如 gpu-8p100-tc。需要按条件并行提交时:
bash submit.sh
这会生成带依赖的拟合、51个条件和分析作业。只生成脚本用 bash submit.sh --dry-run。全部结束后查看 work/analysis/ 和 work/figures/,或重新分析:
bash analyze.sh work work-fcp fit
bash fit.sh 是CPU拟合入口,bash run.sh 条件名 是已经分配计算资源后的单例入口;不要在登录节点直接启动GPUMD。拟合脚本不覆盖已有 fit/,计算也不覆盖已有结果;重新计算整套请重新解压。单例完成后可以直接查看输出,统一分析需要整套条件齐全。
本例使用GPUMD5.9.1 P100构建(GCC13.3、CUDA12.9)、hiPhive1.5及ASE环境,读取导出文件使用Phonopy4.8.3、phono3py4.8.2。入口脚本会加载对应模块或已安装的工具环境。当前示例是短小的操作参考,不代替势函数、超胞、截断、位移幅度与采样的收敛检查。
截断、温度与晶格热输运实例#
hiPhive截断与阶数、正则化与独立验证、有限温度力常数提供Si64 NEP标签的完整短轨迹和拟合;ShengBTE专题则用已有真实ABACUS力常数演示RTA/迭代、数值参数、同位素、纳米线、寿命/MFP及Wigner输出。两类数据来源分开说明,终端输入、真实图和下载包配套,有限模型与短采样不作收敛材料性质或性能排名。