亚波长结构严格模拟全解析:RCWA与FDTD方法及收敛性实践
2026/9/16 20:23:24 网站建设 项目流程

做光学仿真的人迟早会撞上“亚波长”这三个字。我第一次意识到必须上“严格模拟”这个手段,是在设计一款周期400 nm左右的硅基反射光栅时:用标量衍射理论算出来的零级效率足足比实验低了一截,当时以为是加工侧壁没做干净,折腾了很长时间,后来用严格耦合波分析一跑才发现,问题出在高衍射角度下倏逝波和偏振耦合效应——这根本不在标量近似的射程内。从那次之后,凡是遇到特征尺寸接近或小于工作波长的结构,我都老老实实走严格求解路线。

这篇就把“对光学系统中亚波长结构的严格模拟”这件事从头到尾捋一遍。内容不局限于某一款商业软件,而是把严格模拟的物理边界、主流方法、建模参数、收敛性判据和排障思路拆开来聊,适合正在做超表面、衍射光栅、抗反射结构、偏振器件,或者任何被“结构尺寸小到没法用几何光学解释”困扰的工程师和研究人员。

1. 亚波长结构的“严格”二字,到底在跟谁较劲

要理解严格模拟的必要性,先得知道我们的日常直觉是从哪来的。大部分光学设计工具分为两大类:几何光学追迹依赖光线概念,认为光在均匀介质中直线传播,遇到界面按折射定律偏折;标量衍射理论则把光当作标量场处理,只关心振幅和相位,不区分偏振。这两套框架处理宏观尺寸时非常高效,但一旦结构尺寸进入亚波长范围,它们的底层假设就集体失效了。

1.1 什么时候亚波长近似会失灵

判断是否“亚波长”,最简单粗暴的方式是比较特征尺寸和工作波长的比值。当结构的周期或者关键几何尺寸大于波长好几倍时,衍射级次很多,标量理论误差小,设计余量也大;但当周期和波长相当,甚至更小的时候,会出现两类标量理论完全解释不了的现象。

第一类是偏振分裂。TE偏振(电场平行于光栅槽)和TM偏振(磁场平行于光栅槽)在亚波长光栅上的有效折射率差会非常大,导致相位延迟、衍射效率的偏振依赖到了不可忽略的程度。标量理论不区分偏振,所以算出的衍射效率只是两个偏振态的一个笼统平均值,恰好掩盖了实际器件最关键的偏振特性。

第二类是倏逝波参与耦合。亚波长周期结构的衍射级里通常包含大量倏逝模式,这些模式在结构近场呈指数衰减,不携带远场能量,但它们会重新分布近场能量,影响各传播级次的振幅分配。严格模拟之所以“严格”,核心就在于完整保留了这些倏逝模式的贡献,并把电磁场边界条件在每个界面上精确匹配。

1.2 有效介质理论的适用范围,以及它解决不了什么

有一类更轻量的近似叫有效介质理论,把亚波长光栅等效为一块具有人工折射率的均匀薄膜。对零级衍射、抗反射设计这类问题,有效介质理论快、直观,用起来很顺手。比如蛾眼结构的渐变折射率抗反射层,用等效介质近似就能估算出不错的反射率趋势。

但有效介质理论的本质是零级近似——它默认结构周期小到所有高阶衍射和倏逝耦合都消失。当你需要在光栅中设计异常衍射方向、激发共振模式、利用高Q连续域束缚态(BIC)这类效应时,有效介质理论完全没有建模能力。它假设的“均匀层”物理图景本身就抹平了产生共振的机制。

用一句话概括:有效介质理论回答“整体上看像什么”,严格模拟回答“每个界面上电磁场到底怎么匹配的”。做实用器件设计,前者的价值在于快速估算,但最终标定和优化往往需要后者来兜底。

1.3 Maxwell方程组严格求解的物理图景

