本文将介绍电子衍射束的动力学理论,主要介绍衍射本质、消光距离等物理概念以及衍射束强度公式。
透射电镜(TEM)能让我们看到晶体里原子级别的细节,而图像里的明暗变化,本质上都来自高能电子束和晶体原子的相互作用。
当电子束穿过晶体时,只要原子面的角度刚好满足布拉格条件,就会产生一束衍射束。这束衍射束不会直接跑出晶体,它在传播过程中还会被其他原子面再次散射,和原本没被散射的直接束来回交换能量,这个反复散射的过程就是动力学衍射。
衍射的物理本质
动力学衍射最根本的原因,是电子和原子核之间的库仑力特别强。X 射线和原子的相互作用很弱,通常只会被散射一次,用单次散射的假设就能解释大部分实验结果。但电子不一样,它一旦被某个原子面散射形成衍射束,这束衍射束在继续往前走的时候,很容易被另一组原子面再次散射,就这样一层一层地 “散射 - 再散射”,贯穿整个晶体厚度。
这里要特别区分两个容易搞混的概念:我们这里说的反复散射是动力学衍射的普遍过程,而 “双衍射” 是一个有特殊定义的现象。正因为存在这种多次散射,电子衍射花样里斑点的亮暗不能像 X 射线那样直接用来确定晶体结构,只有会聚束电子衍射(CBED)等极少数特殊情况例外。
更重要的是,电子束的强度对晶体厚度特别敏感,哪怕厚度只有 1.5 纳米的微小变化,都会让衍射强度发生明显改变。而 TEM 成像时,电子束照在样品上的横向尺寸通常超过 1 微米,这就是为什么我们总能在 TEM 图像里看到随厚度变化的明暗条纹。同样的道理,晶体里的位错、层错这些缺陷会改变局部的原子排列,让衍射条件发生变化,所以我们才能在 TEM 里看到这些缺陷。
直接束和衍射束之间的能量交换是贯穿整个动力学理论的核心。在晶体里的任何一个位置,直接束的强度变化不仅和它自己当前的强度有关,还和衍射束的强度有关,反过来衍射束的变化也同时受两束强度的影响。这种相互牵制的关系,让两束光的强度始终处于动态变化中,随着电子在晶体里走得越来越远,能量会在两束之间周期性地来回转移。这就是动力学理论和运动学理论最本质的区别,也是解释 TEM 里厚度条纹、弯曲消光轮廓等所有衍射衬度现象的关键。
消光距离的物理意义
在整个动力学理论里,消光距离是最基础也最重要的一个参数,它的定义式是:
这里的Vc是晶胞的体积,θB是布拉格角,λ是电子的波长,Fg是对应衍射矢量g的结构因子。
简单来说,消光距离就是能量在直接束和衍射束之间完成一次完整的来回转移所需要的晶体厚度,它是衡量某一个特定衍射面散射电子能力的特征长度,单位通常用纳米或者埃。除了对应布拉格衍射的消光距离ξg,我们还定义了前向散射特征长度ξ0,它描述的是电子束沿着原来方向继续传播时的自散射效应,本质上就是电子波在晶体里的折射率变化。
消光距离的大小由三个因素共同决定。首先是材料本身的性质,原子序数越高的材料,原子核对电子的散射能力越强,结构因子Fg就越大,对应的消光距离就越小。比如金的原子序数比硅大很多,它的消光距离就比硅小得多。另外,晶胞体积越小,单位体积里的原子数越多,整体散射能力也会越强,消光距离同样会变小。其次是衍射面的指数,高指数面的结构因子通常比较小,所以对应的消光距离会比低指数面大。最后是加速电压,电压越高,电子的速度越快,波长越短,消光距离就会越大,这也是高电压 TEM 能够观察更厚样品的重要原因。
这里有一个反直觉的例子很值得注意:金刚石的原子序数比硅低,但它的 {111} 面消光距离反而比硅小。这就是因为金刚石的晶格参数特别小,单位体积里的碳原子数比硅晶体里的硅原子数还要多,整体散射能力更强,所以消光距离更短。

