光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
YZOwr72VL •使用VB脚本生成光栅(或周期性)布局。
nXfz@q •光栅布局
模拟和后处理分析
Brs} 布局layout
$,r%@'= & 我们将模拟如图1所示的二维光栅布局。
("}Hs[ 图1.二维光栅布局
/o6ido ":/Vp,g 用VB脚本定义一个2D光栅布局
a(O@E%|u U,yZ.1V^: 步骤:
CpX[8>&osD 1 通过在
文件菜单中选择“New”,启动一个新项目。
U)-aecB! 2 在“Wafer Properties”对话框中设置以下
参数 # Dgkl Wafer Dimensions:
B[8RBTsA Length (mm): 8.5
G='`*_$ Width (mm): 3.0
1z2v[S&pk V#b*:E.cA 2D wafer properties:
>#mKM%T2MJ Wafer refractive index: Air
T$r/XAs 3 点击 Profiles 与 Materials.
xZ2 1iQeN N@k'
s 在“Materials”中加入以下
材料:
j+AZ!$E Name: N=1.5
yCkWuU9 Refractive index (Re:): 1.5
\J?&XaO= q\!"FDOl4 Name: N=3.14
Dqwd=$2% Refractive index (Re:): 3.14
]!P6Z? 5M)B 4.在“Profile”中定义以下轮廓:
^_G#JJ\@$ Name: ChannelPro_n=3.14
~v/`
`s 2D profile definition, Material: n=3.14
qx >Z@o CP"5E?dcK Name: ChannelPro_n=1.5
MxGQM> 2D profile definition, Material: n=1.5
zN+jn >yVrIko 6.画出以下波导结构:
x?0(K=h, a. Linear waveguide 1
u\xrC\Ka Label: linear1
{#z47Rz Start Horizontal offset: 0.0
t*BCpC} Start vertical offset: -0.75
UDcr5u eKn End Horizontal offset: 8.5
:nnch?J_ End vertical offset: -0.75
=r`E%P: Channel Thickness Tapering: Use Default
q(s0dkrj Width: 1.5
w\Q(wH' Depth: 0.0
Q(1R=4?.Z Profile: ChannelPro_n=1.5
F!C<^q~! 066\zAPdH b. Linear waveguide 2
9
s2z=^ Label: linear2
~k
6V?z} Start Horizontal offset: 0.5
}L{GwiDMDl Start vertical offset: 0.05
1#>uqUxah End Horizontal offset: 1.0
#gf0*:p End vertical offset: 0.05
(l2n%LL]* Channel Thickness Tapering: Use Default
+\PLUOk Width: 0.1
ep48 r> Depth: 0.0
_Eq,udCso Profile: ChannelPro_n=3.14
t?weD{O 8193d%Wb 7.加入水平平面波:
i}<fg*6@E Continuous Wave Wavelength: 0.63 General:
4uE/!dT Input field Transverse: Rectangular
eeBw\f0 X Position: 0.5
Lq@uwiq! Direction: Negative Direction
` -f\6r|:) Label: InputPlane1
wz:,gpH 2D Transverse:
!14v Ovj4{ Center Position: 4.5
l0',B*og Half width: 5.0
@2$Uk! Titlitng Angle: 45
a[!:`o1U Effective Refractive Index: Local Amplitude: 1.0
J<cY'?D 图2.波导结构(未设置周期)
}b<w \9AF 8jky-r 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
YB{'L +Wbw 将Linear2代码段修改如下:
r0'a-Mk; Dim Linear2
gI Gi7x for m=1 to 8
Z y6kA\q Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
w);Bet Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
[NGq$5 Linear2.SetAttr "WidthExpr", "0.1"
R\6dvd Linear2.SetAttr "Depth", "0"
C6tfFS3bq Linear2.SetAttr "StartThickness", "0.000000"
A4L.bBl Linear2.SetAttr "EndThickness", "0.000000"
\/Zo*/ Linear2.SetProfileName "ChannelPro_n=3.14"
-3y
$j+ Linear2.SetDefaultThicknessTaperMode True
'J0Ea\,if0 shY8h
点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
mI;\ UOh' 图3.光栅布局通过VB脚本生成
Ci3
b(KR E.x<J.[Y 设置仿真参数
QT"o"B 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
V-dub{K 2. 在仿真参数对话框中,设置以下参数:
1l}fX}5%I; TE simulation
^NxKA'oWQ Mesh Delta X: 0.015
0SZ:C(] Mesh Delta Z: 0.015
CSFE[F63 Time Step Size: Auto Run for 1000 Time steps
\tU[,3
设置边界条件设置X和Z边为各向异性PML边界条件。
"@xL9[d Number of Anisotropic PML layers: 15
9.Sv"=5gz 其它参数保持默认
yW}x 运行仿真
>+[{m<Eq • 在仿真参数中点击Run按钮,启动仿真
Nqj5, 9*c • 在分析仪中,可以观察到各场分量的时域响应
|5BvVqn • 仿真完成后,点击“Yes”,启动分析仪。
~\O,#j`_ c8o2* C$ 远场分析
衍射波
kxY9[#:<fB 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
-ozcK 2. 选择“Definition of the Cross Cut”为z方向
,YrPwdaTB 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
bg*@N 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
v@:m8Y(t 图4.远场计算对话框
m]VOw)mBF drB$q[Ak9 5. 在远场对话框,设置以下参数:
3`njQvI\ Wavelength: 0.63
XE:bYzH Refractive index: 1.5+0i
55Ye7P-d Angle Initial: -90.0
9@
^*\s Angle Final: 90.0
n*eqM2L Number of Steps: 721
%cq8%RT Distance: 100, 000*wavelength
1z8fhE iiE Intensity
`S]DHxS 6?l|MU"Q. 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
}pT>dbZ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
_&$nJu 图5.“Opti 2D Viewer”中的远场模式