光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
\;3B?8wbIl •使用VB脚本生成光栅(或周期性)布局。
3i@ "D •光栅布局
模拟和后处理分析
<3i4NXnL2 布局layout
&=+cov(3 我们将模拟如图1所示的二维光栅布局。
>!HfH(is\ 图1.二维光栅布局
hQd@bN8 QN{}R;s 用VB脚本定义一个2D光栅布局
aTL8l.c2 h"RP>fZt 步骤:
.IW_DM- 1 通过在
文件菜单中选择“New”,启动一个新项目。
l|R<F;| 2 在“Wafer Properties”对话框中设置以下
参数 = )JVT$]w Wafer Dimensions:
s2(w#n) Length (mm): 8.5
I,C AFq Width (mm): 3.0
I =tyQ` %
K9;
qJ5 2D wafer properties:
73^T* Wafer refractive index: Air
m>Yo9/XpZ 3 点击 Profiles 与 Materials.
=sUl`L+w,L ';;p8bv+ 在“Materials”中加入以下
材料:
LK
Name: N=1.5
d'Ik@D]I Refractive index (Re:): 1.5
2yEO=SN,( QoT3;<r} Name: N=3.14
`wn<3# Refractive index (Re:): 3.14
A}t&- bo~{<UT 4.在“Profile”中定义以下轮廓:
CN8@c!mB
Name: ChannelPro_n=3.14
*MnG-\{j 2D profile definition, Material: n=3.14
]RJb; (T%F!2i([U Name: ChannelPro_n=1.5
%ojR?=ON 2D profile definition, Material: n=1.5
|5<&r]xN O$<%z[ 6.画出以下波导结构:
[G'!`^V, a. Linear waveguide 1
6`s%%v Label: linear1
/IrR,bvA Start Horizontal offset: 0.0
U'Ja\Ek/f Start vertical offset: -0.75
{LB
}v;?l End Horizontal offset: 8.5
HP4'8#3o End vertical offset: -0.75
3gV&`>@ Channel Thickness Tapering: Use Default
z
1#0 Width: 1.5
r:WgjjA% Depth: 0.0
IQk# Profile: ChannelPro_n=1.5
U&]p!DV&; quCWc2pXX b. Linear waveguide 2
UpszCY4 Label: linear2
9znx1AsN Start Horizontal offset: 0.5
JK:mQ_ Start vertical offset: 0.05
53,,%Ue End Horizontal offset: 1.0
4I:JaRT
d End vertical offset: 0.05
~J. Fl[ Channel Thickness Tapering: Use Default
syC"eH3{ Width: 0.1
cyHak u+ Depth: 0.0
Ip7FD9
^ Profile: ChannelPro_n=3.14
VhH]n yi7D 3w<j:\i 7.加入水平平面波:
xvx\H' Continuous Wave Wavelength: 0.63 General:
^pQo `T6 Input field Transverse: Rectangular
\@}$Wjsl X Position: 0.5
CyK$XDHa Direction: Negative Direction
XoxR5arj Label: InputPlane1
CSX$Pk* 2D Transverse:
\9|] Center Position: 4.5
[b
k&Nd[
Half width: 5.0
49J+&G?)j Titlitng Angle: 45
}N#>q.M Effective Refractive Index: Local Amplitude: 1.0
OJ_2z|f< 图2.波导结构(未设置周期)
CI~;B {Y*]Qc 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
@DQ"vFj6< 将Linear2代码段修改如下:
l5y#i7 q Dim Linear2
-o!,,XYj . for m=1 to 8
n;k97>m${x Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
"<. Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
I>8 @=V~ Linear2.SetAttr "WidthExpr", "0.1"
\'LC C- Linear2.SetAttr "Depth", "0"
i!d7,>l+Q~ Linear2.SetAttr "StartThickness", "0.000000"
iQ]c
k- Linear2.SetAttr "EndThickness", "0.000000"
SAll9W4 Linear2.SetProfileName "ChannelPro_n=3.14"
X+gz+V/ Linear2.SetDefaultThicknessTaperMode True
o4[2`mT s[B6%DI/5 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
zIQc#F6\5 图3.光栅布局通过VB脚本生成
mN'9|`>V> Kf?{GNE7 设置仿真参数
6pn@`UK 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
UQf>5g 2. 在仿真参数对话框中,设置以下参数:
DN8pJa TE simulation
V\M!]Nnxr Mesh Delta X: 0.015
V+a%,sI Mesh Delta Z: 0.015
)p^jsv. Time Step Size: Auto Run for 1000 Time steps
CU>K 设置边界条件设置X和Z边为各向异性PML边界条件。
HlL@{< Number of Anisotropic PML layers: 15
dzv,)X 其它参数保持默认
BL5 运行仿真
-R$FJbId • 在仿真参数中点击Run按钮,启动仿真
q' V{vFfY% • 在分析仪中,可以观察到各场分量的时域响应
9c;lTl^4; • 仿真完成后,点击“Yes”,启动分析仪。
g1*H|nh2 o27`g\gDR, 远场分析
衍射波
1707 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
9MzkG87J 2. 选择“Definition of the Cross Cut”为z方向
CG>2,pP, 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
'lRHdD}s 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
^R'!\m|FR 图4.远场计算对话框
+e]b,9.sR .sR&9FH 5. 在远场对话框,设置以下参数:
:*Ggz| Wavelength: 0.63
OI}HvgV^! Refractive index: 1.5+0i
:kx#];2i Angle Initial: -90.0
P[P72WR Angle Final: 90.0
H6JMN1#t$ Number of Steps: 721
-Lf6]5$2' Distance: 100, 000*wavelength
Sd{"A0[A| Intensity
gcCYXPZp ^%X\ }>< 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
VaIP 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Q
fyERa\rb 图5.“Opti 2D Viewer”中的远场模式