Ag 反射层导致 RCWA 谐波不收敛

同一套 64 层直角闪耀 Λ=365 nm、H=170 nm、n_glue=1.8、λ=526 nm 正入射。2026-10-01 12:20:05

今天当场调用 RSoft dfmod.exe 扫 Nx 时 FlexNet 返回 Licensing Error code=2 / licensing subsystem not opened(脚本 run_ag_convergence.py 仍保留,许可证恢复后可重跑)。 下方 RSoft 截取 来自 2026-09-30 对同一 CAD ic_taper_legacy.ind 的 DiffractMOD; 谐波扫描曲线 用同一几何的 1D RCWA(meent,FTO = 谐波 −N…N)。 两种求解器都是傅里叶模态法,Ag TM 不收敛的机理相同。

1. 现象长什么样

不是程序崩溃,而是:把横向谐波加密以后,效率还在几个百分点甚至十几百分点地漂或来回晃。 对照实验把银换成无损 n=3.5,几何一字不改。

一眼能认出来的形状:Ag TE 一条平线,Ag TM 一条还在爬/晃的线,电介质两条都平。 所以锅在银的色散 + TM 边界条件,不在楼梯层数,也不在 CAD 写错。

R(m=-1) vs harmonic count @ 526 nm, 64-layer blaze 365/170 7 modes 61 modes R(-1) % Ag TE Ag TM Diel n=3.5 TE Diel n=3.5 TM Inferred absorption A=1-R-T vs harmonic count (Ag only) 7 modes 61 modes A % Ag TE Ag TM

2. 截取的模拟

RSoft DiffractMOD(Nx=21,Height/64,2026-09-30)

生产 CAD 未改。楼梯 24 层 vs 64 层只改 z 向切片:TE 的 m=−1 几乎不动(57.24% vs 57.21%), TM 仍差约 0.8 个百分点(39.61% vs 40.42%)。吸收 A 在 TM 上到 50% 量级,TE 只有约 8%——这是银的欧姆损耗,不是数值漏能。

来源层数Nx偏振R(−1)R(0)ΣRA
RSoft 楼梯2421TE57.24%17.02%91.87%8.13%
RSoft 楼梯2421TM39.61%4.91%49.07%50.93%
RSoft 64 层6421TE57.21%17.01%91.90%8.10%
RSoft 64 层6421TM40.42%5.35%47.01%52.99%
求解器λ (nm)偏振NxR(−1)R(0)ΣRA
RSoft dfmod450TE2169.62%12.10%89.16%10.84%
RSoft dfmod450TM2152.48%1.34%56.53%43.47%
RSoft dfmod520TE2158.71%15.96%91.77%8.23%
RSoft dfmod520TM2144.89%4.17%50.65%49.35%
RSoft dfmod526TE2157.21%17.01%91.90%8.10%
RSoft dfmod526TM2140.42%5.35%47.01%52.99%
RSoft dfmod532TE2155.65%18.17%92.03%7.97%
RSoft dfmod532TM2135.66%6.26%42.73%57.27%
RSoft dfmod620TE2127.38%48.45%93.07%6.93%
RSoft dfmod620TM2143.72%4.67%56.31%43.69%
RSoft dfmod638TE2119.23%59.91%93.04%6.96%
RSoft dfmod638TM2139.21%6.14%54.85%45.15%

同一几何的谐波扫描(meent RCWA,n_Ag=0.0525−3.095i)

FTO=N 表示保留谐波 −N…N,模态数=2N+1。RSoft 的 rcwa_harmonics_x=21 与 21 模态(FTO=10)同一量级。

