2. 经典热光模型:Sellmeier 方程的温度扩展形式
聊到折射率随温度变化,很多新手第一反应就是查表。但实际工程中,温度是连续变化的,你不可能把每个温度点的折射率都测一遍。这时候就需要一个数学模型来帮忙。
Sellmeier 方程,说白了就是描述折射率随波长变化的标准工具。但光有波长还不够,温度的影响怎么塞进去?这就是我们今天要聊的核心——Sellmeier 方程的温度扩展形式。
2.1 标准 Sellmeier 方程回顾
先看一眼标准形式,别嫌我啰嗦,这是基础:
n²(λ) = 1 + Σᵢ [Bᵢ λ² / (λ² - Cᵢ)]
其中:
n —— 折射率
λ —— 波长(μm)
Bᵢ, Cᵢ —— Sellmeier 系数(材料相关)
i —— 谐振项序号(通常取 1~3 项)
这个公式在室温下精度很高。但温度一变,系数 Bᵢ 和 Cᵢ 就不再是常数了。我当年第一次做红外镜头热分析时,就吃过这个亏——室温下仿真好好的,一升温,焦面直接漂移了半个像元。
2.2 温度扩展的核心思路
温度扩展的思路其实很直接:把 Sellmeier 系数变成温度的函数。常见的做法有两种:
| 扩展方式 | 核心思想 | 适用场景 |
|---|---|---|
| 系数线性外推 | Bᵢ(T) = Bᵢ₀ + αᵢ·ΔT | 温度范围窄(±50°C 以内) |
| 谐振项温度修正 | Cᵢ(T) = Cᵢ₀ · (1 + βᵢ·ΔT)² | 宽温域(-40°C ~ +125°C) |
| 全参数多项式拟合 | Bᵢ(T), Cᵢ(T) 均为 T 的多项式 | 高精度需求,材料数据充分 |
我个人习惯用第二种——谐振项温度修正。为什么?因为它物理意义更清晰。温度变化本质上是改变了晶格振动频率,而 Sellmeier 方程中的 Cᵢ 正好对应谐振波长。你想想看,晶格热胀冷缩,谐振频率自然跟着变,这个逻辑很顺。
2.3 工程中最常用的形式
以 Schott 玻璃为例,他们给出的温度扩展 Sellmeier 方程长这样:
n²(λ, T) = 1 + Σᵢ [ (Bᵢ + ΔBᵢ(T)) · λ² / (λ² - (Cᵢ + ΔCᵢ(T))) ]
其中:
ΔBᵢ(T) = bᵢ · (T - T₀)
ΔCᵢ(T) = cᵢ · (T - T₀)
T₀ —— 参考温度(通常 20°C 或 25°C)
bᵢ, cᵢ —— 温度系数(由材料厂商提供)
关键点:ΔBᵢ 和 ΔCᵢ 的符号和量级决定了折射率随温度的变化趋势。对于大多数光学玻璃,dn/dT 是正的,但氟化物玻璃(如 CaF₂)是负的。选材料时一定要确认这一点。
2.4 实际项目中的避坑指南
我曾经在一个激光传输项目中,用某款 H-ZF 系列玻璃做窗口。室温下透过率完美,但系统工作温度到 60°C 时,光束质量明显下降。排查了半天,发现是折射率温度系数没校准。
这里有几个坑,我帮你列出来:
- 系数来源要统一——不同厂商给的 bᵢ、cᵢ 可能基于不同参考温度,混用会出大问题。
- 注意波长范围——Sellmeier 方程在吸收带附近会发散,温度扩展后发散点也会漂移,别在边缘波长上做高精度设计。
- 验证极端温度——我建议至少取 T_min、T_max、T₀ 三个温度点做交叉验证,别只算中间值。
⚠️ 特别提醒:有些材料在高温下会发生结构相变(比如石英玻璃在 573°C 有 α-β 转变),这时候 Sellmeier 温度扩展模型会完全失效。做高温应用时,先确认材料的稳定温度区间。
2.5 知识结构图
下面这张图帮你理清 Sellmeier 温度扩展的整体逻辑:
2.6 一个快速验证的小例子
假设你拿到一款玻璃,厂商给了 20°C 下的 Sellmeier 系数,以及 bᵢ、cᵢ 温度系数。你想算 80°C 时在 1.55μm 处的折射率。步骤很简单:
- 计算 ΔT = 80 - 20 = 60°C
- 对每个谐振项,更新 Bᵢ(T) = Bᵢ₀ + bᵢ·ΔT
- 对每个谐振项,更新 Cᵢ(T) = Cᵢ₀ + cᵢ·ΔT
- 代入 Sellmeier 方程,算出 n²(λ, T)
- 开平方得到 n(λ, T)
💡 小技巧:我习惯在 Excel 或 Python 里搭一个这样的计算模板。第一次搭好之后,后面换材料、换温度、换波长,改几个参数就行。别每次都手算,容易出错。