光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
hGz_F/ •使用VB脚本生成光栅(或周期性)布局。
nMyl(kF[ •光栅布局
模拟和后处理分析
3T2]V? 布局layout
}xk(aM_ 我们将模拟如图1所示的二维光栅布局。
VLez<Id9( 图1.二维光栅布局
5G f@n/M" !ajBZ>Q 用VB脚本定义一个2D光栅布局
qSc-V`* |vI`u[P 步骤:
R c+olJ^5 1 通过在
文件菜单中选择“New”,启动一个新项目。
gw]%:
WeH 2 在“Wafer Properties”对话框中设置以下
参数 -fq Wafer Dimensions:
_B0(1(M<2 Length (mm): 8.5
K& #il Width (mm): 3.0
<&3P\aM> {]T?) !Vm 2D wafer properties:
6Wu*zY_+ Wafer refractive index: Air
JLoF!MK} 3 点击 Profiles 与 Materials.
<q'l7S 4dX{an]Cz 在“Materials”中加入以下
材料:
/;*_[g5*i Name: N=1.5
,CfslhO{j Refractive index (Re:): 1.5
k
QuEG5n.- =nhY;pY3u Name: N=3.14
<\^0!v Refractive index (Re:): 3.14
]M7FIDg ~3F'X 4.在“Profile”中定义以下轮廓:
yQK{ +w Name: ChannelPro_n=3.14
X-c|jn7 2D profile definition, Material: n=3.14
Ie.*x'b?y 4)S99|1 Name: ChannelPro_n=1.5
OETo?Wg1Z 2D profile definition, Material: n=1.5
EwC]%BZP .kT]^rv
; 6.画出以下波导结构:
6 c_#"4 a. Linear waveguide 1
K^u,B3 Label: linear1
K-0=#6?y4 Start Horizontal offset: 0.0
u 272)@R Start vertical offset: -0.75
!g@Ky$ End Horizontal offset: 8.5
7Sx|n}a-3 End vertical offset: -0.75
Jo5B mh0 Channel Thickness Tapering: Use Default
!5`MiH Width: 1.5
hd3 Depth: 0.0
v(1 [n]y Profile: ChannelPro_n=1.5
K*/oWYM] FK _ ZE> b. Linear waveguide 2
x4MmBVqp Label: linear2
}[AaI # Start Horizontal offset: 0.5
XF!L.' zH Start vertical offset: 0.05
|oY{TQ<<d End Horizontal offset: 1.0
,md_eGF End vertical offset: 0.05
,
>LJpv Channel Thickness Tapering: Use Default
K./qu^+k Width: 0.1
Qs&;MW4q Depth: 0.0
n1sYD6u<& Profile: ChannelPro_n=3.14
]auvtm-[ !oWB5x~:P 7.加入水平平面波:
=zkN63S Continuous Wave Wavelength: 0.63 General:
c1#0o)q*7 Input field Transverse: Rectangular
s L^+$Mq6 X Position: 0.5
EA"hie7 Direction: Negative Direction
Tagf7tw4 Label: InputPlane1
_@DOH2lXJ 2D Transverse:
scg&"s Center Position: 4.5
6TP
/0o) Half width: 5.0
-D`1z?zHra Titlitng Angle: 45
L@N%S Sf Effective Refractive Index: Local Amplitude: 1.0
&6eo;8
`U 图2.波导结构(未设置周期)
EF0v!XW `3;EJDEdbi 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
}Fe6L;^; 将Linear2代码段修改如下:
F%w!I 9 Dim Linear2
RkYdK$|K for m=1 to 8
6/UOzV,[ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
IMf|/a9- Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
CTIS}_CWd= Linear2.SetAttr "WidthExpr", "0.1"
aI=p_+.h Linear2.SetAttr "Depth", "0"
R(1:I@<?E Linear2.SetAttr "StartThickness", "0.000000"
c]6b|mHT Linear2.SetAttr "EndThickness", "0.000000"
^'`b\$km-0 Linear2.SetProfileName "ChannelPro_n=3.14"
Z)@vJZ*7( Linear2.SetDefaultThicknessTaperMode True
[D"6& I dK*IA4 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
nBy-/BU& 图3.光栅布局通过VB脚本生成
k2 }DBVu1 &*`dRIQ] 设置仿真参数
^ja]e%w# 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
V]H(;+^P 2. 在仿真参数对话框中,设置以下参数:
VGS%U8; TE simulation
c8uaZvfW Mesh Delta X: 0.015
*:%&z?<Fw Mesh Delta Z: 0.015
S\GWMB!oF Time Step Size: Auto Run for 1000 Time steps
m{IlRf' 设置边界条件设置X和Z边为各向异性PML边界条件。
\s=r[0tj! Number of Anisotropic PML layers: 15
odhcD;^X1 其它参数保持默认
=H{<}>W' 运行仿真
"n%j2"TYJj • 在仿真参数中点击Run按钮,启动仿真
q[s,q3n~ • 在分析仪中,可以观察到各场分量的时域响应
b}!
cEJY • 仿真完成后,点击“Yes”,启动分析仪。
,GSiSn K9N31' 远场分析
衍射波
0D5Z#iW>1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
VVJ0?G
(? 2. 选择“Definition of the Cross Cut”为z方向
lp`j3) 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
"laf:Ty1 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
%\JGDM*m 图4.远场计算对话框
6H|SiO9 |`T7}U 5. 在远场对话框,设置以下参数:
^/n1hg Wavelength: 0.63
L3eF BF/ Refractive index: 1.5+0i
MCE@EFD`\ Angle Initial: -90.0
lR?y
tIY Angle Final: 90.0
ChiIQWFE Number of Steps: 721
fFJ7Y+^ Distance: 100, 000*wavelength
tA(oD4H9 Intensity
9\8ektq}Z mERkC,$ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
b|i4me@ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
zyPb\/ 图5.“Opti 2D Viewer”中的远场模式