MEEP如何获得正确的透射率

发布时间:2026/7/26 11:31:38

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官网教程上一样但是我总感觉这种配置的物理图像不太清晰对于像下图这样的结构是空气背景而不是硅薄膜背景这种情况同样是需要两个细矩形的如果不加矩形透过率就会算的不准确。这个时候加的矩形应该是空气矩形。图里蓝色区域是氧化铝。背景空气。至于加的矩形多宽请参考上面的知乎教程也可以参考硅背景的情况。光源就放在空气矩形里。透射谱同理否则我发现算的透过率不对。最后光源代表的细条也就是入射的条形波导的宽度因为二者一般一样长应该设置成多长呢这个我问了AIAI说可以设置成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我们能够清晰的看出光源的宽度

相关新闻