材料偏振FTO模态数R(−1)R(0)R(+1)ΣRA=1−R−T
AgTE3759.58%18.20%19.05%96.83%3.17%
AgTM3727.55%9.30%7.05%43.90%56.10%
AgTE51159.67%18.16%19.04%96.87%3.13%
AgTM51129.80%4.72%19.95%54.46%45.54%
AgTE71559.69%18.15%19.04%96.87%3.13%
AgTM71531.32%5.91%1.33%38.56%61.44%
AgTE102159.69%18.15%19.04%96.88%3.12%
AgTM102137.16%4.87%3.11%45.14%54.86%
AgTE153159.69%18.15%19.04%96.88%3.12%
AgTM153138.88%2.49%2.16%43.53%56.47%
AgTE204159.69%18.15%19.04%96.88%3.12%
AgTM204135.96%5.23%2.76%43.95%56.05%
AgTE306159.69%18.15%19.04%96.88%3.12%
AgTM306158.27%2.73%1.49%62.49%37.51%
材料偏振FTO模态数R(−1)R(0)R(+1)ΣRA=1−R−T
DielTE378.65%0.38%0.68%9.71%-0.00%
DielTM376.50%0.11%0.04%6.65%0.00%
DielTE5118.68%0.37%0.68%9.74%0.00%
DielTM5116.36%0.12%0.04%6.52%0.00%
DielTE7158.68%0.37%0.68%9.74%-0.00%
DielTM7156.32%0.12%0.04%6.48%0.00%
DielTE10218.68%0.37%0.68%9.74%-0.00%
DielTM10216.29%0.12%0.04%6.45%0.00%
DielTE15318.68%0.37%0.68%9.74%0.00%
DielTM15316.27%0.12%0.04%6.44%0.00%
DielTE20418.68%0.37%0.68%9.74%0.00%
DielTM20416.27%0.12%0.04%6.43%-0.00%
DielTE30618.68%0.37%0.68%9.74%-0.00%
DielTM30616.27%0.12%0.04%6.44%0.00%

3. 为什么会这样

  1. 银的 ε 又大又是负数。 n+ik ≈ 0.0525+3.095i(规格书参考折射率;时间因子约定下虚部为负), ε ≈ −9.6 − 0.33i。胶水 ε=3.24。界面两侧差一个数量级,金属侧 Re(ε)<0。
  2. RCWA 用傅里叶级数去逼 ε(x) 的方波。 直角齿+楼梯是不连续函数,系数按 1/n 掉(Gibbs 振荡)。 金属把这些系数放大。截断不够时,界面附近是假的振荡场,不是物理趋肤场。
  3. TM 更差:切向 E 不连续。 TE 的 Ey 沿界面连续。TM 连续的是 Dx=εEx,Ex 本身跳跃。 必须对 ε 和 1/ε 分别做 Laurent 分解(Li 1996 inverse rule)。截断不够时 TM 效率会随谐波数来回晃。
  4. 趋肤深度只有约 13 nm。 δ=λ/(4πk) ≈ 526/(4π×3.095) ≈ 13.5 nm。场贴在银表面一层,空间频谱很宽。 无损电介质没有趋肤层,场铺满齿槽,几个谐波就够。
  5. 金属直角是场奇点。 90° 导体角附近 TM 场按 r^{−ν} 发散。加密楼梯只改善 z 向切片, 替不了 x 向谐波。所以 24→64 层时 TE 几乎不动、TM 仍可漂。

4. 原理

一个周期里的场写成 Floquet 和:

E(x,z) = Σn=−NN En(z) exp[j (kx0 + n·2π/Λ) x]

DiffractMOD 与 meent 都是这个截断。每层均匀条带,层间 S 矩阵级联。误差两处:

吸收来自 Im(ε)>0。Nx 太小时假界面振荡会乱算欧姆损耗,所以 Ag TM 的 A 和 R(−1) 一起晃。 电介质 A=0,功率只在反射/透射级之间重分配,并且很快稳住。

RSoft 输出的 A 是独立能量通道(TE≈8%、TM≈50% 在 Nx=21),不是 1−R−T 的残差。 meent 表里的 A 是 1−ΣR−ΣT,用来看 TM 的晃,不能当成与 RSoft A 逐点相等。

5. 怎么用

CAD:cad_smooth/ic_taper_legacy.ind。RSoft 重扫:python run_ag_convergence.py(需 dfmod 许可证)。 谐波扫描:.venv\Scripts\python run_ag_convergence_meent.py。