光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
>]C;sP •使用VB脚本生成光栅(或周期性)布局。
vc^PXjX •光栅布局
模拟和后处理分析
&\!-d%||) 布局layout
]V.9jlXF 我们将模拟如图1所示的二维光栅布局。
;;l( 图1.二维光栅布局
a[9;Okm# (7Y :3 用VB脚本定义一个2D光栅布局
(T'inNbJe 5bZ`YO 步骤:
&Lq @af# 1 通过在
文件菜单中选择“New”,启动一个新项目。
\ 0<e#0-V 2 在“Wafer Properties”对话框中设置以下
参数 :Q\h'$C Wafer Dimensions:
wJ IJPYTK Length (mm): 8.5
P?]q*KViM Width (mm): 3.0
}$AC0 UK&E#i 2D wafer properties:
z$;%SYI Wafer refractive index: Air
?>lmLz!e 3 点击 Profiles 与 Materials.
{'r(P& "#e2"=3* 在“Materials”中加入以下
材料:
`5GJ,*{z Name: N=1.5
xZ9y*Gv\= Refractive index (Re:): 1.5
JanLJe) +[~\\X Name: N=3.14
vO4
&ZQ>6 Refractive index (Re:): 3.14
cMK6 ;iS}<TA 4.在“Profile”中定义以下轮廓:
Aoa0czC~ Name: ChannelPro_n=3.14
#axRg=d?K 2D profile definition, Material: n=3.14
Saz+GQ G nMVThN*Ig Name: ChannelPro_n=1.5
p}(w"?2 2D profile definition, Material: n=1.5
UI;!_C_ VK`b'U&l" 6.画出以下波导结构:
Kh% x a. Linear waveguide 1
P<2yCovn` Label: linear1
k5}i^^. Start Horizontal offset: 0.0
qRB%G<H Start vertical offset: -0.75
NPS=?5p> End Horizontal offset: 8.5
(<%i8xu2 End vertical offset: -0.75
4&t6 Channel Thickness Tapering: Use Default
R^8Opf_UN Width: 1.5
Bpk%,*$*) Depth: 0.0
2d1'!B
zDA Profile: ChannelPro_n=1.5
}^LcKV 88G[XkL$2 b. Linear waveguide 2
UdLC] Label: linear2
E,C<ox4e Start Horizontal offset: 0.5
cUy6/x9& Start vertical offset: 0.05
-,5g cD End Horizontal offset: 1.0
D=dY4WwG End vertical offset: 0.05
}3?M0 : Channel Thickness Tapering: Use Default
Ir}&|"~H Width: 0.1
(Yw5X_|
Depth: 0.0
z,]fR Profile: ChannelPro_n=3.14
8Q6il- ;W+.]_$6)T 7.加入水平平面波:
]pB~&0jg Continuous Wave Wavelength: 0.63 General:
z*9/ "M Input field Transverse: Rectangular
X.272q<. X Position: 0.5
/H3,v8J@ Direction: Negative Direction
7rhpIP2n Label: InputPlane1
~i
&K, 2D Transverse:
.R-:vU880 Center Position: 4.5
;G},xDGO_m Half width: 5.0
0kCUz Titlitng Angle: 45
@cjhri|vH Effective Refractive Index: Local Amplitude: 1.0
0p[$8SCJ 图2.波导结构(未设置周期)
s;5PHweWf 8^4X/n 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
wT.V3G 将Linear2代码段修改如下:
X=.+XP] Dim Linear2
}"cb^3 for m=1 to 8
@pG\5 Jnf Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
N?pD"re)6 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
gE$dz#t. Linear2.SetAttr "WidthExpr", "0.1"
B8TI 5mZ4 Linear2.SetAttr "Depth", "0"
BtqJkdK!;1 Linear2.SetAttr "StartThickness", "0.000000"
IGB>8$7 Linear2.SetAttr "EndThickness", "0.000000"
ipbVQ7 Linear2.SetProfileName "ChannelPro_n=3.14"
%b!p{p Linear2.SetDefaultThicknessTaperMode True
A: @=?(lI3 2nEj
X\BY 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
:'rXu6c- 图3.光栅布局通过VB脚本生成
Ok* :;G@ c/x(v=LW 设置仿真参数
M_XZOlW5 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
}_gq vgI>p 2. 在仿真参数对话框中,设置以下参数:
b(XhwkGVq TE simulation
atN`w=6A` Mesh Delta X: 0.015
>w*"LZjTTK Mesh Delta Z: 0.015
M>vM@j Time Step Size: Auto Run for 1000 Time steps
eg,S(;VEt 设置边界条件设置X和Z边为各向异性PML边界条件。
_5X}&>>lhF Number of Anisotropic PML layers: 15
\|T0@V 其它参数保持默认
{)%B?75~ 运行仿真
N.isvDk% • 在仿真参数中点击Run按钮,启动仿真
>?tcL * • 在分析仪中,可以观察到各场分量的时域响应
| z('yy$ • 仿真完成后,点击“Yes”,启动分析仪。
~w$8*2D 4wBCs0NIm 远场分析
衍射波
UPgZj\t%{ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
-m+2l`DLy 2. 选择“Definition of the Cross Cut”为z方向
o0<T|zgF5, 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
+HfjnEbtBs 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
\Xkx`C 图4.远场计算对话框
I|`K;a
6dinC <[} 5. 在远场对话框,设置以下参数:
VK NCK Wavelength: 0.63
.z{7
rH Refractive index: 1.5+0i
8XY4 Angle Initial: -90.0
|]I?^:I Angle Final: 90.0
*v8 ]99N Number of Steps: 721
"?N`9J|j)~ Distance: 100, 000*wavelength
w1GCjD*y Intensity
jn+0g:l WUHx0I 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
P, Vq/Tt 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
@E==~ b 图5.“Opti 2D Viewer”中的远场模式