Comsol金属SRR Anapole完全教学。
COMSOL里玩Anapole现象就像在微波炉里观察奶油融化——看起来玄乎,上手其实不难。今天咱们用金属SRR(开口谐振环)结构来实现这个特殊电磁响应,重点在于如何通过参数化建模精准捕捉非辐射特性。
先打开COMSOL新建空模型,在全局参数里塞几个关键变量:
radius = 3e-6 # 环半径 width = 0.3e-6 # 金属线宽 gap = 0.2e-6 # 开口间距 thickness = 50e-9 # 金膜厚度这几个数字可不是随便填的——半径决定谐振频率,开口间距控制电容耦合强度。建议先用λ/4原则估算初始值,后面再扫参数优化。
画结构的时候别傻乎乎手动拉方块,直接上参数化建模:
% 创建环形基体 cylinder1 = model.geom.create('cyl1', 'Cylinder'); cylinder1.set('r', 'radius'); cylinder1.set('pos', [0, 0, 0]); cylinder1.set('h', 'thickness'); % 切割开口 block1 = model.geom.create('blk1', 'Block'); block1.set('size', ['gap', 'width*2', 'thickness*2']); block1.set('pos', ['radius - gap/2', '-width', '-thickness']); model.geom('comp1').create('dif1', 'Difference'); model.geom('comp1').feature('dif1').selection('input').set({'cyl1', 'blk1'});这里用布尔运算切出开口,注意坐标系对齐。金属材料别用默认的铜,右键材料库选Gold (Johnson)更贴近实验数据。边界条件设置里有个坑——记得把开口处两端面设为终端端口,类型选Lumped Port,阻抗按50欧姆走。
Comsol金属SRR Anapole完全教学。
求解器配置是灵魂所在:
study.step1.set('plist', 'linspace(1.2e14,1.8e14,50)'); //频率扫描范围 study.step1.set('punit', 'Hz'); solver.seg1.set('sweeptype', 'explicit'); //显式频扫更稳 solver.seg1.set('eredelta', 1e-5); //收敛阈值这里用显式频扫避免漏掉尖锐谐振峰,收敛阈值别设太松,否则Anapole特征点会漂移。跑完仿真别急着看S参数,先检查电场分布——真正的Anapole态会在环中心形成环形电流且远场辐射相消。
后处理阶段搞点骚操作:
// 计算散射截面 double lambda = c0/freq; double sigma_sc = (4*pi/(k0^2)) * (abs(emw.S11)^2 + abs(emw.S21)^2); // 提取环形电流密度最大值 double J_max = max(emw.Jz);散射截面出现极小值时大概率抓到Anapole态,配合电流密度验证是否符合环形偶极子分布。遇到结果震荡别慌,八成是网格在开口处太糙——局部加密到λ/20以下,用边界层网格包裹金属表面。
最后提醒:别迷信默认的完美电边界,实际做样有表面粗糙度损耗。在材料设置里加个表面阻抗边界,用RMS粗糙度换算等效电阻。保存模型时记得存成.mph格式方便参数回溯,毕竟调Anapole就像找针尖上的平衡点,可能得反复微调0.1μm级的尺寸。
照着这个流程走,顺利的话能在1.5μm附近看到散射截面骤降80dB。要是结果不对,先检查端口相位定义——Anapole对激励相位敏感得很,差个π/2都能让特征消失。祝各位在COMSOL里玩得尽兴,记得定期保存防崩(别问我是怎么知道的)!