MODE Solutions 初学者:关于varFDTD的工作原理问题


#1

根据建议,这个帖子作为varFDTD初学者的问题。

varFDTD里面有两个相关的设置,一个是Effective index里面的 polarization,另一个是模式光源里面的模式。这两个模式有什么联系?其工作原理应该如何理解?为什么有时间在光源里选Fundamental Mode反而不正确呢?


初学者常见问题帖子集锦
FDE solver中的1D mode solver是什么意思?
MODE solutions使用EME solver运行仿真提示 仿真区域不能保存
关于Auto shut off min &auto shut of max
#2

这个帖子将根据大家的反馈作进一步改进。

MODE Solutions 是一款设计、分析、优化波导结构的优秀工具,它含有三个不同的计算引擎,即Solver。每个Solver都有一个专门的中文视频,请到官网中文视频网页察看(共4个视频,第一个是简介,英语,其余是中文)。
优酷网视频
Lumerical官方Webinar:MODE Solutions简介与初级教程
[MODE Solutions varFDTD操作实例演示]
(http://v.youku.com/v_show/id_XMTU0MjQ5MDEwNA==.html?from=y1.2-1-87.3.4-1.1-1-1-3-0)

varFDTD主要用来仿真平面波导类器件,其工作原理参见这里。为了方便大家,我将数学原理贴到这里


Note that in both cases, the generated effective materials are also dispersive, where the dispersion comes both from the original material properties (material dispersion) and the slab waveguide geometry (waveguide dispersion). These new materials are then fitted using Lumerical Solutions’ multi-coefficient model into a time-domain form that can be used in the 2D FDTD simulation in step 3. Note that the effective index treatment may lead to generated materials that have properties that are unphysical (for example, having an artificial negative imaginary index). In this case, one has the option of restricting the range of generated indices to the min/max values defined by the physical material properties of the original materials. All of these settings can be found under the Effective index tab of the varFDTD simulation region.
其中的Beta/K就是Slab(Z方向的波导芯,即绿色点)的有效折射率,这些公式是计算非波导芯地方的有效折射率!

这种方法是为了快速仿真此类结构,因为相对3DFDTD,其速度可能快几十到上百倍

这种方法实际上就是等效折射率方法的一种。基本原理是,按照某种方法将仿真区Z方向各点处的等效折射率计算出来,然后用这个等效折射率的分布做二维仿真(XY平面)。

Lumerical 给出了两种方法,一种是变分法(Variational),另一种是互易法(Reciprocity based)。软件首先计算Z方向一维波导(z slab)的模式,然后利用其模式计算任意一点的等效折射率(参见这里)。此时就将3D器件等效为2D,然后再用2D FDTD 仿真。

**如何使用?**有两个相关的设置:
1:varFDTD里的Effective index,选择polarization,就是用实际材料的折射率计算Z方向一维波导(z slab)的模式,选择合适的模式后,光源的偏振就已经定了。因此,那个绿色的点(线)必须位于波导芯里;软件提供了5个缺省的监测点可查看不同位置的等效折射率。其中一个点在波导芯里,计算的结果就是其有效折射率neff。 其它位置用户可以调整,并且可以在Material explorer 里面查看。根据是窄谱段还是宽谱段(见后),可看到恒定的或者色散的等效折射率。对于后者,如果拟合不好的话,可以调整拟合特性。

2:获得2D的等效折射率后,添加模式光源。一般建议用缺省的设置,系统会自动找合适的模式。用户自选有时可能出错,见后。这个模式是用等效折射率计算的,不是材料折射率。

两种算法如何选择?
一般建议选其中一种,例如variational。 如果愿意,也可以是用另一种方法。一般来说,这两种算法相对于3DFDTD的精度相当,一个正,另一个可能是负误差。

到底选用窄谱段还是宽谱段?
不管是哪种算法,simulation bandwidth 里面有narrowband 和 broadband两种选择。如果仿真的光谱范围相对较宽,建议用broadband。

如何界定宽窄呢?可以查看仿真谱段两侧的波长,看看它们的模式特性变化是否可以接受?因为等效折射率是用中心频率对应的模式计算的,如果两侧的模式与中心频率的模式差别大,可以用宽光谱。如果要进一步界定这种误差,可以仿真这两个频率并与用中心频率模式计算的结果比较,如果精度可以接受就用窄光谱,否则用宽光谱。

用户自选时为何会选到错误的模式?
根据前面描述,本方法将2D波导等效为两个1D波导。在压缩为2D后,波导成为1D(波导沿x或者y),它可能支持2D波导中没有的模式。要防止出错,用户可以在Polarizaiton那里查看所选ZSlab模式的主分量,是Ey还是Ez(假设波导沿x)。然后在光源里也选相应的主分量。

那些器件适合用此方法仿真?
一般的平面型波导器件,可以参见这个白皮书
原则上说,即使Z方向的结构不是相同的厚度,例如在Z方向波导芯的厚度有微小变化(如Taper,或者一些光栅等)也是可以的,软件允许用户监测不同高度的等效折射率。例如,这篇文献: Manfred Hammer and Olena V. Ivanova, MESA Institute for Nanotechnology, University of Twente, Enschede, The Netherlands
"Effective index approximation of photonic crystal slabs: a 2-to-1-D assessment", Optical and Quantum Electronics ,Volume 41, Number 4, 267-283, DOI: 10.1007/s11082-009-9349-3
以及这篇文章 On effective index approximations of photonic crystal slabs

用此方法对深度刻蚀的光栅作仿真结果非常好。

那些器件不适合用此方法仿真?
如果在传播过程中,偏振有变化,或者模式在Z方向有耦合,例如 Spot size converterPolarization converter则不合适,因为输入端和输出端的偏振特性发生了根本性改变,参见这个回复
同理,光栅耦合器也不适合。

其次,如果其它方法更合适,就没有必要用此方法,例如Polarization rotator 用EME更合适。

当然,光纤类器件一般不适合,参见这个回复

如果拿不准能否使用,可以与其它方法比较结果、或者联系我们。

入门教程
可以参看这个网页学习一些例子。

varFDTD是一种2.5维的FDTD算法,其它设置请参考FDTD Solutions初学者帖子。需要注意的是那个绿线必须位于波导芯里面,具体位置可以任意。


FDTD和MODEVarFDTD区别
#3

您好:
我想问一下:
仿真一个微环+直波导结构:
slab mode应该放在哪个位置,直波导上还是环上?我看到例子中大都放在了环上
假如我的直波导和微环在z向结构不同怎么办?比如微环中插入了一层其他介质而直波导中没有?
test poin是用来做什么的,是越多越好?还是结构中有几种材料就分别在各个材料的位置放置test point?例子中都是放在了环的圆心,对称放置4个,不太明白
谢谢您,期待您的回复


#4

slab mode应该放在哪个位置?
只要它们的Z方向结构相同,放哪里都可以;

假如我的直波导和微环在z向结构不同怎么办?
在传播过程中偏振不变的情况下,如果这两个结构都支持相同的偏振模式,我个人建议,你可以先选模式光源所在的结构作为参考(绿线)来仿真。可能的话,用3DFDTD验证。因为没办法在微环上激发光源,只能由这一种选择。相反,如果两侧直波导结构不同,则可以分别测试。

test poin是用来做什么的?
用来查验所在地方的等效折射率结果。 如果是宽光谱可以拟合。

应该如何选这些test point**?**
只需要在Z方向与参考点结构不同的结构上放参考点就足够了。像你说的这种情况,只需要一个参考点(绿线)、含特殊介质微环上一个点、以及衬底上一个点就足够了。相同结构放test point结果是重复的。

例子中都是放在了环的圆心,对称放置4个,不太明白
这个是任意放的,实际上仅需要一个test point在非波导芯的任意地方都可以。
缺省是4个test point,文件没有修改,也没有必要。

需要说明的是,用户可以修改这些点的位置,如果需要还可以增加,最多100个点。


#5

您好:
请问一下:
用varFDTD计算一段弯曲波导沿x方向的传输,能看到输出端整个截面的光场吗?我用的profile发现只能看到z等于某一个位置的光场。能求出输出端电场沿y和z两个方向的分布吗?
谢谢您,期待您的回复。


#7

varFDTD是2D仿真,只能查看XY平面的长分布,不能求出输出端电场沿y和z两个方向的分布。这是因为z方向的分布已经事先确定了。
参见这个帖子
如果要y和z两个方向的分布,需要用EME或者3DFDTD。


#8

请问孙博士,varFDTD可以仿真脊型波导吗?因为脊波导在z方向上相当于是两层结构,我用varfdtd尝试仿真但都没有较好的结果。


#9

原则上也可以,只要模式在实际传播过程中垂直方向没有耦合效应就可以。
具体如何,可以与3D结果比较,如果接近就可以,因为varFDTD仿真效率高几十到百倍。


#10

请问varFDTD设置test points坐标的脚本语言是什么?另外有没有script language reference之类的文档可供参考。


#11

你可以将这些点的XY坐标设置为矩阵容纳后用脚本设置,例如
a1=[2e-6,3e-6;-1e-6,2e-6];
setnamed(“varFDTD”,“test points”,a1);
设置为两个监测点。
脚本请参见KB


#12