严格模拟起点就是Maxwell方程组,没有引入额外的近似。频域方法把入射平面波拆成一组离散的衍射级和倏逝级,在结构各层内部写出满足边界条件的通解,然后逐层匹配;时域方法则直接在空间网格上推进电磁场的时间演化,让结构对入射光的响应在时间轴上自然形成。无论哪种策略,都是在数值精度允许的范围内逼近“真实物理过程”。

这里有一个容易误解的点:严格模拟不等于“没有误差”。它只是不做物理上的冒进简化,但数值层面的离散误差、截断误差仍然存在。后面会专门讲收敛性测试,就是在回答“你算出这个数到底准不准”。

2. 严格求解的两条主流路线:频域展开与时域推进

严格模拟大类下,工程里最常用的是两种方法:严格耦合波分析(RCWA,也叫傅里叶模态法)和时域有限差分(FDTD)。两者学的都是Maxwell方程组,但解决问题的路径完全不同,选择哪条路,取决于你的结构形态和关心的物理量。

2.1 RCWA:把结构切成层,把场展开成平面波

RCWA的基本思路可以概括为“分层+展开”。把一个连续剖面沿厚度方向切成若干薄层,每一层内认为材料参数不变,电磁场用平面波基展开(沿周期方向满足Bloch条件),然后每层内部求解本征模式,再通过散射矩阵或者传递矩阵把各层串起来,匹配相邻界面的切向场连续条件。

严格耦合波分析的层数越多,对倾斜侧壁和连续折射率轮廓的还原就越接近实际加工形貌。核心计算量集中在每层求解本征值问题,层数增多会让内存占用和计算时间显著上升,但它的优势是精度可控、可重复性高,尤其适合周期性结构——光栅、超表面单元阵列、光子晶体,用RCWA非常顺手。

需要注意,RCWA处理TM偏振时有一个经典陷阱:直接在实空间对介电常数做傅里叶展开,会遇到傅里叶级数收敛缓慢甚至错误的问题。上世纪90年代Li等人给出了倒空间介电常数矩阵的正确规则,所以现在实现RCWA时处理TM模需要遵循傅里叶展开因式分解规则(Li规则),这也是RCWA的代码不像看起来那么简单的主要原因。

2.2 FDTD:在时间轴上网格推进电磁场

FDTD走的是另一条路,它在空间上划分Yee元胞,电场和磁场分量在空间上交替排布、在时间上交替更新,按照Maxwell旋度方程一步一步把波推下去。它的适应面很广:非周期结构、有限尺寸器件、复杂三维几何、非线性材料,FDTD都能建模。你不需要像RCWA那样要求结构严格周期,用FDTD可以处理单个纳米天线、波导端面耦合、超表面的某个超胞,边界可以用周期边界或者完美匹配层(PML)来截断。

FDTD的代价在于计算量和色散误差。为了稳定推进,时间步长必须满足Courant稳定性条件,整体网格必须足够密才能降低数值色散。在处理高折射率差、深亚波长细节时,网格尺寸常常要压到特征尺寸的十分之一以下,三维仿真的内存和时间消耗会非常可观。

RCWA和FDTD的本质比较,用一个生活类比可能更好理解:RCWA像是给结构拍X光片,把光看作一组携带动量的平面波,看它们如何被每一层结构衍射和散射,重点在频域分辨;FDTD则像是往池塘里扔石头,直接观察波纹在水面上随时间怎么传播、怎么绕过一个障碍物,时域看得清清楚楚。

2.3 站内选型参考:按结构和物理量决定路线

工程中我不太愿意在方法上搞“信仰”,更倾向于按场景选。下面这张表是我在实际项目中的选择逻辑:

场景推荐方法理由
周期性光栅/超表面,重点看衍射效率RCWA频域直接给出各级次效率,收敛测试方便
有限尺寸器件,如单天线、耦合器、微腔FDTD天然处理非周期散射,PML边界方便
倾斜侧壁、连续折射率轮廓RCWA/FDTD均可RCWA需要增加分层数,FDTD要用共形网格
宽带光谱扫描FDTD(宽带脉冲)/RCWA扫频FDTD一次可得多波长响应,RCWA需逐点扫
金属强色散结构FDTD相对更直接材料色散模型易嵌入,频域方法需处理极点

