光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
"e-Y?_S7R8 •使用VB脚本生成光栅(或周期性)布局。
eX"%b(;s •光栅布局
模拟和后处理分析
q?LOtN? o 布局layout
bhUE!h< 我们将模拟如图1所示的二维光栅布局。
r%;|gIky 图1.二维光栅布局
Y^]n>X YIk@{V 用VB脚本定义一个2D光栅布局
P.YT/ "[
S[vkI 步骤:
I;@q`Tm 1 通过在
文件菜单中选择“New”,启动一个新项目。
zYaFbNi 2 在“Wafer Properties”对话框中设置以下
参数 !mK()# 6 Wafer Dimensions:
{mU%.5 Length (mm): 8.5
W7!Rf7TK Width (mm): 3.0
Py*WHHO eztK`_n 2D wafer properties:
Kii@Z5R_? Wafer refractive index: Air
)L&y@dy) 3 点击 Profiles 与 Materials.
L!JC)p. `RY}g; 在“Materials”中加入以下
材料:
76T7<.S Name: N=1.5
]ttF''lH Refractive index (Re:): 1.5
#bt z94/~O o+x%q<e;c Name: N=3.14
Vn_&q6Pa Refractive index (Re:): 3.14
-+){ ;, uV gA <*0 4.在“Profile”中定义以下轮廓:
\L>XF'o Name: ChannelPro_n=3.14
CY?J$sN 2D profile definition, Material: n=3.14
S(3h{Y"# ubB1a_7 Name: ChannelPro_n=1.5
k:n{AoUc
2D profile definition, Material: n=1.5
i?B<&'G 1R_@C.I 6.画出以下波导结构:
i3XtrP"" a. Linear waveguide 1
Dh^l:q+c Label: linear1
#c:@oe4v Start Horizontal offset: 0.0
Y1lUO[F j Start vertical offset: -0.75
8@vq.z} End Horizontal offset: 8.5
3q4VH q End vertical offset: -0.75
$l)RMP} Channel Thickness Tapering: Use Default
to13&#o Width: 1.5
:[l}Bb, Depth: 0.0
<]?71{7X Profile: ChannelPro_n=1.5
SkV pZh ~V(>L=\V; b. Linear waveguide 2
hg12NzbK Label: linear2
]|F`;} 7 Start Horizontal offset: 0.5
mqeW,89 Start vertical offset: 0.05
'[6]W)f End Horizontal offset: 1.0
%o9mG<.T End vertical offset: 0.05
e }O&_j- Channel Thickness Tapering: Use Default
YQ+8lANC Width: 0.1
HpbwW=;V Depth: 0.0
X,@nD@ Profile: ChannelPro_n=3.14
At>e4t2@ &5jc
&CS 7.加入水平平面波:
#}.{|'L Continuous Wave Wavelength: 0.63 General:
.\H-?6R^ Input field Transverse: Rectangular
8r}tf3xMCM X Position: 0.5
&pl)E$Y Direction: Negative Direction
]l }v Label: InputPlane1
bZSt<cH3 2D Transverse:
>l}v
_k*~B Center Position: 4.5
{B=64,D^7R Half width: 5.0
oTk\r$4eb Titlitng Angle: 45
FXk*zXn6 Effective Refractive Index: Local Amplitude: 1.0
}#Up:o]A! 图2.波导结构(未设置周期)
E5gt_,j> B$c'^
) 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
4Tuh]5 将Linear2代码段修改如下:
D0\*WK$ Dim Linear2
tZ) ,Z< for m=1 to 8
k=t{o Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
QBmARQ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
c&#Q`m Linear2.SetAttr "WidthExpr", "0.1"
hRKJKQ@7 Linear2.SetAttr "Depth", "0"
W;Dik%^tg Linear2.SetAttr "StartThickness", "0.000000"
`$4wm0G| Linear2.SetAttr "EndThickness", "0.000000"
5 3+C;]J Linear2.SetProfileName "ChannelPro_n=3.14"
XwIHIG} Linear2.SetDefaultThicknessTaperMode True
b7'A5]X @0:Eg 1- 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
EP4?+"Z 图3.光栅布局通过VB脚本生成
\Ogs]4 1Xcj=I-4 设置仿真参数
c ~M'O26bW 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
V
7 p{'C 2. 在仿真参数对话框中,设置以下参数:
*` - TE simulation
(eT9N_W Mesh Delta X: 0.015
}q_Iep Mesh Delta Z: 0.015
heES
[ Time Step Size: Auto Run for 1000 Time steps
,~=+]9t 设置边界条件设置X和Z边为各向异性PML边界条件。
9;gy38.3 Number of Anisotropic PML layers: 15
\Pfm>$Ib= 其它参数保持默认
Ayw {I#" 运行仿真
K_j*9@ • 在仿真参数中点击Run按钮,启动仿真
W)2k>cS • 在分析仪中,可以观察到各场分量的时域响应
laCVj6Rk • 仿真完成后,点击“Yes”,启动分析仪。
?MRT ?S)Pv53>} 远场分析
衍射波
n Fwg pT 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
w$qdV,s 7 2. 选择“Definition of the Cross Cut”为z方向
Fyz1LOH[X 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
HlxgJw~< 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
7
A{R0@ 图4.远场计算对话框
Rs]Y/9F;{ NmNj0& 5. 在远场对话框,设置以下参数:
F6{Q1DqI Wavelength: 0.63
O2Y1D`&5 Refractive index: 1.5+0i
lR
ZuXo9< Angle Initial: -90.0
skLr6Cs| Angle Final: 90.0
KWVl7Kw#e Number of Steps: 721
<7%#RJw e Distance: 100, 000*wavelength
FYaBP;@J% Intensity
6
#jpA.; 3 lKBwjW 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
|@D%y& 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
7?Twhs.O 图5.“Opti 2D Viewer”中的远场模式