布拉格衍射模拟器 返回
固体物理模拟器

布拉格衍射模拟器 — X 射线晶体学

基于布拉格定律 2d sinθ = nλ,从晶面间距 d、X 射线波长 λ、衍射级次 n、晶格应变 ε 实时计算布拉格角、衍射角 2θ、有效面间距与最大可能级次,并可视化相邻晶面的反射几何与多级衍射峰位置。

参数设置
晶面间距 d
Å
X 射线波长 λ
Å
衍射级次 n
晶格应变 ε

默认值为 d=2.500 Å、λ=1.540 Å(Cu Kα)、n=1、ε=0。Cu Kα 是 XRD 最常用源,适于金属与陶瓷分析;Mo Kα(0.71 Å)波长更短可达更高角度;Co Kα(1.79 Å)抑制钢铁荧光,适于铁基材料。

计算结果
布拉格角 θ
衍射角 2θ
有效面间距 d_eff
最大可能级次
晶面与反射路径

水平线=晶面(间距 d 平行排列)/黄色=入射 X 射线(与晶面夹角 θ)/红色=反射 X 射线(出射角 θ)/白色虚线=晶面法线/绿色=相邻晶面反射光程差 2d sinθ

多级衍射峰

横轴=衍射角 2θ(0°〜180°)/纵轴=相对强度/蓝色竖线=各级次 n=1、2、3 …… 的 2θ 位置/黄色标记=当前 n 对应的 2θ/灰色带=物理上允许的范围

理论与主要公式

布拉格定律由“相邻晶面反射波的光程差 $2d\sin\theta$ 等于波长 $\lambda$ 的整数倍”导出:

$$2d\sin\theta = n\lambda$$

$\theta$ 为布拉格角,$2\theta$ 为衍射角。考虑晶格应变 $\varepsilon$ 时有效面间距改写为:

$$d_{\text{eff}} = d(1+\varepsilon),\quad \sin\theta = \frac{n\lambda}{2 d_{\text{eff}}}$$

由物理约束 $\sin\theta \le 1$,可观测的最大级次为:

$$n_{\max} = \left\lfloor \frac{2 d_{\text{eff}}}{\lambda} \right\rfloor$$

$d$ 为晶面间距(Å),$\lambda$ 为 X 射线波长(Å),$n$ 为整数级次,$\varepsilon$ 为无量纲晶格应变。1 Å = 10⁻¹⁰ m。

什么是布拉格衍射模拟器

🙋
听说 X 射线可以“看穿”晶体的结构。这是怎么做到的?像拍照那样吗?
🎓
好问题。不是拍照,而是“衍射”。晶体是规则排列的原子面,X 射线照射时每个面都会反射一部分波。当相邻面反射波刚好相差一个波长时,它们相长叠加产生强反射 — 这就是布拉格定律 2d sinθ = nλ。在本工具默认值(Cu Kα 线 λ=1.540 Å、d=2.5 Å)下,“计算结果”面板会显示布拉格角 θ ≈ 17.94°、衍射角 2θ ≈ 35.88°,最多可观测 3 级。
🙋
图上写着“光程差 2d sinθ”,这从哪里来?为什么 d 前面有个 2?
🎓
纯几何推导。比较一束在上层晶面反射的波和另一束先下到深 d 的下层面反射再返回的波,后者多走了“下去 + 上来”,两者均与晶面成 θ 角,由几何关系附加程长为 2d sinθ。当此值等于波长的整数倍 nλ 时两波同相相长。在本工具中将 d 由 2.5 拖到 5.0 Å,图底部的“光程差”数值会即时翻倍。
🙋
“最大级次 3”这个数值挺有趣,它代表什么?
🎓
这是物理上限。由 sinθ = nλ/(2d) 和 sinθ ≤ 1 得 n ≤ 2d/λ,取整数下界即可。默认值(d=2.5、λ=1.540)算得 2·2.5/1.540 = 3.247,整数部分是 3。把 λ 切到 0.71 Å(Mo Kα)最大级次跃升至 7。这正是单晶结构解析常用 Mo Kα 的原因 — 需要更多高级次反射。
🙋
最后一个问题:“晶格应变 ε”是什么?怎么用来测残余应力?
🎓
ε 是晶面在拉/压载荷下间距的相对变化。我们令有效间距 d_eff = d(1+ε),ε=+0.01 表示伸长 1%。在本工具中把 ε 从 0 调到 +0.01,2θ 由 35.88° 降到约 35.52°(低角偏移);压缩则相反。sin²ψ 法在多个方向测量这种微小峰移,反演出残余应力张量,精度达 MPa 量级。航空发动机涡轮叶片、桥梁焊缝、半导体薄膜的残余应力都用同样原理测量。

常见问题