商业软件里Lumerical FDTD、COMSOL用的人多,开源工具如Reticolo、S4、GratingSim等也能做严格耦合波分析,选择取决于你是否需要和其他模块联用,以及团队对代码的掌控诉求。没有哪个方法在所有维度都是最优解,选错了方向后面会浪费大量时间。

3. 从几何输入到仿真输出的完整建模链路:关键参数与常见坑

标题里的“严格”二字,不仅指算法严格,也指建模过程必须尽量贴近真实结构。仿真结果和实验结果对不上,很多时候不是算法问题,而是模型输入太理想化了。

3.1 几何模型的表达差异:从设计版图到仿真剖面

RCWA作法是把结构沿厚度方向切层,切得越细,对梯形侧壁、圆角过渡、底部蚀刻沟槽这些实际形貌特征的还原越准确。理想矩形剖面容易建模,但反应离子刻蚀出来的光栅侧壁常有几十纳米以内的倾斜角度,这个微小的倾斜会改变高阶衍射的相位匹配条件,导致效率曲线偏移。所以拿到设计版图后,先别急着仿真,而是问一句:加工出来的形貌到底是矩形还是梯形?ETCH角度是多少?

FDTD则不需要层状化切分,是直接以网格拟合几何形状。但矩形网格在斜侧壁界面处会产生阶梯状近似,网格粗的时候这个误差相当明显。经验做法是:凡是倾斜面、曲面区域,要么局部加密网格,要么使用共形网格技术,否则仿真结果会出现假性的散射增强。

我的习惯是建一个“标称形貌”和一个“极限工艺偏差形貌”两个模型。标称形貌用于评估中心性能,极限偏差形貌用于评估容差范围。运行两次仿真,得到的效率区间比单纯跑一组标称参数对工艺指导意义大得多。

3.2 材料色散模型的选择与判断依据

亚波长结构对材料色散异常敏感,因为相位积累与折射率直接相关,折射率偏差带来的相位误差会随厚度累积。尤其在硅、氮化硅、氧化钛、非晶硅这类高折射率材料上,可见光和近红外波段的折射率变化不可忽略。

常用的色散模型有Cauchy公式、Sellmeier公式、Lorentz-Drude模型、Palik查表数据。选择标准是:你的仿真波长范围在哪,那个范围内的实验数据是否可靠。对金属(金、银、铝),Lorentz-Drude模型能在可见光范围给出比较合理的介电常数趋势,但要特别注意薄膜实测值与块体数据之间常有明显偏差——纳米级金属薄膜的介电常数受颗粒形貌、氧化层影响很大。有条件时,尽量用自己实验室椭偏仪测出来的数据。

一个典型的坑:有人把玻璃衬底的折射率设为常数1.45,在可见光波段问题不大,但在近红外或者中红外波段,SiO₂吸收边附近色散不可忽略,这时候用常数折射率会让反射光谱的Fabry-Perot振荡周期整体偏离实验,看起来像是结构尺寸错了,实际上是材料参数没设对。

3.3 边界条件与截断区域:周期结构不能乱截

周期性结构沿周期方向一般用Bloch周期边界,入射角和波长决定Bloch波矢的相位偏移。很多初学者犯的错误是:结构是周期的,但入射光是斜入射,直接把相对的两个边界设成普通周期边界,忽略了相位因子,导致衍射级次的幅值分配完全错误。正确做法是把入射角、波长换算成Bloch边界相位。

非周期结构用PML截断时,PML离结构太近会吸收掉倏逝场,改变近场分布;离得太远则计算域变大、耗时增加。我的经验法是PML内边界离结构至少半个工作波长,最好一个波长以上,并且PML层数按软件默认再往上加几层。这个经验值可以通过“移动PML位置看结果是否变化”来验证,如果结果变了,说明PML太近。

