
1. 设定入射波长前必须想清楚的三件事做FDTD的时间久了你会发现一个现象新手拿到一个光子学结构第一反应是赶紧把模型画出来结果模型一坨细节做得挺精致到了光源设置环节就开始卡壳——尤其看到“入射波长模式”这个选项单波长、宽谱扫描、波长范围、频率点瞬间懵住。说实话这个卡壳不是操作不熟练而是还没把波长和FDTD算法之间的关系理顺。入射波长不是简单的“按个数字”就能完事的参数。它直接影响三件大事网格步长、材料色散模型、仿真时间跨度。这三个东西一旦选错后面加再多监视器、做再多后处理都白搭结果出来你也不知道该不该信。1.1 波长第一性网格尺寸是波长“裁”出来的FDTD的网格尺寸与波长强相关。软件自动网格会参考材料折射率和你设定的精度等级通常原则是最小网格步长要能分辨最短波长在最高折射率介质中的有效波长即dx ≈ λ_min / (n_max × N)N一般取10以上。比如你在1550nm工作波长下仿真硅结构硅的折射率在3.5左右那么介质内有效波长约为440nm网格至少要做到44nm实际工程上建议5~15nm尤其是纳米盘、纳米柱这类有强局域场效应的结构网格粗了谐振峰会偏移甚至消失。网格一旦定了内存和耗时也就定了。同样一个2μm × 2μm × 2μm的仿真区域网格从20nm细化到10nm网格数量涨8倍内存也接近线性上涨。很多人抱怨“仿真特别慢”排查到最后发现就是入射波长范围设太宽导致为了保证最短波长的精度整个网格被迫加密白白多花几倍资源。注意如果你要覆盖400nm到2000nm的超宽谱最短波采纳400nm来定网格那么整个仿真区域都会按这个精度跑长波长部分实际上是“过度加密”的。这种场景建议拆分波段分开仿真别一口气吃成胖子。1.2 色散材料波长范围一旦选错所有结果都会骗你光学材料普遍有色散折射率不是常数。FDTD里内置的材料库会基于实测数据拟合出色散模型通常有三种多系数模型、Drude模型和Lorentz模型它们都有自己有效的波长适用范围。你在设置入射波长区间之前必须先确认材料库中该材料的拟合数据覆盖了你想要的波段。举个例子某材料库给出的金数据范围是400nm到2μm你非要仿真3μm波长处表面等离激元共振软件会按模型公式往外推看似能出结果但此时介电常数已经严重失真计算出的吸收峰、共振波长都不可信。更隐蔽的是外推数据有时会在某个波长出现异常的折射率突变于是你的仿真光谱里莫名其妙多出几个假峰排查起来极其痛苦。我在实际项目中的习惯是先查材料fit文件中的数据点覆盖范围再决定入射波长区间。如果目标波长超出覆盖范围宁可去找文献里的实验数据手动导入也不能让软件在外推区域硬算。1.3 光源空间模式与波长模式是联动的很多人不知道光源的“入射波长模式”和“空间模式”必须一起判断。一个平面波光源和一个高斯光源即使中心波长相同需要的仿真区域、边界条件、监视器摆放都完全不一样。而TFSF光源总场散射场光源用于散射体仿真很常见但它的暗场输出只能覆盖有限带宽波长范围设太宽边缘波长处分离效果会变差。换句话说你在设置波长之前得先想清楚我要的是这个结构在某个固定激光波长下的响应还是它在宽光谱下的透射/反射/吸收谱前者用单波长模式后者用宽谱脉冲模式。方向一旦确定后面所有参数才谈得上合理。2. 单波长、宽谱、扫描三种入射波长模式怎么选FDTD Solutions里常见的入射波长模式概括起来有三种单波长点频模式、宽谱脉冲模式、离散波长扫描模式。三者底层机制完全不同适用场景也大不相同。用对了能省一半时间用错了就是反复套娃。2.1 单波长点频模式适合“把一件事看得非常清楚”单波长顾名思义就是固定一个入射光波长光源以连续波CW形式发射仿真最终得到的是这个波长对应的稳态场分布、透射率、反射率、吸收率等。这种模式最大的优势是物理图像清晰、后处理直观。你可以直接拉出场分布图看电场增强在哪里、磁场在哪个区域集中这对于理解模式机理特别有帮助。比如你在超表面里找一个偶极共振用单波长算完场图哪里是热点一目了然。缺点是效率低。想看另一个波长就得重新跑一次仿真。如果只是看五六个波长还好想扫200个波长点就要跑200次仿真完全不可接受。所以单波长模式通常有两个用途第一对器件的最优工作波长进行精算和场分布验证第二配合优化器做特定目标波长的参数优化比如优化某个天线的吸收率在1550nm处达到最大。至于“扫描光谱”这类任务请绕道。2.2 宽谱脉冲模式一次仿真打包全部光谱FDTD的时间域特性让它天然支持宽谱计算。你在光源里设定一个中心波长和一个波长跨度软件会用一段脉冲光照射结构同时在监视器里做DFT变换离散傅里叶变换把时域信号转换为频域结果于是只需要跑一次仿真就能得到整个宽带范围内每个频点的响应。我常用宽谱模式做的工作包括超表面的透射/反射谱提取、等离激元纳米颗粒的吸收光谱、光子晶体能带结构透射窗口定位等。它最大的好处就是效率极高中心波长1550nm、跨度400nm的波段一次仿真就能把透射率、反射率、吸收率全拿齐。但宽谱模式有个隐藏问题脉冲光源的总能量是分散在整个频带的单个频点获得的能量远小于单波长模式。因此如果要研究窄带谐振高Q值宽谱模式可能不够灵敏要么加长仿真时间要么增加DFT频率点这一点后文第4节会展开。2.3 离散波长扫描严格但昂贵的做法离散波长扫描其实是用多个单波长仿真组成一个扫描序列每个波长跑一次然后拼成光谱。严格来说它并不是独立的“模式”而是参数扫描的一种形式。什么时候需要离散扫描大致两种情况第一目标波长个数很少比如只看5个离散波长用宽谱脉冲反而可能因为带宽设置不当而精度不高不如单波长逐个算第二器件的响应强烈依赖于入射波长而且材料模型在某个特定波段内频繁穿越宽带脉冲的DFT插值可能漏掉尖锐特征这时离散扫描更可控。代价也很直接时间成本线性增长。200个波长点就是200次完整仿真如果有参数化扫描同时在扫描结构尺寸组合数爆炸谁用谁知道。我把三种模式放在一张表里方便你们对照波长模式单次可获信息时间成本典型场景单波长点频单波长场分布与S参数低/次特定波长场分析、器件优化、庞加莱图制作宽谱脉冲整个频带响应低/次透射谱、吸收谱、反射谱快速提取离散波长扫描多波长逐点响应高/线性增长窄带高Q谐振、强色散材料、稀疏波长点需求基于上述分析我的习惯是“先宽谱粗扫再单波长精算”。千万别一上来就直接用单波长猜测谐振点那是拿步枪打蚊子。3. 实操案例用入射波长模式定位超表面谐振波长理论讲再多都不如一次实操来得直接。这一节我以一个典型硅纳米盘超表面为例完整走一遍从建模、设置入射波长模式到定位谐振、复核场分布的流程。这个案例基本涵盖了绝大多数波动光学仿真的核心操作思路。3.1 建模型、设监视器从几何到边界一气呵成模型本身不复杂衬底为二氧化硅上面排列硅纳米盘纳米盘直径250nm高度200nm周期500nm。入射光设为正入射平面波偏振方向沿x方向。边界条件方面由于是周期性结构x和y方向用周期性边界periodicz方向用PML边界PML层数默认就行但记得PML要离开结构足够距离一般为工作波长的0.5~1倍以上。监视器方面我在结构上方设一个反射监视器在衬底内部设一个透射监视器。这里有个细节透射监视器不要贴得太紧最好离结构底部至少300nm以上否则近场高阶模式会污染透射光谱后面会出现透射率大于1的怪事。3.2 设置入射波长模式参数中心波长、波长跨度和频率点我要关心的波段是1350nm到1750nm对应CL通信波段附近中心波长取1550nm波长跨度400nm。在FDTD里设置光源时选择平面波和宽谱模式输入波长范围即可。如果你手头用的版本支持脚本示意代码如下# FDTD脚本语言示意具体语法随版本略有差异 addplane; set(wavelength start, 1.35e-6); set(wavelength stop, 1.75e-6); set(polarization angle, 0);与此同时透射和反射监视器的“frequency profile”也要设成对应频段。我建议频率点数不要少于200个否则光谱曲线的细节看不出来。有些场景需要看得更细比如定位高Q谐振峰频率点到500甚至1000也不过分。因为DFT提取的是离散频点频点不够密尖锐的峰可能直接漏掉。网格方面由于硅折射率较高我把纳米盘周围加了个局部网格覆盖区步长设为5nmz方向也加密到5nm保证近场场分布捕捉到位。这个网格密度在1550nm附近是够用的内存占用中等一般工作站能跑。3.3 从宽谱透射谱粗扫到单波长场分布精算仿真跑到自动关闭收敛后我拿出透射率曲线在1350~1750nm范围内看到有两个明显的透射谷一个在1420nm附近一个在1630nm附近。这两个谷对应的就是结构支持的共振模式在谐振波长处入射光能量一部分被局域束缚在硅纳米盘里一部分被散射掉于是透射率显著下降。为了搞清楚这两个谷到底对应什么物理机制我在1420nm处切换到单波长模式重新计算入射波长固定为1420nm。仿真完成后拉出电场|E|分布图能清楚看到纳米盘内部的电场强度分布形成一个明显的环状热点这是典型的电偶极共振特征而在1630nm处算完场图热点分布更集中在纳米盘外沿且上下分层更像是磁偶极共振。这就是我反复强调的“先宽谱后单波长”流程。如果没有宽谱粗扫你根本不知道哪个波长值得细看如果只有宽谱结果你只能看到谷位不知道谷位上场的局域形态。两者结合光谱信息和模式信息一步到位。3.4 数据验证与能量守恒别急着下结论得到透射率曲线后我建议大家先做一个能量守恒检查。对无损介质结构来说在正入射、无衬底后向散射的模型里透射率加反射率应该接近1。如果有明显的能量缺口先别急着解读物理通常是监视器位置、PML反射或者网格精度的问题。我在这个案例里跑完检查透射加反射大约在0.98左右剩下的约2%是数值耗散和网格离散误差属于正常范畴。如果算出来是0.85你就该回头检查PML设置、网格密度和监视器位置别硬着头皮继续写结论。4. 入射波长设置引起的典型翻车现场说实话作为仿真工程师年度KPI里最绕不去的就是排查“明明设置没错为什么结果不对”。入射波长模式这个环节踩过的坑我少说也见过十几类。这里挑五个高频问题展开聊聊附带排查思路希望能帮你少走几个月弯路。4.1 光谱锯齿与DFT监视器频率分辨率宽谱模式跑完透射谱线不是平滑的而是像锯齿一样抖这个问题太经典了。原因主要有两个一是DFT监视器频率点数不够光谱特征没有被充分采样二是仿真总时长不够时域信号还没衰减到零就被截断DFT出现频谱泄漏。排查方式也很机械先把频率点数翻倍重新提取如果锯齿还在那就延长仿真时间。FDTD里有auto shutoff level这个参数默认通常是1e-5意思是场能量衰减到初始值的1e-5就自动停止。但宽带光源照射高Q结构时能量衰减非常慢自动停止可能过早导致窄带特征没被充分积分。解决办法是手动增加仿真时间限制或者把auto shutoff level调低到1e-7甚至1e-8。经验值Q值1000的谐振需要大约Q/(2×中心频率)的时间来充分建立稳态也就是约0.8皮秒。如果仿真只跑了0.2皮秒你的谱峰位置和宽度全都是错的别问我是怎么知道的。4.2 透射率超过1注意光源与监视器位置明明是无源结构透射率却算出了1.05这不会让你拿诺奖只会让你怀疑软件坏了。绝大多数情况下这不是软件的错而是放在了结构近场区域。透射监视器离结构太近会捕获到结构表面散射的倏逝场这些场在远场不会传播但监视器却把它们积分进去了导致“额外能量”。解决办法是把透射监视器放到距离结构至少半个工作波长的位置同时确保PML边界没有因为监视器位置而被迫缩进。如果结构有衬底监视器必须放在衬底内部并且要确保光源的入射功率归一化正确。还有一种更迷惑的情况你用了多波长光源但监视器没有选对偏振方向部分交叉偏振的散射光也被计入透射数值也会偏离物理预期。检查一下监视器的“override global monitor settings”和偏振选项会解决很多你意想不到的奇异值。4.3 窄带谐振被宽谱“淹没”你扫描一个高Q微环谐振器的透射谱宽谱模式一次跑完结果发现预设的谐振峰根本没出现或者峰很浅、宽度明显偏大。这不是结构没共振而是你的频率分辨率和动态范围不够。宽谱脉冲的光谱能量密度是连续分布的对某一特定频点而言等效激励强度有限。如果Q值达到1万以上谐振建立时间长能量积累慢而宽谱脉冲的时域信号早就衰减完了谐振效应自然不明显。解决思路有三个其一把宽频范围缩小只覆盖谐振峰附近几纳米使脉冲能量更集中其二增加DFT频率点数让采样能踩中峰位其三直接改用离散波长扫描逐个精扫。4.4 斜入射长波长处PML反射另一个容易踩的坑出现在斜入射场景。当你用Bloch边界条件或自定义斜入射平面波时在长波长部分PML边界吸收效果会变差产生非物理反射导致光谱振荡。这个问题的根源是PML在低频率下有效吸收深度减小尤其当入射角接近掠入射时反射率更加明显。解决方案包括增大PML层数从默认的8层加到16层甚至24层、在仿真区域外围留更多缓冲空间、调整PML参数配置里的alpha和sigma。如果你一直做宽带斜入射仿真建议在正式批量跑之前先用空腔跑一个对照仿真确认在目标波长范围内PML反射体现在光谱底噪的幅度心里有数。4.5 材料数据外推造出假谐振最后这个坑最为隐蔽。你明明是在硅纳米盘结构上扫描透射谱结果在某个远离共振的波长处忽然冒出一个又尖又深的谷怎么看都不合理。这时候请务必打开材料数据检查一下看看这个波长是否超出了材料色散数据的已知范围。非物理假谐振的本质是色散模型在外推区域产生了一个虚部的异常跌落或实部折射率的突变导致材料在某个波长出现了几乎没有损耗的“伪透明窗口”而结构又恰好在这个波长形成驻波条件于是假共振就诞生了。排查方法是固定结构不动把材料换成恒定折射率n3.5看那个谷是否还会出现。如果消失了铁定是材料模型问题从材料拟合范围入手解决。这些问题都不算高深技术但每一个都值得你在仿真流程里建立对应的自查清单。5. 写在最后先粗扫、后精算的波长模式使用习惯跟着案例跑完一遍你会发现入射波长模式并没有那么玄乎。它本质是一个目标导向的选择题你要光谱就用宽谱脉冲你要单频场分布就用单波长点频你要极高精度或极窄谱线就离散扫描。核心永远是你想从结构里看到什么。我个人在实际操作中的体会是波长模式不是一次性设好就完事的它应该随着你对结构的理解逐步演进。先用宽谱模式跑全波段的透射谱快速锁定异常区域这是“粗扫”然后用更窄的波长跨度甚至离散扫描把谐振峰位置摸清楚这是“细扫”最后用单波长模式在锁定的谐振波长上算场分布提取相位、偏振、近场模式这是“精算”。三步走完一个超表面的完整光学响应就清清楚楚了。最后再分享一个小技巧每次跑完宽谱仿真顺手把光源的频谱、监视器的频率点数、仿真时间记录在工程文件的注释里。下次对比两个相似结构的结果时你能立刻分辨出某个光谱差异到底是物理变化还是数值设置不同带来的假象。这个小习惯真能在关键时刻救命。