关于varFDTD仿真共振环的问题

我看到例子中auto shutoff设置的为1e-5,但仿真时间设置的很短,
仿真时间到了的时候,场并没有衰减到1e-5一下,这样的结果可信吗?
我把仿真时间设置的很长,但到最后结果都不收敛,也没检查出是什么问题
麻烦了,就是对于这种共振环结构,仿真时间的设置以什么为标准?
还有就是varFDTD在Z方向是用的金属边界条件,这是为什么,能换成pml吗?
仿真环的环,有的是环的上下侧都有直波导,有的是只有一侧有直波导,这两种情况仿真设置上会有什么区别吗?
谢谢大家的回复

Q: 仿真时间设置的很短,场并没有衰减到1e-5一下,这样的结果可信吗?
A: 这个问题请参见这个帖子。是否可信取决于你的目的:例如,如果你想看看这个结构是否有谐振,有几个谐振,是可以的。但是如果你要写文章作报告,显然曲线需要更光滑些。

Q:仿真时间设置的很长,最后结果都不收敛,也没检查出是什么问题
A:这是因为谐振比较强,不仅要增加仿真时间,同时需要减小 auto-shut-off-min。 如果发散,需要做进一步处理。

Q:对于这种共振环结构,仿真时间的设置以什么为标准?
A:请参见前面两个答复,并没有一定的标准,关键取决于你的目的。

Q:varFDTD在Z方向是用的金属边界条件,这是为什么,能换成pml吗?
A:用金属边界条件能很快找到所需要的模式,特别是基模。换成pml也可以,但是可能计算时间长一些,有时如果测试模式的数量少,你可能找不到模式。以后有时间再开一个帖子专门说明。

Q:有的是环的上下侧都有直波导,有的是只有一侧有直波导,仿真设置上会有什么区别
A:这两种结构的谐振可能不同,但是仿真设置没有原则区别。

不清楚的再来信。

3 Likes

ring.lms (3.0 MB)
麻烦你了,这个是我仿真的程序,细化网格,增加pml层数,减小dt等各种方法都试过了,总是发散,

透射谱的波动很厉害
将pml的类型修改为stabilized,不发散了,但感觉结果很不准确

感觉主要应该是pml的问题,想请教一下如何修改使透射比较平滑,没有那么大的波动?
谢谢

因为整个波段都有这种波纹,应该是仿真时间不够造成的。改进措施:
1:减小Autoshutoffmin,增加仿真时间
2:将PML远离
3:修改光源的脉冲,在指定波长范围后,勾选set time domain,将 pulselength/offset设为 50/100 (fs) 或 100/200(fs)
再测试,有问题将原文件发来。

2 Likes

我仿真的是一种纯介质的结构,衬底是二氧化硅,直波导和环都是硅(硅和二氧化硅都是设置的折射率,实数,没有虚部)

slab mode放在了直波导上,为什么core material拟合出来会有虚部?如何消除虚部(使虚部为0)?


还有一个就是光源的问题,当我设置波长范围为1400-1600nm的时候,解出来的neff带有虚部,

但当改变为1500-1600nm的时候,解出来的neff就没有虚部,

搞不懂为什么?我觉得上面两个问题中带有的虚部是导致我结构发散的主要原因,总是在计算中途发散,停止
,当我改变材料拟合的参数,使虚部拟合为0(但此时实部拟合的很不准确),

不发散,也有一个比较平滑的结果:

但我感觉这的结果是不准确的,毕竟core material拟合的实部差别太大,
我想知道如何拟合使core material实部拟合正确同时保证虚部的拟合为0(因为结构是纯介质)?
还有为什么source mode解出来的ness带有虚部?改变波长范围则不会有虚部?
谢谢您,期待您的回复

1 Like

你这两种情况虚数都在1E-9次方量级,完全可以忽略不计。这是因为,无论测量还是仿真都不可能达到如此高的精度,请完全放心。
至于最后这个图中的实部,在你的波长范围变化也只是0.04,基本还算可以。当然你可以修改拟合,像第二个图的材料那样。

1 Like