3.4 激励源与偏振:模式不纯会让效率数据失真

激励源方向、偏振方向和相位前沿对结果影响非常大。模拟周期性结构时用平面波激励,注意设置正确的偏振方向;模拟单波导或耦合器时,可用模式光源去激励波导模式,保证入射端的模式纯度。如果激励源里混入了其他模式,衍射效率计算就会失真。

另外,相位前沿的倾斜也会引入额外的角谱宽度。严格模拟往往假设入射波是无限平面波,角谱宽度为零。如果激励源尺寸太小或使用高斯光源截断,等效角谱宽度会扩大,导致效率曲线出现圆滑化。

在我做过的超表面单元库扫描中,最佳偏振设置问题还带出过一个实际问题:针对椭圆偏振或圆偏振入射的光学系统,严格模拟需要把两个正交偏振分量的响应同时算出来,再在后处理中合成。很多软件默认只算线偏振,如果你忘了这一步,算出的效率在天线交叉极化转换器件中可能会被严重低估。

4. 结果准不准?用收敛性测试回答

严格模拟的结果不是天然可信的,它需要被验证。收敛性测试是最直接、最可靠的方式,也是很多人最容易跳过的一步。

4.1 傅里叶阶数收敛测试:RCWA的核心实验

RCWA中最重要的收敛参数是傅里叶谐波阶数,它决定沿周期方向分解成多少平面波分量。阶数太低,倏逝级和高阶衍射级描述不完整,效率值会偏差;阶数太高,计算内存激增。正确做法是递增阶数并观察目标物理量是否趋于稳定。

举个例子,对一个周期800 nm、波长633 nm的介质光栅,以1级衍射效率为目标量,分别用5阶、20阶、50阶、100阶算一遍。结果可能是:

傅里叶阶数1级衍射效率(%)相对变化
568.2-
2071.5+4.8%
5072.0+0.7%
10072.1+0.1%

50阶到100阶变化小于0.1%,说明结果已经收敛。此时再用50阶算效率,相当于在保证精度的情况下控制计算量。注意,金属结构和高折射率差结构的倏逝级衰减慢,通常需要比介质光栅更多的谐波数才能收敛,不能拿上一次的阶数直接套用。

4.2 网格收敛测试:FDTD与FEM的普适流程

FDTD的收敛参数主要是网格尺寸。常规做法是取一个基础网格尺寸,加密一倍,再看结果是否变化。如果加密后效率变化大于你接受的误差范围,继续加密;直到两次相邻网格尺寸的计算结果差异小于目标精度。

这里有个容易忽略的点:网格加密时,光源波长、PML尺寸等也需要同步检查。只加密网格不调整时间步长的话,数值色散误差和稳定性条件会共同影响最终精度,容易让人误判为“网格不收敛”。

实际项目中,我的习惯是先跑一版粗网格,快速扫描结构和材料参数,找到大致的峰值区域后,再在最优候选点附近做网格收敛验证。如果每次扫描都按极密网格跑,很容易把优化周期拖长数倍。必要的两段式策略能显著提高效率。

4.3 标量理论先走一遍,作为严格模拟的对照锚点

严格模拟不是完全抛弃近似工具,而是让近似工具停留在合理的位置。我经常做的是先用标量衍射理论或有效介质理论粗算一遍,拿到一个趋势性的结果,这个结果像“粗略的指南针”。严格模拟则是在这个方向上进行精细校正。

两者相差很大的时候,需要搞清楚原因:是偏振效应、倏逝波耦合、材料色散,还是共振激发?这个“为什么差”的诊断过程,常常比最终算准的那个效率值更有价值,因为它告诉你是哪种物理机制在主导器件性能。这个信息对器件设计优化至关重要——知道了主导机制,才能有针对性地调结构参数。

