光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
ia'z9 •使用VB脚本生成光栅(或周期性)布局。
`?Q
p>t •光栅布局
模拟和后处理分析
Pt"H_SW~k 布局layout
oVy{~D= 我们将模拟如图1所示的二维光栅布局。
VGQ~~U7}@ 图1.二维光栅布局
"wOfs$w%s ElQ?|HsQ6p 用VB脚本定义一个2D光栅布局
2g{tzR_j nU_O|l9 步骤:
Io.RT+slB 1 通过在
文件菜单中选择“New”,启动一个新项目。
}aRib{L 2 在“Wafer Properties”对话框中设置以下
参数 ;_(f(8BO
Wafer Dimensions:
EpAgKzVpJ Length (mm): 8.5
Vbl-Ff Width (mm): 3.0
=Hd yra PoF3fy%. 2D wafer properties:
7_i8'(`` Wafer refractive index: Air
\A[l(aB 3 点击 Profiles 与 Materials.
v3-'
GgM b4_0XmL 在“Materials”中加入以下
材料:
&+2l#3} Name: N=1.5
Zl5'%b$& Refractive index (Re:): 1.5
O6;"cUv G7CeWfS Name: N=3.14
XH!#_jy Refractive index (Re:): 3.14
p +i1sY &|>~7( 4.在“Profile”中定义以下轮廓:
W r/-{Wt Name: ChannelPro_n=3.14
s7Agr!>f 2D profile definition, Material: n=3.14
C.jWT1 sP(+Z^/ Name: ChannelPro_n=1.5
;>?h/tS6 2D profile definition, Material: n=1.5
o&q>[c !?>V^#c 6.画出以下波导结构:
6CBk=)qH a. Linear waveguide 1
gN=.}$Kfu Label: linear1
5Kg'&B ( Start Horizontal offset: 0.0
q?(]
Y* Start vertical offset: -0.75
lME>U_E End Horizontal offset: 8.5
q\6(_U#Tl End vertical offset: -0.75
>7>I1 Channel Thickness Tapering: Use Default
v=N?(6T Width: 1.5
*HKw;I
Depth: 0.0
=5+*TL` Profile: ChannelPro_n=1.5
yn62NyK 5BhR4+1J b. Linear waveguide 2
NHGTV$T`1 Label: linear2
L|'^P3#7` Start Horizontal offset: 0.5
P3_.U8g$r Start vertical offset: 0.05
[%P#ieD4 End Horizontal offset: 1.0
w"^h<]b End vertical offset: 0.05
^LMgOA(7 Channel Thickness Tapering: Use Default
cl~Yx4 Width: 0.1
e,U:H~+] Depth: 0.0
11=$]K> Profile: ChannelPro_n=3.14
q\Y4v Wg z]G|)16
7.加入水平平面波:
kU<t~+ Continuous Wave Wavelength: 0.63 General:
iEvQ4S6tD Input field Transverse: Rectangular
1-_r\sb X Position: 0.5
eM5?fE&!& Direction: Negative Direction
+<7Oj s>o Label: InputPlane1
V%s
g+D2 2D Transverse:
)%7P?^> Center Position: 4.5
x|6]+?l@6 Half width: 5.0
o<`hj&s Titlitng Angle: 45
3P
cVE\GN Effective Refractive Index: Local Amplitude: 1.0
8`q7Yss6F 图2.波导结构(未设置周期)
x;/LOa{LR Z3`EXs 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
@Wu-&Lb 将Linear2代码段修改如下:
A l U^,X Dim Linear2
&R94xh%@( for m=1 to 8
-pu5O9
@ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
kka5=u Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Gt`7i( Linear2.SetAttr "WidthExpr", "0.1"
"j^i6RS Linear2.SetAttr "Depth", "0"
L|=5jn9 : Linear2.SetAttr "StartThickness", "0.000000"
\|;\ Linear2.SetAttr "EndThickness", "0.000000"
+hxG!o?O Linear2.SetProfileName "ChannelPro_n=3.14"
Wq1>Bj$J8 Linear2.SetDefaultThicknessTaperMode True
EApKN@<" gYKz,$ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
d ]P~ 图3.光栅布局通过VB脚本生成
TQa}Ps PVCoXOqh 设置仿真参数
~6 6xO9s 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
4<efj 2. 在仿真参数对话框中,设置以下参数:
)kD/ 8 TE simulation
#z `W ,^C Mesh Delta X: 0.015
COrk (V Mesh Delta Z: 0.015
~3&{`9Y Time Step Size: Auto Run for 1000 Time steps
:KLXrr 设置边界条件设置X和Z边为各向异性PML边界条件。
}#XFa# Number of Anisotropic PML layers: 15
GtA`0B 其它参数保持默认
U ZM #O 运行仿真
Fhoyji4 • 在仿真参数中点击Run按钮,启动仿真
8t-GsjHb • 在分析仪中,可以观察到各场分量的时域响应
oaoTd$/5 • 仿真完成后,点击“Yes”,启动分析仪。
;a:H-iC J!I)G&: 远场分析
衍射波
k:@DK9
"^ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
^Co-!jM 2. 选择“Definition of the Cross Cut”为z方向
-3 I3 X 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
o5 L ^ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
W'lqNOX[v 图4.远场计算对话框
IrLGAQ0 d$dy6{/YD 5. 在远场对话框,设置以下参数:
j)A#}4jd Wavelength: 0.63
ep0,4!#FAO Refractive index: 1.5+0i
:GHv3hn5 Angle Initial: -90.0
zG!nqSDG Angle Final: 90.0
}U_
'7_JT Number of Steps: 721
"t@p9> Distance: 100, 000*wavelength
c'2d+*[ Intensity
K2 <xOv8IQ| 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
).k DY?s 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
{T){!UVp! 图5.“Opti 2D Viewer”中的远场模式