第一次薄膜设计:从裸玻璃到宽带减反膜
为什么左半边镜片映出了明亮的灯光,右半边却像没有镜片?右半边表面的减反膜没有吸收这些光,而是让两束反射光彼此削弱,使更多光进入镜片。

左半边为普通镜片,右半边为减反镜片 (来源: Maximilian Schönherr / Wikimedia Commons · 许可: CC0 1.0)
这篇教程面向第一次学习薄膜设计的读者。你会先算出裸玻璃的反射率,再用一层 MgF₂ 膜降低 550 nm 的反射,最后把低反射范围扩展到 450–650 nm,并学习用优化器调整四层膜的厚度。
先算出裸玻璃的反射
Section titled “先算出裸玻璃的反射”空气和玻璃的折射率不同,所以即使没有任何膜层,玻璃表面也会反光。光从空气垂直入射到玻璃时,反射率为
$$ R=\left(\frac{n_g-n_0}{n_g+n_0}\right)^2 . $$
式中,$R$ 为功率反射率,$n_0$ 为空气折射率,$n_g$ 为玻璃折射率。代入 $n_0=1.00$、$n_g=1.52$,得到
$$ R=4.258% . $$
在 Structure 页把顶部介质设为空气,在下方放置 1 mm 玻璃基底,并把底部介质同样设为玻璃。

裸玻璃反射基线的结构设置
1 mm 玻璃基底应设为非相干层。这里的目标是计算镜片表面反射,不是把毫米级玻璃当作会形成稳定干涉条纹的薄膜。
在 Optics 页设置 400–700 nm、1 nm 步长、0° 入射和未偏振光,并启用 Reflectance 与 Transmittance。这组光学设置也用于下一步的单层减反膜。

裸玻璃与单层减反共用的光学设置
点击 Run,裸玻璃的反射率曲线在整个波段保持 4.258%,透射率为 95.742%。

裸玻璃的反射率结果
用一层膜让反射光彼此削弱
Section titled “用一层膜让反射光彼此削弱”在玻璃表面增加一层透明薄膜后,会出现两束主要反射光:一束在空气与薄膜的界面返回,另一束进入薄膜,在薄膜与玻璃的界面反射后再返回空气。

减反膜上下表面产生的两束反射光 (来源: Chanli44 / Wikimedia Commons · 许可: Public Domain)
如果薄膜中的往返光程正好等于半个设计波长,第二束光返回时会比第一束光晚半个周期,两束反射光便会相互削弱。对应的四分之一波厚度为
$$ d=\frac{\lambda_0}{4n_1} . $$
式中,$d$ 为薄膜的物理厚度,$\lambda_0$ 为真空中的设计波长,$n_1$ 为薄膜折射率。选择 MgF₂,取 $\lambda_0=550\ \mathrm{nm}$、$n_1=1.38$,得到
$$ d=99.64\ \mathrm{nm} . $$
在玻璃基底上方加入 99.64 nm MgF₂,其他设置保持不变。

99.64 nm MgF₂ 单层减反结构
再次点击 Run。反射率曲线在 550 nm 附近形成最低点,550 nm 反射率从裸玻璃的 4.258% 降到 1.260%。

单层 MgF₂ 减反膜的反射率结果
| 设计 | 550 nm 反射率 |
|---|---|
| 裸玻璃 | 4.258% |
| 99.64 nm MgF₂ / 玻璃 | 1.260% |
为什么没有降到零?四分之一波厚度解决的是两束光的相位关系;完全相消还要求两束光的振幅相等。单层减反的理想折射率为
$$ n_1=\sqrt{n_0n_g}=1.233 . $$
MgF₂ 的折射率为 1.38,与理想值并不相同,因此它能明显减反,但不能在 550 nm 实现严格的零反射。
从一个波长扩展到一段波长
Section titled “从一个波长扩展到一段波长”单层膜只围绕 550 nm 调整相位。镜头、显示盖板和光伏玻璃通常需要在一段可见光范围内都保持低反射,因此下一步使用四层 MgF₂/TiO₂ 结构,把设计目标扩展到 450–650 nm。
本文使用便于手算的无吸收常数折射率:空气 1.00、玻璃 1.52、MgF₂ 1.38、TiO₂ 2.45。真实镀膜设计还需要换成工艺材料的 n、k 光谱。
初始膜层从空气侧到玻璃侧依次为:
| 膜层 | 材料 | 初始厚度 |
|---|---|---|
| 1 | MgF₂ | 99.64 nm |
| 2 | TiO₂ | 112.24 nm |
| 3 | MgF₂ | 24.91 nm |
| 4 | TiO₂ | 14.03 nm |
| 基底 | 玻璃 | 1 mm,非相干 |
在 Optics 页设置 400–700 nm、1 nm 步长、0° 入射和未偏振光,并启用 Reflectance 与 Transmittance。计算范围比目标波段稍宽,可以同时看见 450–650 nm 内部和两侧边缘的变化。