5. 结果反常时如何系统排查问题:四个实际案例

仿真结果看起来“不对”的时候,先别急着怀疑算法或软件,大部分问题出在模型设置上。这里记录几个我自己踩过、也帮别人排查过的典型问题,都带有一定的共性。

5.1 案例A:周期光栅的多级效率出现虚假振荡

现象是零级效率随波长变化的曲线不光滑,出现高频振荡。排查过程:一开始怀疑是傅里叶阶数太低,从30阶提高到80阶,曲线仍然有抖动;后来检查发现是RCWA模型中切层数太少了。对于矩形光栅轮廓,层数不需要很多;但对于梯形侧壁,每层之间切向场匹配的误差会累加,尤其在共振波长附近,层数不足会让效率出现虚假振荡。

解决方案很直接:把层数从每层100 nm加密到每层10 nm,再配合傅里叶收敛测试,振荡就消失了。之后我把“效率曲线不光滑”当成两个问题的信号:要么谐波阶数不够,要么切层太粗,两者都要检查。

5.2 案例B:金属超表面的反射光谱整体蓝移

设计一个纳米金颗粒阵列,仿真得到的反射峰比预期波长蓝移了30 nm。一开始怀疑是结构尺寸偏小,检查几何后发现尺寸没错;后来核对材料参数才发现,用的是块状金的色散数据,而实际上实验中由电子束蒸发制备的金薄膜存在大量的晶界缺陷,等效介电常数虚部偏高、谐振响应展宽。

换用椭偏仪实测的金薄膜数据后,蓝移问题不再出现。金属结构的严格模拟必须穿透“材料参数-工艺状态”这条链路,用块体光学常数直接套薄膜结构是大忌。这类“材料参数与工艺状态不匹配”的坑最难察觉,因为看几何模型和边界条件没有明显问题。

5.3 案例C和D:偏振响应不对称与远场图样错误

一个正交光栅结构,仿真设置TE和TM完全对称的几何,但结果两个偏振的效率差很多。排查发现入射角不为零时,边界条件中没有正确施加Bloch相位因子,导致两个偏振的衍射相位匹配条件不一致。极化不等于结构对称,还要看入射方向和边界条件是否对称。

另一个案例是计算超表面的远场图样时,近场数据导出的平面不对,导致远场传播方向算错。这个问题本质上是后处理坐标选择问题。远场变换时近场记录面必须垂直于预期传播方向,否则波矢分量投影就会错误,得到的图样必然是歪的。

5.4 排查清单:仿真出现问题时按顺序核对

为了节省排查时间,我把长期积累的经验整理成了一份排查清单,自己每次遇到仿真结果对不上预期时,就按这个顺序过一遍:

序号检查项做法
1单位换算确认模型尺寸、波长的单位一致(nm还是μm)
2材料色散数据核对是否用了块体数据而非薄膜实测值
3边界条件周期边界相位是否含入射角的Bloch因子;PML距边界是否够远
4收敛性测试傅里叶阶数/网格加密后目标量变化是否在误差带内
5激励源偏振方向是否设置正确,光源是否覆盖目标波长段
6层数/网格RCWA切层是否够细,FDTD网格是否加密到细节尺寸以下
7后处理效率归一化方式、远场记录面方向、相位基准选择

这套步骤看起来简单,但每次排查都能命中一个环节,也说明大多数所谓“异常结果”都是因为某个环节没有做到严格建模,而不是算法的锅。

从最初那个让效率偏差困扰我很久的反射光栅项目开始,暗地里走过的弯路不算少。最深刻的体会是,严格模拟的价值不在于“算出答案”,而在于让你清楚地看到每个物理近似被去掉之后,结果发生了什么变化。做光学设计的人,与其迷信某一个工具的输出,不如对自己模型的每一个前提保持怀疑。这种怀疑,才是把“严格模拟”从口号变成实际设计能力的关键。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询