Artemis 拟合 EXAFS:路径、配位数和结果判据
扩展 X 射线吸收精细结构(extended X-ray absorption fine structure,EXAFS)的壳层拟合,常用 Demeter 软件包里的 Artemis 完成。Athena 负责把实验谱处理成可导入的数据,Artemis 再把测量到的振荡和 FEFF 计算的散射路径对齐,从而估计配位数 $N$、距离修正、无序度 $\sigma^2$ 和能量原点位移 $\Delta E_0$。
下面把界面、操作顺序和三类示例分开写。$\mathrm{Pt\text{-}O\text{-}Cu}$、$\mathrm{PtO_2}$ 和铁的数据来自不同教程,参数和日志各自保留,不合并成一次拟合。这批材料里没有论文 DOI。
Demeter 里的三个部分
Demeter 在相关说明里被分成三块:
- Athena:处理实验数据,得到 X 射线吸收近边结构(X-ray absorption near-edge structure,XANES)和 EXAFS。
- Artemis:拟合 EXAFS,提取配位数等结构参数。
- Hephaestus:该说明把它写成与同步辐射实验相关的数据库。

Artemis 拟合的输入是不加权的 EXAFS 振荡 $\chi(k)$。背景扣除要在 Athena 里做完,Artemis 本身不做这一步。拟合使用 FEFF 算出的散射振幅和相移,做最小二乘。目标函数容易落到局部极小,所以窗口、路径和初值都要人为检查。
程序内嵌 Atoms 和 FEFF6,不包括 FEFF8 及更高版本。它的计算核心对应原来 UWXAFS 软件包中的 FEFFIT,图形界面是后来加上的。
主窗口各自管一件事
Athena 的功能集中在一个窗口里。Artemis 把数据、理论路径、参数和拟合拆开,需要来回切换。主窗口从左到右大致是:
| 区域 | 作用 |
|---|---|
| GDS、Plot、History、Journal | 定义参数、看图、回看以往拟合、写笔记 |
| 数据 | 只能导入 Athena 保存过的数据 |
| 模型与路径 | 由 CIF 经 Atoms 和 FEFF 生成 path |
| 拟合结果 | 给出 $N$、键长相关量和 $\sigma^2$ |
GDS 里用 guess 表示待拟合,用 set 表示固定,也可以由其他参数算出一个量。Sample 窗口左侧选择要拟合的 R 空间范围,右侧列出路径和每条路径用到的参数名。History 会留下每次拟合,因为可用的结果往往要反复改。


一条可重复的顺序是:
- 在 Athena 中处理谱,保存为
.prj。 - 在 Artemis 中用 File → Open project or data,或在 data set 里 Add,导入该文件。
- 在 Feff calculation 中加入 CIF,指定吸收原子,依次 Run Atoms、Run FEFF。
- 画出各路径的 $\lvert\chi(R)\rvert$,只把和样品峰对得上的路径拖进数据窗口。
- 设定 $k$、$R$ 窗口和每条路径的 $N$、$\Delta E_0$、$\Delta R$、$\sigma^2$。
- 运行 Fit,阅读日志后再改窗口或路径。GDS 里出现的参数名必须和路径公式里的名字一致。
示例一:$\mathrm{Pt\text{-}O\text{-}Cu}$ 的氧路径和铜路径
一组第二壳层操作使用名为 Pt-O-Cu 的 FEFF 计算。图中集群半径 $5.00\ \mathrm{\AA}$,包含 16 个原子。被选中的两条单散射路径是:
| 路径 | $R_{\mathrm{eff}}$ | 说明 |
|---|---|---|
| O1.1 | $1.929\ \mathrm{\AA}$ | $\mathrm{Pt\text{-}O}$ 单散射 |
| Cu2.1 | $2.545\ \mathrm{\AA}$ | $\mathrm{Pt\text{-}Cu}$ 单散射 |
同一屏幕上的傅里叶变换窗口为 $k_{\min} = 3\ \mathrm{\AA}^{-1}$,$k_{\max} = 11\ \mathrm{\AA}^{-1}$,$R_{\min} = 1\ \mathrm{\AA}$,$R_{\max} = 3\ \mathrm{\AA}$。教程正文接着把 $R_{\max}$ 从 3 改到 3.3 再拟合一次。截图里仍写着 rmax = 3,因此这张图对应修改前的窗口。