谢谢您的回复,我说一下我的主要问题吧:
当我的拟合材料或者解出来的光源模式neff带有虚部的时候,像第二幅图和第三幅图那样,计算总是发散,
细化网格,减小dt,改变pml参数,还有修改光源脉冲的pulselength/offset等,各种方法都试过了,还是发散,这个时候增加仿真时间或者减小autoshutoff是没用的,因为总是计算中途发散,达不到shutoff的标准,我就是找不到仿真发散的原因,加入movie后,发现计算到某个时间x方向两边pml的场慢慢变大,最后越来越强,导致发散

最后一幅图虽然实部队在我的波长变化范围内只是0.04,但是和第二幅图计算的结果比对(虽然发散了,但共振波长是正确的),共振波长发生了漂移,感觉是不可信的
谢谢您的回复,期待你能给出建议,谢谢

所以,发散不是材料的问题,是PML的问题,因此应该改善PML:
首先要保证PML位于均匀网格区域;
其次,PML一个有足够的厚度,你可以选用stabilized PML.
如果不解决问题,你可以加长X方向的仿真区,在现在的PML位置添加粗网格,
你试一下。再有问题建议将文件发来。
找到发散的一般原因参见
https://kb.lumerical.com/en/layout_analysis_diverging_simulations.html

1 Like

对这个例子
仅仅修改x方向的PML为Stabilized PML, 仿真时间大大加长,得到很好的结果:

ring_resonator-2.lms (531.3 KB)
改善其它设置,例如增加Y方向的仿真宽度,结果还可能会进一步改善。

但波导结果参见

ring_resonator-single.lms (530.7 KB)

1 Like

仿真单波导共振环,x 方向stabilized,y方向standard:

mesh accuracy 设置为2 ,透射谱为:

为得到更精确的结果,于是在si(折射率3.47)波导处单独细化网格:


得到的透射谱为:

结果反而变糟了,又在共振环单独细化网格:


得到透射谱:

也很糟,然后又减小auto shutoff的值到1e-9,


透射谱为:

结果也很糟,我想问一下为什么细化网格后结果反而更糟了,是因为网格不匹配的原因吗?谢谢您

Q:在si(折射率3.47)波导处单独细化网格,结果反而变糟了
A:这个很可能是细化网格本身形成了谐振腔的缘故,此时应该加长仿真区的xspan

Q:又在共振环单独细化网格也很糟
A:估计是类似问题

Q:又减小auto shutoff的值到1e-9,结果也很糟
A:此时不能仅仅看auto shutoff的值,而是要看仿真在什么时间结束的。因为透射谱都大于1,很可能说明仿真实际的时间不够。

我测试一下后发现,细化网格和PML是造成上述结果的主要原因,此外还有Autoshutoffmin。我使用了一个均匀网格横跨X方向,增加仿真长度,增加PML层数,减小Autoshuoff到1E-7,结果如下

文件在这里共参考。ring_resonator-single.lms (607.8 KB)

1 Like

您好:
我想问一下,就是在仿真微环的时候,
材料拟合,fit tolerance为0.1的时候,


运行程序,不发散,为了得到更精确的结果,提高拟合精度,fit tolerance设为0.001

其他程序任何地方没有改变,但程序运行发散了,
(1)减小dt=0.4,发散
(2)细化mesh(比之前不发散程序细化了很多),也是发散
(3)增加pml(stabilized)层数至256层,也是发散
(4)换成reciprocity方法,也是发散
(5)修改脉冲宽度(50/100)也是发散
我想麻烦您一下:仅仅改变了一下材料拟合,其他没有任何改变,是什么原因导致的发散?
谢谢您

我们的技术支持政策要求先与王经理联系。

我有遇到了这样的问题,请问您解决了找到原因了?

孙老师,我也遇到了这个问题,老师方便的能不能说明这种问题的原因?我还有一个问题,我自己改了例子结构后,材料拟合曲线的值和例子中材料曲线拟合的大小不一样,这是什么原因?该怎么修改?谢谢老师!!


这个正常,由于有效折射率经变化了0.05,你可以不用拟合。如果要拟合的话,可以减小fit Tolerance,我估计 RMS Error比 0.1还小所以软件就不拟合了。其它参数的改变参见这个帖子

1 Like