光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
"#k(V=y •使用VB脚本生成光栅(或周期性)布局。
i@^`~vj •光栅布局
模拟和后处理分析
eRy'N|' 布局layout
CgKSK0/a 我们将模拟如图1所示的二维光栅布局。
cRr `r[t 图1.二维光栅布局
Q<ExfJm ;Hr@0f 用VB脚本定义一个2D光栅布局
4H=sD
t UnF4RF:A2& 步骤:
CPeK0(7Zh 1 通过在
文件菜单中选择“New”,启动一个新项目。
H
7F~+Q-} 2 在“Wafer Properties”对话框中设置以下
参数 3}1+"? s Wafer Dimensions:
FEmlC,% Length (mm): 8.5
ZxPAu% Y Width (mm): 3.0
Qu\l$/ 1O7ss_E 2D wafer properties:
kj=2+)!E7 Wafer refractive index: Air
Du4#\OK 3 点击 Profiles 与 Materials.
h1o+7 es FL<T 在“Materials”中加入以下
材料:
=F[,-B~ Name: N=1.5
2`U&,,-Mf Refractive index (Re:): 1.5
eSBf;lr= =e/4Gs0* Name: N=3.14
^v5hr>m Refractive index (Re:): 3.14
)9Ojvp=#r:
DkKD~ 4.在“Profile”中定义以下轮廓:
}jgAV Name: ChannelPro_n=3.14
GnaVI 2D profile definition, Material: n=3.14
G.e\#_RR? vkgL"([_ Name: ChannelPro_n=1.5
Z[bC@y[Wb 2D profile definition, Material: n=1.5
S
IK{GWX 'oL[rO~j 6.画出以下波导结构:
ahv=HWX k a. Linear waveguide 1
*{s[$}uQ Label: linear1
6l7a9IJ Start Horizontal offset: 0.0
YDD]n*& Start vertical offset: -0.75
HbDB?s< End Horizontal offset: 8.5
yuX0Y{:I End vertical offset: -0.75
'Pu;]sC Channel Thickness Tapering: Use Default
MA6%g} o Width: 1.5
K(<P" g( Depth: 0.0
}TL"v|ny6; Profile: ChannelPro_n=1.5
bM3e7olWS dS=,. } b. Linear waveguide 2
Lpf=VyqC Label: linear2
F[Sat;Sll Start Horizontal offset: 0.5
rWqA)j*! Start vertical offset: 0.05
R7E"7"M10 End Horizontal offset: 1.0
%BLKB%5 End vertical offset: 0.05
QjU"|$ Channel Thickness Tapering: Use Default
>C3 9`1 Width: 0.1
N&.p\T&t Depth: 0.0
e90z(EF?0 Profile: ChannelPro_n=3.14
>E=a~ O [rsAY&. 7.加入水平平面波:
P[i/o# Continuous Wave Wavelength: 0.63 General:
{HnOUc\4 Input field Transverse: Rectangular
0eP~F2<bC X Position: 0.5
R"([Y#>m Direction: Negative Direction
sTyGi1 Label: InputPlane1
v4aGL<SO 2D Transverse:
]XyJ7esg Center Position: 4.5
R&xd
ic! Half width: 5.0
_4Pi> Titlitng Angle: 45
8:NHPHxB Effective Refractive Index: Local Amplitude: 1.0
S:QEHd_C 图2.波导结构(未设置周期)
+ETw:i9!? xRN$cZC 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
V485Yn!$( 将Linear2代码段修改如下:
S5TT Dim Linear2
h %S#+t(Bf for m=1 to 8
2Wtfx"
.y Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
Yl])Q|2I Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
$@;[K\ Linear2.SetAttr "WidthExpr", "0.1"
bxq`E!] Linear2.SetAttr "Depth", "0"
`^vD4qD| Linear2.SetAttr "StartThickness", "0.000000"
ZrS!R[ Linear2.SetAttr "EndThickness", "0.000000"
ERjf.7)d Linear2.SetProfileName "ChannelPro_n=3.14"
# 95/,k Linear2.SetDefaultThicknessTaperMode True
&KWh5S@w N0C5FSH 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
HfPeR8I%i 图3.光栅布局通过VB脚本生成
17d$gZ1O: I|H mbTXa 设置仿真参数
k$!&3Rh 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
qa0Zgn5 q 2. 在仿真参数对话框中,设置以下参数:
]3'd/v@fT TE simulation
\O~7X0 <W Mesh Delta X: 0.015
nE84W$\ Mesh Delta Z: 0.015
GkFNLM5' Time Step Size: Auto Run for 1000 Time steps
vcHDFi 设置边界条件设置X和Z边为各向异性PML边界条件。
'P#I<?vB Number of Anisotropic PML layers: 15
[f}1wZ* 其它参数保持默认
]\lw^.% 运行仿真
Nfh(2gK+ • 在仿真参数中点击Run按钮,启动仿真
9h8G2J
o • 在分析仪中,可以观察到各场分量的时域响应
XjbK!. • 仿真完成后,点击“Yes”,启动分析仪。
,e,{6Sg6gl !k63`(Ti 远场分析
衍射波
#Uu"olX7 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
ZlzFmNe60 2. 选择“Definition of the Cross Cut”为z方向
cS"6%:hQ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
[tN/}_] 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
FCPbp!q6 图4.远场计算对话框
-j,o:ng0 M> < 5. 在远场对话框,设置以下参数:
-=w.tJD Wavelength: 0.63
X1"nq]chGy Refractive index: 1.5+0i
(
9l|^w[" Angle Initial: -90.0
8ZDq
KQ1; Angle Final: 90.0
u[DV{o Number of Steps: 721
-E1}mL}I` Distance: 100, 000*wavelength
&AVi4zV Intensity
B|&< g d -fJ._1 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
ITV}f# 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
"x11 YM{F 图5.“Opti 2D Viewer”中的远场模式