这篇教程建议由金属箔把振幅衰减因子 $S_0^2$ 固定为 0.87。它还写了一种变通:若软件不允许给 $N$ 单独起名,就把 $N$ 的 guess 乘进 $S_0^2$ 所在的那一格,使结果里显示出配位数。同篇 Fit 1 日志里却直接出现了名为 N1、N2 的拟合变量。固定 $S_0^2$ 的建议,和这条日志里的参数表,应按两套做法分开看。
Fit 1 日志与正文中的 Happiness 一致,可以和“调整 rmax 之前”的那次拟合对上:
- 独立点数 9.9375,变量 7 个。
- 约化 $\chi^2$ 为 33.116,R 因子为 0.0086。
- Happiness = 95.47/100。
- 日志写明在 9.938 个独立点中使用了 7 个,惩罚为 4.528。
- 软件注明 Happiness 是语义性指标,不应写进论文。
日志中的距离项是相对 FEFF 参考距离的修正。$\mathrm{O}$ 路径 $R_{\mathrm{eff}}$ 为 $1.929\ \mathrm{\AA}$,$\mathrm{Cu}$ 路径 $R_{\mathrm{eff}}$ 为 $2.545\ \mathrm{\AA}$。$R_1 = -0.058\ \mathrm{\AA}$ 是修正量,直接把它写成 $\mathrm{Pt\text{-}O}$ 键长会短一截。
| 参数 | 拟合值 | 不确定度 |
|---|---|---|
| $N_1$ | 1.466 | 0.213 |
| $E_1$ | 4.705 eV | 1.371 eV |
| $R_1$ | $-0.0582\ \mathrm{\AA}$ | $0.0087\ \mathrm{\AA}$ |
| $\sigma^2_1$(SIG1) | $0.00402\ \mathrm{\AA}^2$ | $0.00153\ \mathrm{\AA}^2$ |
| $N_2$ | 2.567 | 0.510 |
| $R_2$ | $0.00549\ \mathrm{\AA}$ | $0.0084\ \mathrm{\AA}$ |
| $\sigma^2_2$(SIG2) | $0.01087\ \mathrm{\AA}^2$ | $0.00165\ \mathrm{\AA}^2$ |
小数尾数以截图为准。$N_1$、$N_2$ 的不确定度相对数值本身已经不小。$E_1$ 约 4.7 eV,落在后文 $\pm 10\ \mathrm{eV}$ 的范围内。$\sigma^2_1$ 高于该教程给出的室温金属–氧 $\sigma^2$ 下限 $0.0025\ \mathrm{\AA}^2$,$\sigma^2_2$ 大于 $\sigma^2_1$,和“更远壳层的 $\sigma^2$ 更大”同向。这些只说明这条日志和该教程自己的经验范围能够对上其中几项,并不表示拟合已经可以照抄进论文。

正文还提醒:$\Delta E_0$ 若只用一个变量拟合不好,可以拆成两个变量。约化 $\chi^2$ 不能单凭某一个数判断好坏;同一次调试中它变小,才说明这一步比上一步更好。
示例二:$\mathrm{PtO_2}$ 第一壳层与 $S_0^2$
另一篇教程只拟合 $\mathrm{PtO_2}$ 的第一壳层,用来说明配位数从哪里来。样品仍需先在 Athena 里存成 .prj。
$R$ 窗口在该示例中改成 $1\text{–}2\ \mathrm{\AA}$。选择路径时,取 $R_{\mathrm{eff}}$ 比待拟合峰的位置长约 $0.3\text{–}0.5\ \mathrm{\AA}$ 的 FEFF 路径,再拖到 Path list。这个长度差和后文“傅里叶变换峰通常比真实键长短 $0.3\text{–}0.5\ \mathrm{\AA}$”是同一件事:峰位置本身还不是键长。


参数按壳层分工:每个壳层的 $S_0^2$ 用同一个值;$\Delta E_0$ 可以共用;$\Delta R$ 和 $\sigma^2$ 按壳层分开。示范时先把 $S_0$ 设为 1,再让 $n_1$ 浮动。拟合结束后,日志里的 $n_1$ 被这篇教程解释为第一壳层 $\mathrm{Pt\text{-}O}$ 配位数。
截图中的 Fit 1 同时给出了软件自己的警告,需要和教程正文对看:
- Happiness = 92.19/100。
- 有一条“绝对值大于 10”的惩罚,并写有独立点惩罚 5.810。被点名的符号以图中英文为准。
- $E_0$ 约为 12.6 eV,$r_1$ 约为 $-0.034\ \mathrm{\AA}$,$s_1$ 约为 $0.0038\ \mathrm{\AA}^2$,$n_1$ 约为 4.74,$s_0$ 被设为 1。日志里的变量名是 enot、r1、s1、n1、s0。
- $r_1$ 与 $E_0$ 的相关约 0.86,$\sigma^2$ 与配位数一项的相关也在 0.85 左右。

