MACE专题

PolarMACE电荷、偶极与受力读取

读取水分子模型的完整原子电荷、偶极和受力,演示电荷守恒、偶极重建与九个力分量的能量差分。

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

这篇接续水分子训练例,说明PolarMACE输出里哪些量可以直接看,哪些需要结合模型约定理解。使用同一份实际训练模型与3个独立测试结构。

1 从资料包输出开始#

下载完整输入、实际数值与脚本。解压后执行:

cd polarmace-water-practical
bash read.sh
bash plot.sh
head -n 9 analysis-read/PolarMACE-water-prediction-summary.csv
head -n 12 analysis-read/PolarMACE-water-full-forces-charges-dipoles.csv

第一张表逐个分子列出能量、力和偶极误差,以及模型静电能;第二张表保留原子、方向、位置、电荷、完整受力和偶极分量。

这一步读取附带结果;用自己训练的权重做新预测,需要先完成上一节的个人依赖与训练,再执行bash predict.sh。

2 有效电荷与偶极怎样关联#

本例只采用原子单极子,所以总偶极可由有效电荷和坐标重建:

总电荷 Q = Σ q_i
总偶极 μ = Σ q_i × r_i

电荷单位e,坐标Å,得到偶极e·Å。中性体系平移所有原子后,总偶极保持不变;带电体系则存在原点依赖,不能直接套用这条中性结论。

水分子的模型有效电荷与偶极方向

图中坐标以氧原子为原点,颜色和标注是模型有效电荷。绿色箭头示意偶极方向,不与键长使用相同量纲。

这些电荷是模型为拟合能量与偶极学习到的内部自由度,不等于独立DFT电荷分区得到的Mulliken或Bader电荷。不同模型参数化也可能给出相近的总偶极和不同的原子电荷分配。

3 直接查看某个结构的原始结果#

python3 -m json.tool reference-results/raw/test-0.json

主要字段为:

positions_A                原子位置
energy_eV                  总能量
forces_eVA                 所有原子的三维力
dipole_eA                  总偶极三分量
charges_e                  模型原子有效电荷
electrostatic_energy_eV     模型静电项

静电项是模型分解中的一部分,不能仅把它当成体系的总结合能,也不把它与单独DFT计算里的任意“静电能”字段直接相等。

4 用能量差分检查全部受力#

对某个原子的某个方向,分别位移+h与−h,本例取h=0.0001 Å:

F ≈ −[E(r+h) − E(r−h)] / (2h)

3个原子共9个力分量,本例全部实际计算过。原始能量保存在对应的FD-原子-方向-plus/minus.json中;读取脚本从这些原始能量重新计算差分,不只是读取一个“通过”标记。

cat analysis-read/PolarMACE-water-all-force-FD.csv
python3 -m json.tool reference-results/raw/FD-0-0-plus.json
python3 -m json.tool reference-results/raw/FD-0-0-minus.json

全部九个力分量与能量差分的实际对照

这里检查的是模型能量与模型受力的一致性。它与模型受力相对DFT标签的误差不同;相对DFT的实际力RMSE为约0.02244 eV/Å,另在逐帧结果表中保留。

5 再检查旋转与平移#

该实例还把同一测试结构整体平移、旋转,保存了新的实际输出:

python3 -m json.tool reference-results/raw/translation.json
python3 -m json.tool reference-results/raw/rotation.json

中性分子整体平移后能量与偶极不变;旋转后能量不变,力与偶极按同一旋转矩阵转动。这些检查用于理解模型的对称性,不代表已完成所有材料物性的验证。

6 对自己新训练的同一案例做检查#

在训练已完成、个人依赖已准备好的资料包根目录执行:

sbatch check.sh

它对新模型计算3个测试几何、平移、旋转和18个位移端点,完整结果写入check-new/。任务结束后:

bash read.sh check-new/DATA-VALIDATION.json
bash plot.sh

脚本针对本篇的三原子水分子与固定测试集合;如果改成其他体系,应相应调整差分对象与数据读取。这里没有用零场小数据去宣称已训练好介电常数、极化率或任意外场响应。

方法和单位约定可对照MACE文档与长程静电库。

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

查看配图

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

100%查看原图 ↗