光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
U/!&KsnT •使用VB脚本生成光栅(或周期性)布局。
y32++b! •光栅布局
模拟和后处理分析
rDX'oP: 布局layout
(mIJI,[xn 我们将模拟如图1所示的二维光栅布局。
.Pes{uHg 图1.二维光栅布局
B8AzN9v&"N )?&kQ^@v 用VB脚本定义一个2D光栅布局
Ja v2A6a *P R_Y=v% 步骤:
L?27q 1 通过在
文件菜单中选择“New”,启动一个新项目。
MlK`sH6 2 在“Wafer Properties”对话框中设置以下
参数 `uZv9I" Wafer Dimensions:
+`zi>= Length (mm): 8.5
9m!! b{ Width (mm): 3.0
SWjQ.aM Va
Yu% 2D wafer properties:
rk,1am:cg Wafer refractive index: Air
A1QI4.K 3 点击 Profiles 与 Materials.
Dbdzb m7 9jR[:[
在“Materials”中加入以下
材料:
^]qV8 Name: N=1.5
^b!7R
<>~ Refractive index (Re:): 1.5
)d(0Y<e@ 0\Yx.\X, Name: N=3.14
Ivt} o_b* Refractive index (Re:): 3.14
4:Xj-l^D A!W"*WT 4.在“Profile”中定义以下轮廓:
Bf:tal6 -M Name: ChannelPro_n=3.14
g"]<J& 2D profile definition, Material: n=3.14
AuDR |;i .D,?u"fk| Name: ChannelPro_n=1.5
x , Vh 2D profile definition, Material: n=1.5
qE`:b0FT |5~wwL@LW7 6.画出以下波导结构:
dmaqXsU8q a. Linear waveguide 1
}kCn@ Label: linear1
}or2 $\>m Start Horizontal offset: 0.0
J[!x%8m Start vertical offset: -0.75
M*O(+EM End Horizontal offset: 8.5
`xX4!^0Hm End vertical offset: -0.75
a#Kmj0 Channel Thickness Tapering: Use Default
GL5^_`n Width: 1.5
VXkAFgO Depth: 0.0
O+o ;aa6 Profile: ChannelPro_n=1.5
'l'
X^LMD *"ykTqa
b. Linear waveguide 2
'Gl;Ir^ Label: linear2
3|~(?4aE Start Horizontal offset: 0.5
Bn1L?>G Start vertical offset: 0.05
b~/Wnp5 End Horizontal offset: 1.0
u%=bHg End vertical offset: 0.05
oE!hF }O Channel Thickness Tapering: Use Default
]HyHz9QkL Width: 0.1
@TA8^ND Depth: 0.0
BZJKiiD Profile: ChannelPro_n=3.14
#u8*CA9 Na.
nA 7.加入水平平面波:
T/wM(pr'
Continuous Wave Wavelength: 0.63 General:
v~V;+S=gz Input field Transverse: Rectangular
Gg}5$||^C X Position: 0.5
{5QosC+o6Q Direction: Negative Direction
dd\bI_ Label: InputPlane1
D|TLTF" 2D Transverse:
ZI58XS+ Center Position: 4.5
0{0;1.ZP Half width: 5.0
e{fZ}`=7y Titlitng Angle: 45
"u(S2'DW'( Effective Refractive Index: Local Amplitude: 1.0
M8^.19q; 图2.波导结构(未设置周期)
n2n00%Wu[ [i(Cl} 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
v9E+(4I9_ 将Linear2代码段修改如下:
|?x^8e<* Dim Linear2
BgJkrv7~ for m=1 to 8
K08 iPIkQ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
W
il{FcHY Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
+P[88! Linear2.SetAttr "WidthExpr", "0.1"
2f3=?YqD Linear2.SetAttr "Depth", "0"
N@cMM1 Linear2.SetAttr "StartThickness", "0.000000"
.-.q3ib Linear2.SetAttr "EndThickness", "0.000000"
$zC6(C(l Linear2.SetProfileName "ChannelPro_n=3.14"
*nYB o\@g Linear2.SetDefaultThicknessTaperMode True
fd?bU|I_2 DH\wDQ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
W
*YW6 图3.光栅布局通过VB脚本生成
,'FD}yw4v Az
U|p 设置仿真参数
4@DVc7\x$ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
*-9# /Cp 2. 在仿真参数对话框中,设置以下参数:
IIq"e~"Vs TE simulation
pNp^q/-yB Mesh Delta X: 0.015
13ipaz Mesh Delta Z: 0.015
xik`W!1S Time Step Size: Auto Run for 1000 Time steps
7'_nc!ME 设置边界条件设置X和Z边为各向异性PML边界条件。
G$cxDGo Number of Anisotropic PML layers: 15
5Xwk*@t2a 其它参数保持默认
qPsyqn?Y| 运行仿真
LsQ s:O • 在仿真参数中点击Run按钮,启动仿真
LkaG8#m1R • 在分析仪中,可以观察到各场分量的时域响应
M'^(3#ZU • 仿真完成后,点击“Yes”,启动分析仪。
mYjf5 jo_o`j 远场分析
衍射波
8dc538:q} 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
pz$_W 2. 选择“Definition of the Cross Cut”为z方向
xttYn]T 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ha_@Yqgh 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
Qn*6D 图4.远场计算对话框
PdR >;$1 dF$KrwDK
5. 在远场对话框,设置以下参数:
Tc:sldtCk Wavelength: 0.63
q1UBKhpnH Refractive index: 1.5+0i
- dl}_ Angle Initial: -90.0
`/c7h16 Angle Final: 90.0
u/} xE7G Number of Steps: 721
`Gf{z%/ Distance: 100, 000*wavelength
* !X4P Intensity
Z%Vr+)!4 F\JLbY{x] 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
=h(7rU"Yz 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
!2(.$}E 图5.“Opti 2D Viewer”中的远场模式