同一篇正文又规定:窗口要变成淡绿色,结果才有可能采用;红色、红黄、黄色、黄绿色都不用。即便窗口变绿,还要求 R 因子小于 0.02、$S_0^2$ 为正、$\sigma^2$ 为正,并且 Happiness 必须等于 100.00/100。上面这条日志是 92.19/100,$E_0$ 也已经超出其他材料里的 $\pm 10\ \mathrm{eV}$。因此 $n_1 \approx 4.74$ 只是这张示范屏幕上的拟合值,不能当成已经通过该教程自己的采用标准的 $\mathrm{Pt\text{-}O}$ 配位数。
$S_0^2$ 未知时,教程改为拟合标样:把 $\mathrm{PtO_2}$ 第一壳层配位数固定为 6,只改参数表,反推出 $S_0$。对应日志里 $S_0$ 约为 0.79,不确定度约为 0.086;$E_0$、$r_1$、$s_1$ 仍和上面同量级。精确尾数以截图为准。

示例三:铁的 R 空间数据
第三篇教程处理的是 Athena 导出后的 $\mathrm{Fe}$ 数据,并写明导入 $\mathrm{Fe_3O_4}$ 的 CIF,再 Run Atoms、Run FEFF、Plot path,对照样品谱挑选路径。路径参数用右键一次设为 guess:N1、E1、R1、SIG1、N2、E2、R2、SIG2。这篇明确写所有参数都不固定,和示例一里“把 $S_0^2$ 固定为 0.87”不同。
截图上的实验数据名是 Fe_lepidocrocite.000,$R$ 空间在约 $1\text{–}3\ \mathrm{\AA}$ 有两个主峰。FEFF 路径图的图例是 O10.1、O7.1、O6.1、Fe1.1、Fe3.1、Fe1.2 等,没有在图上标注 $\mathrm{Fe_3O_4}$。正文中的 $\mathrm{Fe_3O_4}$ 与图中的纤铁矿(lepidocrocite)文件名是否为同一样品,原文没有说明,此处标为待核对。


教程说这一结果经过 19 次调整。它没有在正文里给出最终的 $N$、$R$ 和 $\sigma^2$,只保留了操作顺序:导入 Athena 数据,导入 CIF,计算并挑选路径,设置参数和拟合范围,然后重复,直到可以停止。
三种判据不要合成一条
曲线贴合只是必要条件。三份材料对“什么叫能用”的写法并不相同。
| 材料 | R 因子 | $S_0^2$ | $\sigma^2$ | $\Delta E_0$ | Happiness |
|---|---|---|---|---|---|
| $\mathrm{Pt\text{-}O\text{-}Cu}$ 操作说明 | 小于 0.02 视为较好;0.02–0.05 表示模型略有差别或数据一般;0.05–0.1 表示偏差大或数据很差;大于 0.1 应更换模型 | 建议按箔样固定为 0.87 | 室温 $\mathrm{M\text{-}O} \ge 0.0025\ \mathrm{\AA}^2$;$\mathrm{M\text{-}S} \ge 0.003\ \mathrm{\AA}^2$;$\mathrm{M\text{-}M}$ 不小于对应 foil;同种配位的更远壳层应更大 | 宜在 $-10$ eV 到 $+10$ eV;不确定度往往很大,不用误差条本身做判据。同一样品各路径的 $\Delta E_0$ 应接近 | 文中展示 95.47/100,并继续改 $R$ 窗口 |
| $\mathrm{PtO_2}$ 配位数说明 | 必须小于 0.02 | 必须为正;标样步骤把第一壳层配位数固定为 6 来反推 | 必须为正 | 未另给数值区间 | 必须等于 100,且结果窗口为淡绿色 |
| 参数合理性图 | 不要只因为小于 0.02 就判定成功 | $0.7 < S_0^2 < 1.0$ | $\sigma^2 > 0.003\ \mathrm{\AA}^2$ | 绝对值小于 10 eV | 先看曲线是否贴合、Happiness 是否较高,再看其余参数 |
同一张参数图用 $\mathrm{Cu}$ foil 的 $R$ 空间说明窗口范围:范围拉得过宽时,主峰以外的振荡会被算进拟合;把窗口收在主峰附近后,拟合曲线和数据在峰位重合得更好。图中的红叉标的是过宽的那一次。

