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

MEEP如何获得正确的透射率

写在前面的话:

1)本BLOG发表的目的是为了传播知识,不谋取任何商业利益,如涉及到侵权,将立刻删除!

2)很多内容是求助了其他知乎网友的,我本人不一定懂,所以你问我本BLOG派生的问题我可能回答不上来!

今天我们来聊一下对于拓扑光子学领域的结构,MEEP如何获得正确的透射率。

MEEP和其它FDTD软件(比如RSOFT,LUMERICAL等)计算透过率的时候,一个重要区别是MEEP需要进行参考仿真,参考仿真也就是把不带光子晶体的波导再运行一次透过率计算。然后把两次仿真的结果相除,具体方法在网站:

https://meep.readthedocs.io/en/latest/Python_Tutorials/Resonant_Modes_and_Transmission_in_a_Waveguide_Cavity/有介绍。

既然RSOFT等软件不用运行额外仿真,我曾经异想天开,会不会MEEP也能在特别的配置下只运行一次仿真就得到正确的透过率?但是很遗憾以我的水平,我还没想出来如何设置。

我首先设想的是,直接在光子晶体波导通道放一个MONITOR,然后在光源附近放一个MONITOR,然后两个结果一除不就是正确结果了?但是我问了好几个AI,他们都说这样有明显的错误,因为光源附近的那个MONITOR很有可能监视到反射波,导致归一化过程不正确,算出来的透过率错误。所以不能这么搞。而LUMERICAL和RSOFT都有自带的算法过滤掉反射波,所以可以这么搞。

然后我又想的是,能否直接在软件里用某种函数提取出光源的谱,然后直接相除,后来发现我想多了,不存在这种函数,MEEP官方网站里倒是有类似的表述,但是AI说那个不能用来做分母去算透过率,因为《那不是为了算透过率准备的》?!

既然两种方法都不行,那只能用软件官方给的方法,老老实实跑两次仿真了。我发现只有像下图这么配置的时候,算的透过率才能和文献一样:

这是知乎上的专家《小钊总》发的拓扑光子学计算教程里的图,我觉得有很强的参考价值,虽然软件用的是LUMERICAL,但是核心思路是一样的。也就是说,哪怕仿真一个二维光子晶体,也要在左侧右侧引入两个额外的细矩形,然后矩形和监视器放在这两个块上。对于那些监视器直接放在一侧的文章(没放细矩形),我重复的透过率结果总是有问题(形状没问题,归一化强度有问题)。不知道为何,但是我敢肯定是MEEP自身的设置问题,可能是我哪里没设置好,因为我用LUMERICAL重复这种不带细条的论文,就没问题。

知乎教程对应文章是这个:

《A silicon-on-insulator slab for topological valley transport》是HEXINTAO老师在2019年发的一篇比较有名的论文,小钊总的教程就是关于这个论文的。这种配置比较容易重复出来,看MEEP的官方教程即可。

像这种光源放在了波导内部的情况,我用LUMERICAL和RSOFT就能很轻易重复出来,但是用MEEP算的透过率就是不对,我觉得可能跟我的参考仿真设置有错误有关系?(我参考仿真用的还是一个细条,左侧发光右侧监视。跟MEEP官网教程上一样,但是我总感觉这种配置的物理图像不太清晰)

对于像下图这样的结构,是空气背景而不是硅薄膜背景,这种情况同样是需要两个细矩形的,如果不加矩形,透过率就会算的不准确。这个时候加的矩形应该是空气矩形。

图里蓝色区域是氧化铝。背景空气。至于加的矩形多宽,请参考上面的知乎教程,也可以参考硅背景的情况。光源就放在空气矩形里。透射谱同理,否则我发现算的透过率不对。

最后,光源代表的细条(也就是入射的条形波导的宽度,因为二者一般一样长)应该设置成多长呢?这个我问了AI,AI说可以设置成2倍的晶格常数(正方晶格)或者2*1.732倍的晶格常数(三角晶格)。我翻看了很多文章,发现这个说法是有道理的。大家可以看大多数文章怎么设置,跟他们一样就行。下面是几个例子:

来自http://dx.doi.org/10.1016/j.optcom.2014.09.014

来自https://doi.org/10.1016/j.photonics.2017.11.001

来自http://dx.doi.org/10.1016/j.optcom.2016.10.019

下面我们看这张图:(来自http://dx.doi.org/10.1016/j.optcom.2016.06.020)

我们能够清晰的看出光源的宽度

http://www.cnnetsun.cn/news/3660286.html

相关文章:

  • 快速上手RT-DETR-L_wired_table_cell_det_safetensors:5分钟完成表格单元格检测实战
  • 如何3分钟内掌握Chrome全屏截图插件的终极指南:一键捕获完整网页的完整解决方案
  • DM37x调试接口时序解析:ETM、SDTI与JTAG的硬件设计实战
  • 【Linux系统编程】进程切换
  • 《Windows 11 从入门到精通》1.4.6:新的分屏模式
  • 5步实现精准视线追踪:eyetracker开源项目完整指南
  • 《Windows 11 从入门到精通》1.4.8:全新的音效体验详解
  • AI编程Agent技术演进与开发效率提升实践
  • NFS扩展属性问题解析与解决方案
  • MySQL日期时间格式转换实战与优化
  • RedKnot推理引擎:基于注意力头拆分的KV Cache优化技术解析
  • 物理信息神经网络与强化学习的融合应用实践
  • 3步搞定老旧Mac升级:OpenCore Legacy Patcher终极指南
  • 强化学习与组合优化在复杂决策中的应用
  • 为什么选择4-bit量化版?Nemotron-3-Embed-1B性能对比:BF16/8bit/4bit显存占用与速度测试
  • 剪映AI模板制作终极手册:含12套可商用Prompt模板库+37个动态占位符语法表(限前200名领取)
  • CircuitJS1 Desktop Mod:免费离线电路仿真软件的完整终极指南
  • 大语言模型工程化实践:构建可靠LLM应用的技术体系
  • LangChain实战:构建带记忆的智能对话系统
  • 大模型应用开发:从Demo到生产级交付的工程范式
  • 如何快速配置ESLyric歌词源:面向新手的完整指南
  • Python流域划分终极指南:用pysheds快速处理数字高程模型
  • 继续教育学生必备:9款AI降重工具实测与使用指南
  • SongGeneration:腾讯开源AI音乐生成工具让音乐创作更简单
  • KMS_VL_ALL_AIO:3分钟免费激活Windows和Office的终极方案
  • 告别线缆束缚:3步用ALVR打造无线PC VR游戏体验
  • YOLOv11结合PVTv2提升目标检测性能
  • Chatterbox TTS:重新定义语音合成的4大技术突破与多语言解决方案
  • 魔兽争霸3兼容性修复工具:让经典游戏在现代系统完美运行
  • 如何高效提取Wallpaper Engine资源:逆向工程实战指南