表1 100kV 电子双束条件下部分材料的消光距离(单位:nm)
Howie-Whelan 方程与束耦合
描述直接束和衍射束之间动态耦合关系的核心方程是Howie-Whelan 方程组,也有人叫它 Darwin-Howie-Whelan 方程,用来纪念 1914 年最早提出 X 射线动力学理论的 Darwin。它的标准形式是:
这里的ϕ0和ϕg分别是直接束和衍射束的振幅,是电子沿着传播方向在晶体里走过的距离,s是激发误差,用来衡量晶体当前的取向离精确布拉格位置有多远。
推导这个方程的时候,我们做了一个关键的简化,假设激发误差s和位置矢量r都沿着电子束传播的轴方向,忽略了它们的横向分量,这个简化在绝大多数常规实验条件下都是成立的。
这组方程看起来复杂,其实说的是一个很简单的道理:电子束每穿过一层极薄的晶体,直接束和衍射束的振幅都会发生一点变化。这个变化来自两部分,一部分是电子束自己的前向散射,也就是沿着原来的方向继续传播时的相位变化,对应方程里含ξ0的项。前向散射不会改变电子束的传播方向,它只会让电子波在晶体里的波长和真空里略有不同,也就是产生折射率效应。另一部分就是两束电子束之间的能量交换,直接束的一部分能量会转移到衍射束,同时衍射束的一部分能量也会转移回直接束,对应方程里含ξg的项,这个转移的相位由激发误差决定。
这里要特别注意一个术语规范:绝对不能把对应的束叫做 “透射束” 或者 “前向散射束”。因为我们研究的所有电子束都是穿过样品的透射束,而且衍射束也会发生前向散射。只是衍射矢量g=0时的特殊情况,正确的叫法是直接束。
推导这组方程的基本思路是把晶体切成无数个厚度为dz的薄片,这个厚度可以任意小,不一定非要等于原子层的厚度。我们先算每一个薄片对两束电子束振幅的微小改变,再把所有薄片的贡献加起来,就得到了振幅随传播深度的变化规律。
这个方法本质上是波的叠加原理,晶体里的总电子波函数可以看成是直接束和所有衍射束的叠加,也可以看成是各个布洛赫波的叠加。Howie-Whelan 方程是所有衍射衬度计算的基础,后面我们得到的所有强度公式都是从这组方程解出来的,它的正确性已经被无数实验验证过了。

图1 点 P 的定义。入射束在薄样品内部发生散射。我们需要确定样品下表面(出射面)上每个点 P 处直射束(O)和衍射束(Gi)的强度。