另外两条和配位数有关、但容易被忽略:
- 混合物相里,拟合配位数是各相的加权平均,不等于某一个格点周围的原子个数。
- 同一样品里不同路径的 $\Delta E_0$ 应差不多;同一系列样品、同一种配位的 $\Delta E_0$ 也应接近。
$\mathrm{PtO_2}$ 那篇把 Happiness = 100 写成硬条件,软件日志却写着不要把 Happiness 报告到论文里。$\mathrm{Pt\text{-}O\text{-}Cu}$ 的日志在 95.47/100 时仍继续讨论 R 因子。参数图只要求 Happiness “较高”。引用时要写明是哪一种标准。
R 空间的峰不是结构本身
壳层拟合依赖对样品结构的大致判断,主观性很大。几条读谱限制可以和上面的拟合参数对着看。
傅里叶变换峰会向低 $R$ 方向移动。无序较大时,移动量是零点几 $\mathrm{\AA}$,并不等于原子间距变短。多数峰比真实键长短 $0.3\text{–}0.5\ \mathrm{\AA}$,壳层拟合给出的才是要报告的距离。这和 $\mathrm{PtO_2}$ 示例里“$R_{\mathrm{eff}}$ 比峰位长 $0.3\text{–}0.5\ \mathrm{\AA}$”相互一致。
强峰旁边的弱肩,以及 $R$ 小于 $1\ \mathrm{\AA}$ 的峰,可能来自噪声。峰面积与配位数正相关,只能定性比较配位数变化,不能代替拟合得到的 $N$。

EXAFS 拟合给出的是样品的平均局域结构,不是一个确定的立体构型。图中举例:$\mathrm{Co\text{-}N}$ 配位数为 4,仍不能直接说成四面体,还要用其他方法核对。图中用第一性原理程序计算 XANES 来约束局部模型。幻灯片上的程序名写成了 FDNMNES,按常用写法改为 FDMNES(finite difference method for near-edge structure)。图中曲线标注为 $\mathrm{O_2\text{-}CoN_4C_{12}}$。

$\mathrm{Fe}$ K 边的对比图把峰标成 $\mathrm{Fe\text{-}C}$、$\mathrm{Fe\text{-}P}$ 和 $\mathrm{Fe\text{-}Fe}$。图例中橙色为 $\mathrm{Pd_1Fe}$ SAA@PC,绿色为 $\mathrm{Fe_2O_3}$,黑色为 $\mathrm{Fe}$ foil。这些标注说明不同近邻会落在不同的 $R$ 位置,具体归属仍以原图为准。

独立点数的原文需要核对
拟合参数的个数应少于独立点数。EXAFS 里常用
$$N_{\mathrm{idp}} = \frac{2\Delta k,\Delta R}{\pi}.$$
原文把这句话印成「待拟合参数大于独立点数」,公式前还多出一个 $R$,因此不采用那一句。Fit 1 日志里给出的独立点数是 9.9375,变量个数是 7。
拟合结束后先核对的几件事
- 数据和 CIF 是否为同一套样品。铁的示例里,正文写 $\mathrm{Fe_3O_4}$,图上的数据文件名是
Fe_lepidocrocite.000。 - 路径的 $R_{\mathrm{eff}}$ 是否只比目标峰长大约 $0.3\text{–}0.5\ \mathrm{\AA}$,$R$ 窗口有没有把噪声峰包进去。
- $S_0^2$ 是固定、设为 1,还是用已知配位数的标样反推。三篇的做法不同。
- 日志里的 $R$ 是 $\Delta R$ 时,要加回该路径的 $R_{\mathrm{eff}}$,再和键长比较。
- R 因子、$\sigma^2$、$\Delta E_0$ 和 Happiness 用的是哪一套标准。$\mathrm{PtO_2}$ 正文要求 Happiness 为 100,其配图日志却是 92.19。
- 配位数是平均结果。由 N 直接推断构型,需要额外的 XANES 或结构信息。