
COMSOL 多极分解分方向多级展开通用模型电磁场面上箭头透射率光学 BIC 仿真。 下图是仿真文件截图所见即所得。最近在光学BIC仿真中折腾COMSOL的多极分解功能发现这个工具对理解电磁场分布真是神器。尤其是当需要分析超表面透射特性或者定位连续体束缚态时分方向多级展开能直接把复杂的场分布拆解成物理意义明确的电磁模式就像给电磁场做了个CT扫描。先看这个典型的环形谐振腔模型配合文中的仿真截图。在波导结构中设置端口激励后面上箭头图直观展示了电场矢量的涡旋特征。但想要定量分析各阶模式的贡献占比必须祭出多极分解这个解构工具。在COMSOL中实现多极分解的关键是这段场分量积分代码double[][] modes new double[4][3]; for(int n0; n4; n){ for(int m0; m3; m){ modes[n][m] integrate(comp.ewfd.Q(n,m), surface); } }这里的Q(n,m)对应不同阶数的多极矩分量。n0是电偶极矩n1对应磁偶极矩更高阶的n值对应四极、八极等模式。通过遍历不同阶数的积分运算可以提取各阶模式在总场中的权重。COMSOL 多极分解分方向多级展开通用模型电磁场面上箭头透射率光学 BIC 仿真。 下图是仿真文件截图所见即所得。举个实际案例在计算透射光谱时发现某个波长位置出现异常透射峰。通过多极分解发现此时电偶极和磁偶极的贡献曲线在此处发生反交叉这正是BIC形成的典型特征。对应的分解代码可以这样优化function [weight] mode_weight(E_field, mode_order) % 模式匹配度计算 projection abs(trapz(conj(E_field).*mode_pattern)); total_energy trapz(abs(E_field).^2); weight projection^2 / total_energy; end这段MATLAB后处理代码通过模式匹配度计算能更精确量化各阶模式在特定频点的能量占比。实际测试发现当电偶极与磁偶极模式的权重比接近1:1时系统会呈现准BIC状态。处理面上箭头图时有个小技巧在COMSOL的派生值里添加旋转场分量计算。比如对于环形对称结构添加以下表达式能突出涡旋特征ewfd.Ex*cos(phi) ewfd.Ey*sin(phi), -ewfd.Ex*sin(phi) ewfd.Ey*cos(phi)这相当于在柱坐标系下观察场的旋转分量更容易识别环形谐振腔中的角向模式数。最后说说网格划分的坑做多极分解时必须保证网格足够细密特别是高次模式的场分布具有更小的空间特征尺度。经验值是至少保证每个波长采样8个网格点对于四极及以上模式建议加密到12点/波长。曾有个案例因为网格太粗导致八极模式的权重计算误差超过40%血泪教训啊。搞电磁场仿真就像玩拼图多极分解就是帮你把零散的拼图块按形状分类的工具。当透射谱上的异常峰与模式分解结果相互印证时那种啊哈原来是你小子在搞事情的顿悟感才是做仿真最上头的时刻。