宽带减反膜的光学设置
先别急着运行。你预计四层初始结构会比单层 MgF₂ 的平均反射率更低,但曲线仍会有起伏。点击 Run 后,四层初始结构在 550 nm 的反射率为 0.341%,450–650 nm 平均反射率为 0.648%。
| 设计 | 550 nm 反射率 | 450–650 nm 平均反射率 |
|---|---|---|
| 单层 MgF₂ | 1.260% | 1.348% |
| 四层初始结构 | 0.341% | 0.648% |
四层膜已经改善了整个波段,但还没有达到平均反射率低于 0.1% 的目标。
让优化器逐次试厚度
Section titled “让优化器逐次试厚度”四个膜层就有四个可调厚度,手工逐项尝试很快会变得低效。Optimizer 会在你规定的范围内反复改变厚度,每次重新计算光谱,并用 450–650 nm 的平均反射率为这一组厚度打分。它不会替你选择材料或增加膜层;结构、目标和可调参数仍由你定义。
在 Optimizer 页加入一个目标:450–650 nm、5 nm 步长、0°、未偏振条件下,最小化平均 Reflectance。再把四层厚度设为变量:
| 膜层 | 初始厚度 | 优化器可以尝试的范围 |
|---|---|---|
| MgF₂ 1 | 99.64 nm | 85–115 nm |
| TiO₂ 1 | 112.24 nm | 95–135 nm |
| MgF₂ 2 | 24.91 nm | 15–40 nm |
| TiO₂ 2 | 14.03 nm | 5–25 nm |

宽带反射目标与四个厚度变量
算法选择 Nelder–Mead,最大计算次数设为 400,初始单纯形比例设为 0.08。Nelder–Mead 不需要计算梯度,而是比较多组厚度的目标值,适合这个只有四个连续变量的入门问题。

Nelder–Mead 算法设置
点击 Optimize。本次计算经过 174 次目标计算、101 次迭代后得到下表结果。现在才把初始厚度与优化结果放在一起比较:
| 膜层 | 初始厚度 | 优化后厚度 |
|---|---|---|
| MgF₂ 1 | 99.64 nm | 97.373 nm |
| TiO₂ 1 | 112.24 nm | 116.149 nm |
| MgF₂ 2 | 24.91 nm | 37.769 nm |
| TiO₂ 2 | 14.03 nm | 11.108 nm |
点击 Apply to Structure,回到 Structure 页确认四个厚度已经写入,再用 1 nm 步长运行一次正向计算。优化时使用 5 nm 采样以减少计算量,最终验收使用更细的 1 nm 采样,所以两个页面显示的平均值可能略有差别。

应用优化结果后的四层宽带减反结构
优化结果与目标对照
Section titled “优化结果与目标对照”优化后的 450–650 nm 平均反射率为 0.0865%,低于 0.1% 的目标;550 nm 反射率为 0.00110%。该波段内的最大反射率为 0.5005%,出现在 450 nm。

四层优化结构的反射率结果

四层优化结构的透射率结果
400 nm 处的反射率会升至 6.924%。这不是计算失败,而是设计目标只约束了 450–650 nm;优化器不会自动改善目标范围之外的波长。
从裸玻璃到四层宽带减反膜的结果对比
| 设计 | 550 nm 反射率 | 450–650 nm 平均反射率 |
|---|---|---|
| 裸玻璃 | 4.258% | 4.258% |
| 单层 MgF₂ | 1.260% | 1.348% |
| 四层初始结构 | 0.341% | 0.648% |
| 四层优化结构 | 0.00110% | 0.0865% |
所有材料在这个教学模型中都没有吸收,因此结果应满足 $R+T=1$。反射率降低的能量会转化为透射光,而不是凭空消失。
自己改变一个厚度
Section titled “自己改变一个厚度”把四层膜恢复为初始厚度,只将第一层 MgF₂ 依次改为 90、99.64 和 110 nm。每次运行前先预测反射谷会向短波还是长波移动,再比较 550 nm 反射率和 450–650 nm 平均反射率。这个实验可以直接看出:最适合单个波长的厚度,不一定最适合整个波段。
工程设计的下一步,是把常数折射率替换为工艺材料的 n、k 光谱,并重新检查入射角、偏振和膜厚误差。
本教程只覆盖操作步骤。物理原理、每项功能的完整参数、结果的解读方式,以及算法验证,都在文档站:
- 传递矩阵法原理 — 教程背后的物理与公式
- 功能指南 — 每个界面与参数的完整说明
- 结果分析 — 各类结果的读法与判断依据
- 打开 Dreapex TMM — 在浏览器中直接建模计算