光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
[g"nu0sOK •使用VB脚本生成光栅(或周期性)布局。
8hww({S2 •光栅布局
模拟和后处理分析
$ZyOBxI 布局layout
6rE8P# 我们将模拟如图1所示的二维光栅布局。
rwSR 图1.二维光栅布局
/<T{g0s KI\bV0$p< 用VB脚本定义一个2D光栅布局
= =pQ
V[ .u&X:jOE 步骤:
VgbT/v 1 通过在
文件菜单中选择“New”,启动一个新项目。
wGs'qL"z 2 在“Wafer Properties”对话框中设置以下
参数 Q1kM 4Up Wafer Dimensions:
imM#zy Length (mm): 8.5
W^HE1Dt] Width (mm): 3.0
x76;wQ :/Pxf N5 2D wafer properties:
|ul{d| Wafer refractive index: Air
N?rE:0SJ 3 点击 Profiles 与 Materials.
[C-FJ>=S 3hJ51=_0^ 在“Materials”中加入以下
材料:
L"1AC&~u Name: N=1.5
It2:2 Refractive index (Re:): 1.5
UT{`'#iT 7ieAd/:_ Name: N=3.14
R9- mq;u+ Refractive index (Re:): 3.14
nZYO}bv\ 4!ZT_q 4.在“Profile”中定义以下轮廓:
PS!or!m Name: ChannelPro_n=3.14
#$U/*~m $ 2D profile definition, Material: n=3.14
WyB^b-QmDh @6!Myez' Name: ChannelPro_n=1.5
a|]deJU^ 2D profile definition, Material: n=1.5
Ht}?=ZzW 5(1c?biP& 6.画出以下波导结构:
^"iL|3d a. Linear waveguide 1
<h+UC# .x Label: linear1
xp^Jp Start Horizontal offset: 0.0
N2j^fZd_ Start vertical offset: -0.75
2Kr8#_) 0 End Horizontal offset: 8.5
fO#nSB/
8 End vertical offset: -0.75
?c"iV Channel Thickness Tapering: Use Default
?%ltoezf Width: 1.5
b!J?>du Depth: 0.0
'Zex/:QS Profile: ChannelPro_n=1.5
/`#JM q TWQ! b. Linear waveguide 2
H;AMRL o4z Label: linear2
mss.\ Start Horizontal offset: 0.5
G"L`9E<0V Start vertical offset: 0.05
LtUw End Horizontal offset: 1.0
&Vpr[S@:{ End vertical offset: 0.05
:YX5%6 Channel Thickness Tapering: Use Default
;ioF'ov Width: 0.1
E}0g Depth: 0.0
e=#D1 Profile: ChannelPro_n=3.14
c1R[Hck iW9 7.加入水平平面波:
Ed-3-vJej6 Continuous Wave Wavelength: 0.63 General:
spQr1hx< Input field Transverse: Rectangular
}2c&ARQ.m> X Position: 0.5
X4'!:& Direction: Negative Direction
F]N?_ bo Label: InputPlane1
fX\y/C 2D Transverse:
ZifDU@J$t Center Position: 4.5
i3L2N~:V Half width: 5.0
_ q>|pt.W Titlitng Angle: 45
JXt_ Effective Refractive Index: Local Amplitude: 1.0
^e\$g2). 图2.波导结构(未设置周期)
CZy3]O"qW K,PN: 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
?} E
M, 将Linear2代码段修改如下:
i>-#QKqJ Dim Linear2
Tgla_sMb for m=1 to 8
z'O+B} Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
8aM\B%NGWi Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Azr|cKu] Linear2.SetAttr "WidthExpr", "0.1"
rY@9nQ\>g Linear2.SetAttr "Depth", "0"
Pv)^L Linear2.SetAttr "StartThickness", "0.000000"
5xj8^W^G9 Linear2.SetAttr "EndThickness", "0.000000"
S|6i]/ Linear2.SetProfileName "ChannelPro_n=3.14"
R7h3O0@! Linear2.SetDefaultThicknessTaperMode True
z/WGL (m2_Eh; 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
v7hw% 9(= 图3.光栅布局通过VB脚本生成
VKlC`k8L KCp9P2kv. 设置仿真参数
a>d`g 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
1TGE>HG 2. 在仿真参数对话框中,设置以下参数:
Vvfd?G" TE simulation
#IDLfQ5g Mesh Delta X: 0.015
gg#lI| Mesh Delta Z: 0.015
tt6GtYrC 1 Time Step Size: Auto Run for 1000 Time steps
<{YzmN\Z 设置边界条件设置X和Z边为各向异性PML边界条件。
^;[_CF_ Number of Anisotropic PML layers: 15
]!jfrj 其它参数保持默认
DqmKDU 运行仿真
B"5xs • 在仿真参数中点击Run按钮,启动仿真
sK/ymEfRv • 在分析仪中,可以观察到各场分量的时域响应
V_ntS&2o • 仿真完成后,点击“Yes”,启动分析仪。
cT&lkS 2\#$::B9 远场分析
衍射波
,Qo:]Mj 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
n\BV*AH 2. 选择“Definition of the Cross Cut”为z方向
z/p^C~|} 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ZnuRy: 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
MJH>rsTQ 图4.远场计算对话框
@`^Z5n.4 \F+".X#jh 5. 在远场对话框,设置以下参数:
X(8LhsP Wavelength: 0.63
nKEw$~F Refractive index: 1.5+0i
OJM2t`}_t Angle Initial: -90.0
Are0Nj&? Angle Final: 90.0
&%(SkL_] Number of Steps: 721
XgeUS;qtta Distance: 100, 000*wavelength
hKnV=Ha( Intensity
7*WO9R/ tuY=)? 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
ip*^eS^ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
1>2
/1> 图5.“Opti 2D Viewer”中的远场模式