symfc 力常数拟合入门
用真实Si位移与NEP力学习二、三、四阶拟合,配独立测试、Phonopy声子和Phono3py输运。
阅读本篇目录
symfc把“位移—原子力”数据拟合成满足晶体对称性和声学和规则的力常数。本专题用实际Si例子演示二、三、四阶模型,重点是准备数据、运行拟合、检查误差、传给声子与输运程序。

1. 哪些工作由谁完成#
| 步骤 | 本例使用的软件 |
|---|---|
| 建立Si原胞、超胞与位移 | ASE |
| 对每个位移结构计算原子力 | GPUMD 5.9.1,Si NEP势 |
| 建立二、三、四阶力常数 | symfc 1.7.3 |
| 计算谐波声子 | Phonopy |
| 读取FC2/FC3并求RTA热导 | Phono3py 4.8.2 |
本组力是集群实际GPUMD计算的NEP预测,不是DFT标签。可用来学习拟合与接口流程;换成第一性原理力时仍需重新检查电子参数与数据精度。已有真实ABACUS力的收集例子见Phono3py力常数。
2. 加载环境#
module purge
module load phono3py/4.8.2
python -c "import symfc; print(symfc.__version__)"
本例输出1.7.3。symfc随该独立Python 3.11.16环境使用,不需要寻找一个同名公共模块,也不要叠加另一个科学Python环境覆盖依赖。
3. 先读已有结果#
下载完整Si实例包,解压到自己的工作目录。包内保留123个真实静态力条件、独立训练/验证/测试划分、14个拟合条件、原生导出文件与绘图脚本。
bash analyze.sh
head analysis-reference/fits.csv
生成6张高清结构/数据图和包含全部14个条件的CSV。默认读取 reference/,不会重新调用GPU求力或重新拟合。
4. 从头复现#
在新解压目录中提交:
sbatch submit.slurm
这个P100模板申请1张GPU与4个CPU核。核时/套餐对应的分区应按自己的账户选择;不要手工覆盖Slurm分配的 CUDA_VISIBLE_DEVICES。已获得合适资源后,完整入口是:
bash run-all.sh
顺序为:123个静态力条件 → 收集标签 → 14个拟合 → Phono3py接口计算 → 数据与图片。静态条件使用零时间步,只计算该结构的能量和力,不是分子动力学轨迹。
脚本保护已有目录。再次从头计算时重新解压到新目录,避免把不同参数的结果混在一起。
5. 按需要继续#
- 位移和真实力标签:超胞、位移幅度、数据划分、原子力单位。
- 二、三、四阶拟合:实际API、残差和独立测试。
- 截断与超胞:比较有限模型的相互作用范围。
- 求解器与紧凑常数:dense、梯度迭代与索引映射。
- Phonopy/Phono3py接口:原生文件与最终声子/输运输出。
这些小体系与固定势模型用于操作参考,不构成收敛材料性质、DFT精度或多核/GPU速度排名。symfc官方说明给出了该工具的基本定位。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。