2026/1/10 12:53:42
网站建设
项目流程
八爪鱼网络网站建设,时代创信网站设计 北京,wordpress个性主题,网站空间为什么都比数据库大COMSOL FDTD 微纳光学#xff0c;电磁仿真
BIC拓扑单向传输
Comsol含色散材料光子晶体能带求解
包含一维光子晶体和二维光子晶体光子晶体这玩意儿玩电磁仿真的应该都不陌生#xff0c;最近在COMSOL里折腾拓扑单向传输时踩了不少坑#xff0c;特别是BIC#xff08;连续域束缚…COMSOL FDTD 微纳光学电磁仿真 BIC拓扑单向传输 Comsol含色散材料光子晶体能带求解 包含一维光子晶体和二维光子晶体光子晶体这玩意儿玩电磁仿真的应该都不陌生最近在COMSOL里折腾拓扑单向传输时踩了不少坑特别是BIC连续域束缚态和色散材料同时存在的场景。咱今天就唠唠怎么用有限元法玩转这类问题先甩个二维光子晶体拓扑能带计算的代码框架% COMSOL自带材料库有时候不够用自己定义Drude色散模型 material mphcreate(myDrude); mphmaterial(material, name, Ag_drude, property, electricconductivity, value, sigma); mphmaterial(material, model, drude, omega_p, 2e15*2*pi, gamma, 1e14*2*pi);这里要注意的是色散参数的单位换算尤其COMSOL默认用Hz做频率单位而文献里常用eV或波长。最近跑拓扑棱态传输时发现边界条件设置不当会让模式泄漏到背景材料里。试试用Floquet周期性边界搭配端口扫描mphphysic(ewfd); % 激活电磁波频域模块 mphboundary(periodic_x, type, Floquet, kx, k0*sin(theta)); study mphcreate(frequency); mphstudy(study, name, param_sweep, type, frequency, values, linspace(200e12, 400e12, 50));二维光子晶体的网格划分有个骚操作——把高折射率区域用更细的四面体网格包裹。比如下面这段脚本实现自适应网格加密mesh mphmesh(mesh1); mphmesh(mesh, create, free); mphmesh(mesh, auto, resolution, 5); mphmesh(mesh, refine, domains, [2,5], factor, 3);做BIC仿真时最头疼的是参数扫描策略。建议先用本征频率研究锁定Q值异常高的频点再用频域扫描验证。记得在材料属性里勾选Enable dispersion选项否则色散材料的参数不会随频率变化。一维光子晶体的能带计算反而容易翻车——周期性条件的方向设置必须与晶格矢量严格对齐。下面这个参数化扫描模板实测有效for kx linspace(0, pi/a, 30) mphparam(kx, kx); mphstudy(eig, solve); omega mpheig(ewfd); plot(kx, real(omega), ro); hold on; end跑拓扑传输特性时注意在端口设置中开启Compute S-parameters和Store electric field。单向传输效果是否明显关键看结构对称性破缺是否足够。有个取巧的办法在光子晶体边缘引入渐变微结构用参数化扫描优化散射效率。最后提醒使用色散材料时一定要检查收敛性——把最大网格尺寸设为最小工作波长的1/8以下否则能带曲线会出现诡异的震荡。特别是等离子体材料附近建议手动加密网格三次以上。