图2 散射矢量与位置矢量的关系(A) 回顾 K=kD-kI的关系。矢量kD表示任意波的传播矢量,它不一定对应衍射束,但只有当它对应衍射束时,才会在衍射花样(DP)中产生斑点。(B) 展示了球面波前的半径r、第i个原子的位置矢量ri与强度计算点 P 之间的关系。
双束近似的物理基础
直接求解 Howie-Whelan 方程组非常复杂,因为实际晶体里会同时产生很多个衍射束。为了简化计算,我们引入了双束近似,这也是 TEM 实验中最常用的一种条件。它的核心思想是通过倾转样品台,调整晶体的取向,让只有一个衍射面刚好满足布拉格条件,也就是激发误差s=0,这时候这个衍射束的强度会特别强。而其他所有衍射面都离布拉格条件很远,它们的衍射强度非常弱,可以忽略不计。这样整个系统就只剩下直接束和这一个强衍射束,方程的求解就变得简单多了。
这里还要区分两个容易混淆的概念:真空波矢χ和晶体波矢k。χ描述的是电子在真空中传播时的波矢,而k是电子在晶体内部传播时的波矢。因为晶体内部的平均电势比真空高,电子在晶体里的动能会变大,速度变快,波长变短,所以k的大小会比χ略大一点。在大多数粗略计算中,我们可以近似认为两者相等,但在需要精确结果的时候,必须考虑这个微小的差别。
双束近似不只是一个数学上的简化,它在实验中是完全可以实现的。在操作 TEM 的时候,我们只要慢慢倾转样品,直到衍射花样里只剩下中心的直接斑和一个很亮的衍射斑,其他斑点都几乎看不见,这就达到了双束条件。这时候拍出来的衍射衬度图像对比度最好,也是我们观察晶体缺陷的标准设置。需要强调的是,即使在双束条件下,晶体内部也不是只有两束电子波,而是存在两个布洛赫波。只是这两个布洛赫波叠加之后,在晶体外面看起来就像是直接束和一个衍射束而已。双束近似成立的关键,是其他衍射束的强度足够弱,不会干扰这两束之间的能量交换。
有效激发误差的概念
在求解 Howie-Whelan 方程的过程中,我们先引入了一个无量纲的参数w,定义为w=sξg,它和激发误差的符号相同,实际实验中w的取值一般在 0 到 10 之间。引入w之后,我们就可以把晶体的取向因素和材料本身的散射因素结合起来,定义一个新的参数有效激发误差seff:

为了进一步简化计算,我们还引入了一个角度参数β,让w=cotβ。再利用归一化条件,也就是两束光的总强度始终等于 1,我们就可以把两个布洛赫波的振幅系数写成非常简洁的三角函数形式:
有效激发误差有三个非常重要的性质。第一,它的数值永远不会等于零,哪怕晶体刚好处于精确的布拉格位置,也就是s=0的的时候,seff也等于1/ξg。这说明动力学效应是永远存在的,衍射束的强度不会像运动学理论预测的那样变得无穷大。第二,当激发误差s特别大的时候,也就是晶体离布拉格位置很远的时候,seff会非常接近s,这时候多次散射的影响可以忽略不计,动力学理论就自动退化成了运动学理论。第三,它把原本独立的几何参数s和材料参数ξg整合成了一个参数,这样我们就可以用同一个公式描述从精确布拉格位置到大偏离角的所有情况,大大简化了强度计算和实验分析。
衍射束强度的解析表达式
在双束近似下,我们给 Howie-Whelan 方程组加上边界条件:在晶体的上表面,也就是z=0的地方,所有电子都在直接束里,所以直接束的振幅ϕ0=1,衍射束还没有产生,振幅ϕg=0。解这个方程组,就能得到衍射束强度的解析表达式,这也是整个动力学理论最核心的结果:
这里的t是晶体的厚度。
这个公式定量地告诉我们,衍射束的强度是怎么随着晶体厚度和取向变化的。根据能量守恒,直接束的强度和衍射束的强度加起来永远等于 1,也就是I0=1-|ϕg|^2,两束光的强度变化是完全互补的。
这个公式里最关键的是分子上的正弦平方项sin^2(πts_eff),它说明衍射束的强度会随着晶体厚度呈现周期性的振荡,振荡的周期由有效激发误差seff决定。当晶体刚好处于精确布拉格位置的时候,s=0,seff=1/ξg,公式就会简化成:
这时候振荡的周期正好等于消光距离ξg。也就是说,当晶体厚度等于消光距离的整数倍时,衍射束的强度会变成零,这就是 “消光距离” 这个名字的由来。
这个公式还能解释 TEM 里两个最常见的现象。如果我们固定晶体的取向,也就是让seff不变,那么衍射强度会随着厚度周期性变化,这就是我们看到的厚度条纹。如果我们固定晶体的厚度,让取向慢慢变化,也就是让seff慢慢变化,那么衍射强度会呈现出摆动曲线的形状,这就是弯曲消光轮廓。看懂了这个公式,你就能明白 TEM 图像里绝大多数明暗变化的原因了。
评论区
登录后即可参与讨论
立即登录