光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
RX?Nv4- •使用VB脚本生成光栅(或周期性)布局。
Pa0tf: •光栅布局
模拟和后处理分析
WQiEQ>6(t( 布局layout
3_^w/-7`B 我们将模拟如图1所示的二维光栅布局。
d cPh@3 图1.二维光栅布局
"^22Y}VB CM9+h;Zm 用VB脚本定义一个2D光栅布局
)c]GgPH >@h0@N 步骤:
Gxm+5q 1 通过在
文件菜单中选择“New”,启动一个新项目。
sl |S9Ix 2 在“Wafer Properties”对话框中设置以下
参数 @8n0GCv Wafer Dimensions:
9co
-W+ Length (mm): 8.5
OaU} 9& Width (mm): 3.0
cS QUK 8Nc i1o 2D wafer properties:
'qQDM_+ Wafer refractive index: Air
g@B9i= 3 点击 Profiles 与 Materials.
)ckx&e <C#
s0UX 在“Materials”中加入以下
材料:
,dZ
9=] Name: N=1.5
[OH>NpL Refractive index (Re:): 1.5
Zu&trxnNf[ OEdp:dW| Name: N=3.14
wnt^WW=a[ Refractive index (Re:): 3.14
9dqD(S#C;" c?jjY4u 4.在“Profile”中定义以下轮廓:
ScZ$&n Name: ChannelPro_n=3.14
+-qD!(&-6 2D profile definition, Material: n=3.14
0S/&^ >4LX!^V" Name: ChannelPro_n=1.5
1;.}u=8 2D profile definition, Material: n=1.5
/~gM,* 6Oo'&3@ 6.画出以下波导结构:
(873:"( a. Linear waveguide 1
iLv"ZqGrw Label: linear1
,2 &'8:B Start Horizontal offset: 0.0
OjrQ[`(E Start vertical offset: -0.75
^6J*yV% End Horizontal offset: 8.5
#z~D1Zl End vertical offset: -0.75
YwB5Zqr Channel Thickness Tapering: Use Default
}Z0)FU+ Width: 1.5
`n5RDz/f0 Depth: 0.0
dn%/SJC Profile: ChannelPro_n=1.5
'DntZK tet b. Linear waveguide 2
f4!^0%l Label: linear2
,!sAr;Rk` Start Horizontal offset: 0.5
JK,#dA# Start vertical offset: 0.05
*$ ^ME End Horizontal offset: 1.0
6"&&s End vertical offset: 0.05
-#rFCfPy^ Channel Thickness Tapering: Use Default
EMs$~CL4 Width: 0.1
g\ <Lb Depth: 0.0
El"XF?OgpP Profile: ChannelPro_n=3.14
3'1O}xO {oz04KGsH 7.加入水平平面波:
mN@0lfk; Continuous Wave Wavelength: 0.63 General:
Szwa2IdI. Input field Transverse: Rectangular
wx<5*8zP X Position: 0.5
='soSnT Direction: Negative Direction
pC#Z]_k Label: InputPlane1
Z [68ji] 2D Transverse:
60X B Center Position: 4.5
[0)iY%^ Half width: 5.0
%pTbJaM\U Titlitng Angle: 45
5
0~L(< Effective Refractive Index: Local Amplitude: 1.0
Hej0l^ 图2.波导结构(未设置周期)
RsTpjY*Xb ~j F5%Gu 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
<`6-J `. 将Linear2代码段修改如下:
xvpS%MS Dim Linear2
g*Cs/w for m=1 to 8
Jc{zi^)(EN Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
d*q_DV Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
k`\DC\0RG Linear2.SetAttr "WidthExpr", "0.1"
9dKrE_zK: Linear2.SetAttr "Depth", "0"
zZ;tSKL Linear2.SetAttr "StartThickness", "0.000000"
{wA@5+[ Linear2.SetAttr "EndThickness", "0.000000"
Fp@eb8Pl Linear2.SetProfileName "ChannelPro_n=3.14"
ce+\D'q[ Linear2.SetDefaultThicknessTaperMode True
/\#qz.c2K E37`g}ZS 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Z(Q?epyT 图3.光栅布局通过VB脚本生成
hQ<" I:mJWe 设置仿真参数
oX?2fu- 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
mE^6Zu 2. 在仿真参数对话框中,设置以下参数:
"%>/rh2Iq TE simulation
$lV0TCgba8 Mesh Delta X: 0.015
sVh!5fby& Mesh Delta Z: 0.015
1s!hl{n<~ Time Step Size: Auto Run for 1000 Time steps
m0=CD 设置边界条件设置X和Z边为各向异性PML边界条件。
LX*T<|c`' Number of Anisotropic PML layers: 15
M%9PVePOe 其它参数保持默认
!^`ZHJ-3>; 运行仿真
K
7YpGGd5 • 在仿真参数中点击Run按钮,启动仿真
/6L\`\g • 在分析仪中,可以观察到各场分量的时域响应
7/aJ?:gX • 仿真完成后,点击“Yes”,启动分析仪。
E$8GXo00v tQ=U22&7 远场分析
衍射波
6Y}#vZ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
>@TZYdl 2. 选择“Definition of the Cross Cut”为z方向
}.`ycLW' 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
c*1B*_08 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
v\\Z[,dK 图4.远场计算对话框
+-8uIqZ )(75dUl 5. 在远场对话框,设置以下参数:
o*r\&!NIw Wavelength: 0.63
]u2!)vZh' Refractive index: 1.5+0i
R<k4LHDy Angle Initial: -90.0
i]F,Y;&| Angle Final: 90.0
^>k [T. Number of Steps: 721
T4\,b Distance: 100, 000*wavelength
Lxd*W2$3_ Intensity
oN)K2&M0 jQsucs5$h 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
)+cP8$n6L 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
wl5!f| 图5.“Opti 2D Viewer”中的远场模式