Lumerical FDTD不对称光栅衍射效率复现全流程解析

发布时间:2026/10/12 13:26:07
Lumerical FDTD不对称光栅衍射效率复现全流程解析
做光栅仿真的同行里有个不太爱承认的事实所谓“复现”多数时候只是把文献里的几何参数、材料参数抄进仿真软件点一下运行等效率曲线出来就宣布搞定。但如果你拿这些结果跟实验对比或者拿去跟严格耦合波分析RCWA交叉验证就会发现麻烦才刚刚开始。尤其是不对称光栅它的衍射效率对结构细节极其敏感侧壁角、占空比、网格精度、边界设置稍有偏差跑出来的效率曲线可能和实验数据差出好几个百分点。这篇文章我想完整梳理一遍在Lumerical FDTD里把不对称光栅的衍射效率做扎实、做可信的全过程从物理模型、几何建模、光源与监视器设置到效率提取、参数校准、收敛性验证以及我在实操中踩过的一些颇具隐蔽性的坑。1. 不对称光栅的“效率不对称”到底从哪来1.1 对称性破缺带来的物理变化对称光栅比如矩形光栅或者正弦光栅在正入射条件下正负衍射级次的效率天然对称。你需要复现的目标很简单1级和-1级效率一样把其中一级作为主级次进行设计就行。但不对称光栅不一样最常见的形式包括斜齿光栅、梯形光栅、侧壁倾斜光栅它们打破了结构关于入射面的镜像对称性正负级次的耦合强度不再相等。这种破缺的直接结果就是能量会集中到某一侧的衍射级次上。这本身是设计者想要的比如用于光束偏转、偏振分束、增强现实光波导的耦入耦出。但对仿真来说这意味着你不能再用“正入射对称简化”来偷懒。你在FDTD里建的几何只要某个侧壁角、某个台阶高度不对称衍射效率就会向一侧倾斜。麻烦的是这种倾斜幅度不仅取决于几何不对称度还取决于波长、偏振、材料折射率对比度因素耦合在一起很难靠直觉预估。正因为如此效率不对称的大小和方向成了检验你仿真模型是否准确的一个敏感指标。我在实际对比中发现结构几何稍有偏差效率不对称比例可能从10%跳到30%。说明这个指标对数值误差的“放大效应”非常明显反过来也可以利用它来标定你建的模型到底准不准。1.2 级次定义和归一化复现前必须先对齐参照系复现衍射效率的第二道坎是“效率”本身的定义。不同的论文里效率的算法并不一致。有的是透射效率各级次透射功率除以入射功率有的是衍射效率只算某一个级次还有的是把透射光栅所有传播级次加起来归一化。如果连参照系都没对齐后面的所有数值比较都失去意义。我自己的习惯是先把物理量定义清楚对透射光栅在FDTD里设置一个平面波光源入射功率用光源所在平面的净功率或监视器测得的入射功率做基准然后对透射侧的近场做空间傅里叶分解得到各衍射级次的功率。级次编号要明确比如正入射时1级、-1级分别对应哪个方向斜入射时光栅方程sinθ_m sinθ_i mλ/Λ 里的m取正负分别对应什么角度这些要提前算好。有一个经常被忽略的点是反射级次同样要监视。能量守恒校验是复现过程中的一个硬性校验标准透射各传播级次功率之和 反射各传播级次功率之和 材料吸收功率 入射功率。这个和如果偏离入射功率超过2%基本可以断定仿真设置有问题要么监视器漏了要么归一化基准错了要么网格粗到能量都不守恒。2. 建模阶段最容易埋雷的两个环节2.1 不对称结构的几何参数化别让侧壁角变成“薛定谔的角”在Lumerical FDTD里建不对称光栅常见做法是用矩形、梯形、多边形或者导入GDS文件拉伸。对于斜齿光栅和梯形光栅几何参数通常包括周期Λ、齿宽、高度h、侧壁角α、底切或顶切量。问题往往出在“侧壁角”的定义上有的文献定义的是与法线的夹角有的定义的是与表面的夹角差一个90度。你把45度的定义倒过来看建出来可能就是完全不同的结构。更隐蔽的是梯形截面在FDTD里是用网格阶梯近似的侧壁角度在离散网格下会被“锯齿化”。当你用共形网格技术去平滑这种阶梯时软件会在每个网格边界处重新拟合几何这时候侧壁角是否保真得靠网格尺寸来保证。我的经验是不对称光栅的侧壁角相关结构至少要在倾斜侧壁方向上有10个以上网格点否则斜面会变成“台阶”衍射效率出现规律性偏移。几何建模的另一个坑是“对称偷懒”。如果你把结构建成对称的或者把仿真区域沿着中心切开只仿真一半那就意味着你人为引入了镜像对称性不对称光栅的物理特性会被直接抹掉。这一点看似基础但我确实见到有人为了省内存把不对称光栅当对称光栅做半周期仿真结果跑出来效率完全对称还以为是仿真正确。不对称结构的仿真区域必须覆盖完整一个周期不能使用镜像对称边界这一点务必记住。2.2 边界条件布洛赫周期性和入射角的关系光栅是周期性结构横向边界用周期性边界条件。Lumerical FDTD里有常规的周期边界和布洛赫边界。正入射的时候两者差别不大但斜入射必须用带相位匹配的布洛赫边界否则周期性条件不满足电磁场在相邻周期之间的相位关系结果必然是错的。我踩过的一个坑是斜入射角度和布洛赫边界的相位之间需要一个手动或者自动的换算。软件一般允许你直接设置入射角更新光源后边界会自动配相位但如果你的模型是从旧版本迁移过来的或者你在脚本里手动改了光源角度而没有同步更新边界就很容易出现“光源是斜的边界还是周期性封闭”的状态。这种状态下仿真的功率泄漏很厉害监视器算出来的效率会凭空多出很多。建议每次改完入射角后都跑一个空结构没有光栅只有基底的验证检查透射率是否符合菲涅尔公式的预期。偏差较大时优先怀疑布洛赫边界相位有没有同步。3. 光源与级次分解提取衍射效率的正确姿势3.1 平面波光源的偏振与入射功率基准在Lumerical FDTD中做衍射效率复现光源一般选平面波。偏振的选择要看光栅的设计目标电场沿光栅槽线方向是TE磁场沿槽线方向是TM。不对称光栅的两个偏振对应的衍射效率差异可能非常大有些结构甚至只对某个偏振有效。所以复现前必须确认文献里给的效率是哪个偏振别拿来就比对。光源的入射功率基准需要在监视器里定义一致。我的做法是设置一个监视器截面放在光栅结构入射侧的前方、但距离结构足够远的地方测量纯入射场的功率。注意如果监视器离结构太近会同时接收到反射场的部分能量算出来的人射基准就不干净了。空跑一次没有结构的仿真也可以获得干净的入射功率之后归一化都用这个值。还有一个细节是入射角度。宽度谱平面波光源在斜入射时每个波长的相位差不同如果做的是宽带仿真注意光源设的入射角是相对于主频率还是相对于每个频率。我自己实现的方式是扫频模式每个波长单独跑一次保证每个波长下入射角严格一致再提取效率。虽然耗时但至少不会因为宽谱近似引入误差。3.2 衍射级次功率的提取与计数提取衍射效率核心是对监视器记录的近场做傅里叶分解。严格来说FDTD得到的是某个平面上的电磁场分布要在周期方向上做空间傅里叶变换得到每个衍射级次的复振幅再计算功率。实际操作时我会在透射侧放一个平面功率监视器并且把监视器放到足够远的区域确保所有传播级次都已经从结构里“出来”近场中不包含倏逝波成分。监视器距结构太近时倏逝波还没衰减掉分解出来的级次功率包含虚假贡献效率就会偏高。通常我至少放一个波长的距离对于高折射率对比度结构甚至会放到两到三个波长。在软件里可以直接利用衍射级次分析将监视器结果按照光栅周期和波长自动分解出各传播级次的效率。但我建议你额外校验一遍自己对着光栅方程算出可传播的级次数量和软件输出的级次数量对一下。如果多出或缺少级次大概率是周期或者波长的设置出了问题。3.3 各级次属性的归纳多大角度算同一级次不对称光栅在斜入射下同一个衍射级次对应不同的衍射角效率曲线的横坐标往往按级次来列。复现实验数据时实验仪器测到的往往是某个空间角度上的强度峰你需要根据光栅方程把这些峰对应到仿真里的级次编号。一个容易出错的地方是级次编号依赖于你选择的坐标正方向。比如你定义光栅矢量沿-x方向或者沿x方向1级和-1级的指向会互换。如果文献里的坐标约定和你的模型相反你复现出的效率曲线会左右颠倒。所以搭建模型之前先把坐标轴、入射方向、级次正方向写进文档里避免后期自己对不上。4. 复现实验数据时的参数校准流程4.1 从文献拿参数时的单位换算与容差处理复现通常从一篇论文里拿参数周期、高度、占空比、材料折射率。第一步是单位换算。我遇到过把纳米写成微米、把微米写成毫米的情况仿真结果自然完全离谱。另一个问题是材料模型论文里的折射率可能是某个波长下的单一值也可能引用了某个多项式色散模型。如果你的仿真只做单波长直接用n和k就行如果扫波长范围必须确认色散模型和文献一致。还值得注意的是“衬底和覆盖层材料”的折射率。很多不对称光栅仿真放在硅基底上覆盖层可能是空气或者二氧化硅。覆盖层折射率差0.05在某些共振位置就可能让效率移动好几个纳米。如果文献里说的是“悬浮膜光栅”那你必须把衬底去掉如果是在二氧化硅上的硅光栅则不能漏掉衬底对反射的影响。4.2 效率曲线对参数的敏感性反向校准哪几个参数在复现流程中我会先跑一版初始参数然后看效率和实验数据的偏差趋势。不对称光栅效率对刻蚀深度、占空比、侧壁角非常敏感这三个参数就是反向校准的主要对象。通常规律是刻蚀深度主要影响共振位置和效率峰谷的位置占空比主要影响各级次效率的分配比例侧壁角主要影响高衍射级次的效率和不对称度。如果你发现1级效率整体偏高、-1级整体偏低且趋势在所有波长上都是一致的优先怀疑侧壁角方向定义反了或者几何中的不对称方向画反了。如果效率峰的位置偏移但幅度还行优先怀疑刻蚀深度差几纳米。如果所有级次的效率都同时变小先查归一化基准再看网格能量守恒别急着改几何参数。我自己的校准流程一般是网格先固定到一个较细的水平然后只扫高度找到效率峰位置和实验对齐再微调占空比让级次比例对齐最后微调侧壁角让不对称度对齐。一次只扫一个参数不搞多参数同时拟合否则很容易陷入局部伪解。4.3 与RCWA结果做交叉验证FDTD的优势是处理复杂几何和背向反射但它毕竟依赖网格离散化。我会在参数化扫描之前先用一个独立的RCWA工具对同一结构算一遍效率曲线。RCWA天然处理周期结构和衍射级次分解二维光栅的计算速度比FDTD快一个数量级适合快速扫参数找趋势。具体做法是用同一套几何和材料参数在RCWA和FDTD里各算一次效率。两者差异在传播级次上应该小于0.5个百分点如果出现比较大的偏差先查是不是网格不够细再查是不是级次分解方法不同。还有一种情况是RCWA和FDTD对金属光栅的吸收处理方式不同特别是TM偏振下的金属表面等离激元吸收两种方法可能给出不同结果这是数值方法本身的差异不一定是算错。把RCWA作为“快速粗调”工具把FDTD作为“精细验证”工具是我目前觉得效率最高、结果也最稳的做法。5. 收敛性验证与仿真资源控制5.1 网格尺寸扫描怎么判断算收敛了FDTD收敛性验证的核心指标是目标物理量随网格加密的变化趋势。以不对称光栅的效率为例我常用的做法是在基础网格尺寸上逐步加密比如从20纳米到10纳米、5纳米、2.5纳米分别计算1级和-1级的效率看结果变化。如果两次网格尺寸减半后目标级次效率的变化小于0.5个百分点基本可以判定收敛了。格子越小数值色散越小斜面结构越接近真实几何但内存和仿真时间也会明显增加。特别是斜侧壁的不对称光栅网格加密对效率的改善往往不是单调的可能会出现先偏移、再回归、最后稳定的过程。判断收敛时看的是“变化量是否进入阈值”而不是“最后一次算出来最漂亮”。网格设置上我还有一个小技巧结构区域和近场监视器区域单独设置网格覆盖加密只加在光栅和空气/基底交界面附近然后向衬底和覆盖层方向逐步放松网格尺寸。这样能大幅降低资源消耗同时又保证光栅本身的精度。5.2 仿真时长与自动关断阈值的坑FDTD仿真的结束条件通常由能量衰减阈值控制默认值一般足够但对于高Q谐振结构和高折射率对比度光栅默认阈值可能不够。如果能量还没衰减完就停止监视器记录的功率没有收敛效率值会偏低或出现振荡。我自己处理这类问题的方法是把自动关断阈值调低一个数量级比如从默认的1e-5调到1e-6之后看目标级次效率是否发生变化。如果变化很小说明默认阈值下已经足够。如果变化明显说明仿真时长需要加长。让我印象深刻的是一次高Q结构默认阈值下的效率比延长仿真后的结果低了近1个百分点而后者才与实验数据吻合。6. 几个容易翻车的边界情况的处理思路6.1 高折射率对比度下的数值伪影不对称光栅常在硅-空气组合中出现折射率对比度接近3.5比1。这种高对比度结构对网格尺寸非常敏感尤其是尖角和薄脊区域电场梯度很大局部网格不足会产生明显的数值色散导致效率曲线的峰或谷位置出现虚假偏移。我处理尖角的一个办法是给几何加一个很小的圆角比如半径2到5纳米。这个圆角在物理上对应的其实就是真实器件的刻蚀圆角。加圆角之后如果效率变化很小说明尖角区域对结果不敏感可以接受如果变化很大说明你所谓的高效值恰恰依赖尖角的电场奇异性需要警惕这个结果的可制造性。6.2 倏逝波级次的临界角判断斜入射时光栅方程里某些级次的衍射角会超过90度对应的级次是倏逝波。在FDTD里倏逝波不会传播到远场但在结构附近依然存在。如果监视器放得太近傅里叶分解时会把倏逝波的能量也算进去导致出现“幽灵级次”。处理方式是预先用光栅方程算出每个级次在给定入射角和波长下是否可传播把可传播级次的数量范围限定住。然后检查监视器输出的级次表中是否混入了不可传播的级次若有将其剔除或调整监视器位置。最后补充一点个人体会。做不对称光栅的衍射效率复现最核心的不是把某一个参数调得跟实验一模一样而是让整个仿真链路对每一个物理量都有明确的定义和控制。网格收敛、能量守恒、级次归属、RCWA交叉验证这四件事做完你才有底气说“我复现出来的效率曲线是可信的”。如果只是为了跟文献凑一条曲线那你随时都可能凑出一个精度满意但物理上站不住的模型——那种结果还不如不做。