跳转至

6.4 带单位与不确定性的轨迹分析

这是未执行的教学模板,不含 ABACUS 计算结果。基准为 ABACUS 3.9.0,需核对程序与外部工具版本。

原创科学流程示意图,不含计算数据

打开原尺寸图

6.4.1 科学问题

有限原子轨迹能够支持哪些结论?相邻帧有相关性,大量帧并不等于大量独立样本。本案例将已验证的硅 AIMD 转为可重现分析流程,分清坐标处理、物理量与统计误差。短固体轨迹能检查稳定和振动,却不能自动测量扩散或反应速率。所示公式和程序模板不包含模拟数据,也不声称获得结果。

6.4.2 模型与前提

归档完整 INPUT、初始与检查点 STRU、KPT、程序版本、数据哈希、重启边界和原始 OUT。以文件实际记录确认单位和输出间隔。解析器要识别晶格、元素、原子顺序和时间索引,不能只数行。先用初始帧恢复已知距离,再选后续帧对照原始输出。使用外部包时保留转换日志。教学 CSV 是需要明确生成并检查的中间格式,Python 示例不会直接解析 ABACUS MD_dump。

6.4.3 模板与解读

输出修改项要求每个保存步含力和速度。大型生产轨迹按存储及最短目标时间尺度选择间隔,并说明依据。CSV 示例使用归档的实际时间步把步号转为 ps,输出间隔已包含在步号差中,不能再乘一次。拼接重启段时检查重复或逆序步号。比较不同超胞前确认每原子归一化,拒绝缺失、非有限或定义不同的能量列。处理后 CSV 与解析器版本应同原始输入一起保存,单张图不是充分档案。

# Output delta for an already validated fixed-cell AIMD run:
md_dumpfreq 1
dump_vel 1
dump_force 1
# External analysis of an explicitly prepared CSV, not raw MD_dump:
# Required columns: step, energy_eV_per_atom, temperature_K
import csv
import numpy as np
with open("analysis.csv", newline="") as f:
    rows = list(csv.DictReader(f))
step = np.array([int(r["step"]) for r in rows])
dt_fs = 1.0  # replace with the actual archived INPUT value
time_ps = (step - step[0]) * dt_fs / 1000.0
energy = np.array([float(r["energy_eV_per_atom"]) for r in rows])
assert np.all(np.diff(step) > 0), "Duplicate/reversed steps"
assert np.isfinite(energy).all(), "Missing/nonfinite energy"
print("Energy range, eV/atom:", float(np.ptp(energy)))

6.4.4 物理与单位

包裹坐标便于展示晶胞内结构,展开坐标保留越界过程,适用于位移统计。固定正交盒中可在足够密的相邻帧之间追踪最近像位移;大跳跃、变胞和斜晶胞需要通用的晶格感知方法,不能对斜胞盲目使用笛卡尔取模。需要时一致地去除质心运动,并报告选择。坐标为 Å 时 MSD 单位为 Ų,时间为 ps 时,三维各向同性长时斜率除以六得到 Ų/ps 的扩散系数。

\[ \mathrm{MSD}(\tau)=\frac{1}{N}\sum_i\left\langle|\mathbf r_i(t+\tau)-\mathbf r_i(t)|^2\right\rangle_t,\qquad D=\lim_{\tau\to\infty}\frac{\mathrm{MSD}(\tau)}{6\tau} \]

6.4.5 输出与分析

首先画能量、温度、最大力与选定键长时间序列,标记平衡排除和重启边界。固体原子围绕晶格位置作有界振动,短时非零 MSD 斜率可能只是弹道运动或振动。径向分布函数需要正确的对数、球壳体积、元素数量与密度归一化。同种元素要排除自身,并一致处理重复计数。半径应受晶胞几何限制,报告分箱宽度并用更细分箱核对尖峰。

6.4.6 收敛与验收

均值在声明的平衡排除后估计。逐步增加块长,观察块相关减弱后误差估计是否稳定,并用独立初态检查可重现性。一条短轨迹的大帧数不能替代足够物理时长。对快过程比较输出频率,对长波或尺寸效应比较超胞。若拟合扩散,必须有持续线性扩散区间、足够时间原点与尺寸控制。熔点以下的硅说明:找不到扩散区间时应暂缓报告扩散系数,不能强行直线拟合。

6.4.7 误区与练习

互相关、恒温器改变动力学、重启不连续会使简单误差条失效。不要把平衡过程作为平衡样本,示意图必须标明性质,并区分建议阈值与实测值。练习一:构造越过一维周期边界的粒子,说明包裹 MSD 错误,再展开恢复位移。练习二:推导 Ų/ps 到 m²/s 的换算因子为 10⁻⁸。练习三:解释固定时长下保存频率加倍为何不会把统计误差减半。练习四:为结构均值设计块长测试,说明哪项有限时间限制仍阻止输运结论。

6.4.8 一手资料