布拉格定律 2d sinθ = nλ 描述 X 射线在晶面上反射时,相邻晶面散射波相长干涉的条件。该公式由 William Henry Bragg 与 William Lawrence Bragg 父子于 1913 年导出,他们因此共同获得诺贝尔物理学奖。d 是相邻晶面的间距,θ 为布拉格角(从晶面起算的入射角),n 为整数级次,λ 为 X 射线波长。在本工具默认值(d=2.500 Å、λ=1.540 Å Cu Kα 线、n=1、ε=0)下显示 θ ≈ 17.94°、2θ ≈ 35.88°、有效面间距 2.500 Å、最大级次 3。
当相邻晶面反射波的光程差 2d sinθ 等于波长的整数倍 (nλ) 时,波相位一致并发生相长干涉,产生强衍射。非整数倍时相位互相抵消,无可观测信号。在本工具将 n 由 1→2→3 时,2θ 依次跃迁到 35.88°、71.96°、152.99°(Cu Kα、d=2.5 Å 时),每个级次对应不同峰位。级次 n 越大 2θ 越大,由物理约束 sinθ = nλ/(2d) ≤ 1,对给定 d 与 λ 可观测级次有限。
晶格应变 ε 是晶面在拉/压载荷下间距的相对变化,使有效面间距改写为 d_eff = d(1+ε)。拉伸应变 ε>0 增大 d_eff,使同一级次 n 对应的 sinθ = nλ/(2 d_eff) 减小,2θ 向低角侧偏移;压缩应变则相反,向高角侧偏移。X 射线残余应力测量(sin²ψ 法等)正是利用该原理,从峰位偏移以 MPa 精度反演应力。在本工具中将 ε 由 −0.05 移到 +0.05,可见 2θ 峰连续左右滑移。
Cu Kα 线(特征 X 射线,λ=1.5406 Å)由铜靶 X 射线管高效产生,兼具强度、相干性与可操作性,是全球 XRD 仪器最常用的源。其波长与典型晶面间距(1〜5 Å)相当,从低角到高角可观测多条衍射峰,适用于多数样品。在本工具中将 λ 切换到 0.71 Å(Mo Kα)时,相同 d=2.5 Å 下 2θ 变小,可观测最大级次提升至 7,因此 Mo Kα 在单晶结构解析中更常用。Co Kα(1.79 Å)可抑制钢铁荧光,常用于铁基材料分析。

实际应用

晶体物相鉴定:对未知晶体样品施加 X 射线,测得衍射峰 2θ 位置后由布拉格定律反算 d 值,与 ICDD(PDF)数据库登录物质比对即可识别该样品。地质矿物学用此方法鉴定岩石中矿物相,制药行业则用以区分原料药的多晶型(α 型 vs β 型)。在本工具中拖动 d 滑块可直观地感受峰位随面间距的变动;实际仪器记录全 2θ-强度谱进行整谱匹配。

残余应力与应变测量:金属与半导体内部应力通过峰位的微小偏移测量。典型应用包括航空发动机涡轮叶片喷丸后的压缩应力、汽车焊缝残余应力以及硅片薄膜应力。sin²ψ 法通过倾转试样多角度测量 2θ 反演整张应力张量。在本工具中将 ε 拉到 ±5% 可看到数度级的 2θ 偏移;实测可分辨微应变(10⁻⁶ 量级)。

晶粒尺寸与织构分析:纳米粒子的晶粒尺寸通过 Scherrer 公式 B = Kλ/(L cosθ) 由布拉格峰半高宽估算,与本工具的布拉格角结果配合使用。催化剂粒径、锂电池正极材料、磁性纳米粒子开发均依赖此法。集合织构分析对轧制/挤压金属,从多个 hkl 峰相对强度反演取向分布函数(ODF),可预测塑性各向异性。

蛋白质晶体学解析:制药领域将蛋白质-配体复合物结晶,照射同步辐射 X 射线(λ=0.7〜1.0 Å),记录数万条布拉格反射后做反傅里叶得到电子密度图。1953 年 DNA 双螺旋、1958 年肌红蛋白结构是里程碑;新冠刺突蛋白结构 1 周内解析,直接用于疫苗设计。本工具针对单一面间距,实际实验同时处理数千面间距。

常见误解与注意事项

最常见的误解是认为“布拉格角 θ 是 X 射线与样品表面的夹角”。实际布拉格角是与晶面的夹角,而非宏观样品表面。多数教科书示意图把晶面画得与表面平行,但实际样品中晶粒朝向随机,只有满足布拉格条件的晶粒贡献某一峰。衍射角 2θ 是入射光经反射后偏转的角度,恰为布拉格角的 2 倍。本工具特意将 θ 与 2θ 分开显示,正因初学者常混淆。

其次常见的误解是“只用布拉格定律即可确定晶体结构”。实际上布拉格定律只告诉峰会出现在何处,每个峰的强度还依赖晶胞内原子排布通过结构因子 F_hkl。BCC 仅允许 h+k+l 为偶数的反射,FCC 仅允许 h、k、l 同奇偶性的反射。结构因子计算与整谱拟合(Rietveld 法)才能将粉末衍射谱转化为完整晶体结构。本工具只关注角度几何。

最后,“X 射线衍射可用于任何晶体”并不完全正确。氢、锂等轻元素 X 射线散射截面极小,位置难定,需用中子衍射或电子衍射作为补充;锂电池正极锂位置的确定必须依赖中子衍射。非晶质材料(玻璃、聚合物)没有规则面间距,呈宽包散射而非锐峰,需用对分布函数法(PDF)分析。本工具仅适用于良好结晶样品的理想布拉格条件。