光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
@!#e\tx •使用VB脚本生成光栅(或周期性)布局。
afEa@et' •光栅布局
模拟和后处理分析
~?Q sr 布局layout
Z4j6z>q E 我们将模拟如图1所示的二维光栅布局。
,S8 K! 图1.二维光栅布局
a:h<M^n049 |p11Jt[ 用VB脚本定义一个2D光栅布局
/U~|B.z@6 %BqaVOKJ"f 步骤:
qLN^9PdEE 1 通过在
文件菜单中选择“New”,启动一个新项目。
'$K E=Jy 2 在“Wafer Properties”对话框中设置以下
参数 kmI0V[Y Wafer Dimensions:
Sqo+cZ Length (mm): 8.5
}]?Si6_ZZ Width (mm): 3.0
O !L`0
=%c &NE e-cb[ 2D wafer properties:
p\6cpf Wafer refractive index: Air
d2
^}ooE 3 点击 Profiles 与 Materials.
RgE`H r 24mdhT| 在“Materials”中加入以下
材料:
Ykbg5Z Name: N=1.5
^URCnJ67Se Refractive index (Re:): 1.5
2ej7Ql_@c kIrrbD Name: N=3.14
g*|j+<:7 Refractive index (Re:): 3.14
5Wt){rG0Z f-=\qSo 4.在“Profile”中定义以下轮廓:
m7 =$*1k Name: ChannelPro_n=3.14
iTVe8eI 2D profile definition, Material: n=3.14
`&$8/_` qtGJJ#^, Name: ChannelPro_n=1.5
;SR ESW 2D profile definition, Material: n=1.5
y}Ky<%A!P <#63tN9 6.画出以下波导结构:
EP;/[O a. Linear waveguide 1
XZ
rI w Label: linear1
L"L3n,%F Start Horizontal offset: 0.0
N0U/u'J!g Start vertical offset: -0.75
l^B.iB End Horizontal offset: 8.5
z`y9<+ End vertical offset: -0.75
CUA @CZ6{ Channel Thickness Tapering: Use Default
+Q*`kg' Width: 1.5
15$xa_w}L
Depth: 0.0
T)C@6/ Profile: ChannelPro_n=1.5
.p`4>XA %B3~t> b. Linear waveguide 2
R;& >PFmq Label: linear2
H#-3 Start Horizontal offset: 0.5
KWwtL"3 Start vertical offset: 0.05
Hh<H~s [ End Horizontal offset: 1.0
r );R/)& End vertical offset: 0.05
t<%0eu| Channel Thickness Tapering: Use Default
uGKjZi Width: 0.1
(z?HyxRT Depth: 0.0
>%JPgr/
8 Profile: ChannelPro_n=3.14
&dtk&P{ |Td+,>, 7.加入水平平面波:
E$d3+`` Continuous Wave Wavelength: 0.63 General:
R{hX--|j Input field Transverse: Rectangular
L\yVE
J9x X Position: 0.5
`S&a.k Direction: Negative Direction
l/$GF|`U Label: InputPlane1
z*Sm5i&)_q 2D Transverse:
b^Hrzn Center Position: 4.5
[;E%o^/^ Half width: 5.0
vG&>-Z Titlitng Angle: 45
W<Uu.Y{sG Effective Refractive Index: Local Amplitude: 1.0
FR(W.5[ 图2.波导结构(未设置周期)
C2LPLquD+
BT_]=\zi 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
-F[8ZiZ 将Linear2代码段修改如下:
N&8TG Dim Linear2
KuNLu31% for m=1 to 8
r^9l/H~$ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
!`ol&QQ# Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
!\]^c Linear2.SetAttr "WidthExpr", "0.1"
WlL(NrVA@@ Linear2.SetAttr "Depth", "0"
`s}* Linear2.SetAttr "StartThickness", "0.000000"
NgNGq\! Linear2.SetAttr "EndThickness", "0.000000"
3f|}p{3 Linear2.SetProfileName "ChannelPro_n=3.14"
L
aTcBcI Linear2.SetDefaultThicknessTaperMode True
-luQbGcT3 ! VwU=5 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
+^I0>\ 图3.光栅布局通过VB脚本生成
;!yK~OBxt &|SWy
2N 设置仿真参数
!U`&a=k 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
0SpB2>_ 2. 在仿真参数对话框中,设置以下参数:
}A9#3Y|F TE simulation
jiI=tg; Mesh Delta X: 0.015
LS@TTiN
Mesh Delta Z: 0.015
` Xc7b Time Step Size: Auto Run for 1000 Time steps
:XKYfc_y 设置边界条件设置X和Z边为各向异性PML边界条件。
Z0|5VLk,<{ Number of Anisotropic PML layers: 15
,(jJOFf 其它参数保持默认
01bCP 运行仿真
~f QrH%@ • 在仿真参数中点击Run按钮,启动仿真
$CcjuPsK • 在分析仪中,可以观察到各场分量的时域响应
<,.$U\W • 仿真完成后,点击“Yes”,启动分析仪。
9t! d.} AbU`wr/h 4 远场分析
衍射波
Iil2R}1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
Xz]l#w4Pp 2. 选择“Definition of the Cross Cut”为z方向
Jcw^Z, 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
egmUUuO 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
W5jwD 图4.远场计算对话框
YMGy-]!o .j6udiv5 5. 在远场对话框,设置以下参数:
GT>'|~e Wavelength: 0.63
wG3L+[, Refractive index: 1.5+0i
UG1<Xfu| Angle Initial: -90.0
z*3b2nV Angle Final: 90.0
2w>%-_]u+ Number of Steps: 721
Khq\@`RaT Distance: 100, 000*wavelength
s|YH_1r Intensity
vrn4yHoZ SA,~q& 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
'2,~'Zk 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
/4{WT?j 图5.“Opti 2D Viewer”中的远场模式