当前位置: 首页 > news >正文

基于COMSOL的BIC本征态计算通用算法:直观出图,适用于多种场景,附论文研究链接

comsol BIC本征态计算,支持comsol直接出图。 2019PRL。 此为通用算法

COMSOL这货玩本征态计算是真能整活。前阵子搞光子晶体的时候发现它的BIC(连续谱束缚态)求解功能有点东西,直接调参数就能出图。2019年PRL那篇论文里提到的通用算法,其实在软件里已经内置了现成的套路,咱不用自己造轮子。

comsol BIC本征态计算,支持comsol直接出图。 2019PRL。 此为通用算法

先整点几何模型试试水。在模型向导选电磁波->频域,然后随手画个二维光子晶体结构。记得在全局参数里塞几个变量,比如晶格常数a=500nm,圆柱半径r=0.3*a这种,后面改参数不用重新建模贼方便。代码片段大概长这样:

% 全局参数定义 a = 500e-9; r = 0.3*a; k0 = 2*pi/(1550e-9); % 工作波长

边界条件要特别注意,完美匹配层(PML)必须安排上。但BIC的特性决定了它对外辐射得是零,所以得在周期性边界里玩花样。有个骚操作是设置Floquet周期边界时把波矢kx设为扫描变量,这样能自动抓取Gamma点的模式:

% Floquet边界设置 floquet = mphphysic('floquet', 'emw', 'Floquet1'); floquet.set('k', {'0' '0' 'kz'}); % 这里kz用来扫参数空间

求解器配置才是重头戏。本征频率计算选频域分解法,记得勾选"Shift"选项。这个偏移量要设在工作频率附近,比如1550nm对应约194THz,不然算到地老天荒也抓不到模式。代码配置里藏着个彩蛋——把特征值缩放模式改成"Auto",软件会自动处理发散问题。

% 本征求解器参数 study = mphstudy('Eigenfrequency'); study.set('shift', 2*pi*194e12); % 频移量 study.set('numbmodes', 5); % 算前五个模式

后处理阶段要看电场分布里的玄机。真·BIC模式的Q值会爆表,辐射损耗几乎为零。在截面图上用箭头图叠加等高线,能清晰看到电场局域在结构内部。有个冷技巧是导出模式场后做傅里叶变换,看看k空间有没有落在光锥外,这才是验证BIC的终极姿势。

% 模式验证脚本 Ex = mphinterp(model, 'emw.Ex', 'dataset', 'dset1'); [Px, Py] = fft2shift(Ex); % 自定义傅里叶变换函数 contourf(kx_grid, ky_grid, abs(Px)); % 绘制k空间分布

最后说个坑:网格剖分别太糙!BIC对结构对称性敏感得很,建议在关键区域用极端细化的三角形网格。算完记得检查模式能量是否主要分布在介质区域,别让PML把结果带偏了。用这个套路,基本能复现大部分文献里的BIC结果,不用跪求原作者代码的感觉真香。

http://www.jsqmd.com/news/647283/

相关文章:

  • XXL-JOB调度中心集群部署实战:从编译到反向代理全流程解析
  • 如何快速掌握ESP-CSI技术:无线感知的完整入门指南
  • 【生死心法】别用 assert() 谋杀物理世界!撕碎软件异常的“停机幻觉”,论“失效安全”与硬件级绝对熔断
  • Cursor+Apifox MCP Server:智能接口自动化测试的实践与突破
  • ThreeJS实战:如何优雅地给3D模型添加点击弹窗(附完整代码)
  • Win10 LTSC 1809(Hyper-V)环境下Docker与CVAT的兼容性部署指南
  • Node.js 日志选型指南:Winston vs Log4js 全方位对比与实战
  • 揭秘Stable Diffusion 3.5企业级部署瓶颈:3类GPU资源浪费模式及实时优化方案
  • 人工智能技术生成对抗网络图像合成与风格迁移应用
  • 给Pixel4注入新灵魂:手把手教你定制Android 12内核,开启隐藏功能与性能调优
  • JavaScript对象、原型与继承知识体系综合实战案例
  • 西门子S7-1200 PLC与Node-RED数据互通实战:从硬件接线到Web可视化(V18+TIA Portal)
  • 利用Emacs verilog-mode的AUTOINST与AUTOWIRE加速Verilog模块集成
  • 告别手动计算!用Excel小O地图插件3分钟搞定GPS坐标批量转换(度分秒/度/弧度互转)
  • 为什么你的项目还在用有漏洞的lodash?深入解析npm依赖管理的那些坑
  • Koikatu HF Patch终极指南:如何免费解锁完整英文翻译和200+插件
  • Hermes Agent上手指南
  • AIAgent服务治理落地难?3步实现零故障灰度发布与动态熔断(附生产级配置清单)
  • STM32CubeMX与Proteus联合仿真:I2C驱动OLED12864实战指南
  • 技术解析 | TSMaster—LIN 唤醒与休眠机制的实战应用
  • 别再手动调参了!用GCNet模块给你的ResNet模型加个“全局感知”Buff(附PyTorch代码)
  • TC397 MCAL实战指南:基于EB工具的UART外设驱动配置详解
  • HbuilderX 2024最新版安装避坑指南:从下载到个性化配置全流程
  • 18650圆柱锂电池的COMSOL模型参数配置与生热研究
  • 告别理论!用eNSP手把手搭建IPv4/IPv6混合网络:防火墙双机热备与无线AC冗余配置详解
  • 保姆级教程:用YoloX+DeepLabV3Plus+ncnn搞定指针仪表自动读数(附数据集与避坑指南)
  • 瑞芯微RGA接口避坑指南:wrapbuffer_virtualaddr使用中的三个常见错误与修复
  • Synergy软件跨平台安装与多设备协同配置指南(附详细步骤)
  • 小程序如何做数据分析?
  • 云服务器:构建未来企业数字化的基石