| 不足 | 後果 | MACE 的答案 |
|---|---|---|
| 特徵是純量,不帶方向 | 旋轉體系時力的方向變換靠「學」,學得近似就破對稱 | E(3)-equivariance:對稱性內建 |
| 每輪訊息只看成對關係 | 鍵角、二面角要堆很多輪才湊得出來 | higher-order message passing:一輪聚合多體 |
| 物理量 | 旋轉體系時怎麼變 | 術語 |
|---|---|---|
| 能量、電荷 | 不變 | invariant |
| 力、偶極矩 | 跟著轉(向量) | equivariant(一階) |
| 應力、極化率 | 跟著轉(張量) | equivariant(二階) |
0e=純量特徵、1o=向量特徵、128=通道數。correlation=3 ≈ 4-body:一輪就把「這桌人彼此的相對位置」整包聽進來。數學血統:Atomic Cluster Expansion(ACE)——知道名字即可。| 模型 | 訓練資料/理論層級 | License | 適合 |
|---|---|---|---|
| MACE-MP-0a / 0b3 | MPTrj(PBE+U,bulk 軌跡) | MIT | 無機材料入門 |
| MACE-MPA-0 | MPTrj + sAlex | MIT | MIT 系最準,推薦預設 |
| MACE-OMAT-0 | OMat24 | ASL(僅學術) | 非平衡構型較強 |
| MACE-OFF23 | SPICE(ωB97M+D3) | ASL(僅學術) | 有機分子 |
| MACE-MH-1 | OMAT/OMol/OC20/MATPES 多 head | ASL(僅學術) | 跨域,含表面催化 head |
mace_run_train \
--name="hea_ft" \
--foundation_model="medium-mpa-0" \
--multiheads_finetuning=True \
--train_file="train.extxyz" --valid_fraction=0.1 \
--E0s="estimated" --device=cuda
from mace.calculators import mace_mp
from ase import build
atoms = build.molecule("H2O")
atoms.calc = mace_mp(model="small", device="cpu", default_dtype="float32")
print(atoms.get_potential_energy()) # eV
# 吸附能(對照你的 VASP 工作流;完整版見教材 ch04)
# E_ads(H*) = E(slab+H) − E(slab) − ½ E(H₂) ← 三項同一個模型、同一參考系
mace-torch(不是 MACE);先裝對 torch(2.4.1 整版不支援);舊教學的 --swa 已改名 --stage_two。