光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
4^K<RSYs •使用VB脚本生成光栅(或周期性)布局。
K]>X31Ho •光栅布局
模拟和后处理分析
~J1UzUxX2 布局layout
4u]>$?X1_ 我们将模拟如图1所示的二维光栅布局。
I*=
=I4qx 图1.二维光栅布局
0?,%B?A8O KiMEd373- 用VB脚本定义一个2D光栅布局
2]_fNCNLN I~>Ye<g# 步骤:
0t0m?rVW 1 通过在
文件菜单中选择“New”,启动一个新项目。
aeTVcq
2 在“Wafer Properties”对话框中设置以下
参数 zy@
nBi^ Wafer Dimensions:
R?J=5tO Length (mm): 8.5
hR~~k~84 Width (mm): 3.0
+#7)'c { VFr8F0*H 2D wafer properties:
Eh.NJI( Wafer refractive index: Air
z5IdYF? 3 点击 Profiles 与 Materials.
w7Vl,pN, u\ }"l2 r 在“Materials”中加入以下
材料:
kSU]~x Name: N=1.5
Qg
gx: Refractive index (Re:): 1.5
cp3O$S Yi#U~ h Name: N=3.14
oGqbk x Refractive index (Re:): 3.14
oz/Nx{bg DBZ^n9 4.在“Profile”中定义以下轮廓:
z-;{pPZ Name: ChannelPro_n=3.14
HpR(DG)
? 2D profile definition, Material: n=3.14
,I8[tiR"b {Nny.@P)H Name: ChannelPro_n=1.5
VK]sK e 2D profile definition, Material: n=1.5
vUgMfy& ^ub@Jwe 6.画出以下波导结构:
])$Rw$`w a. Linear waveguide 1
|Fp+9U Label: linear1
tF~D!t@ Start Horizontal offset: 0.0
nY 50dFA, Start vertical offset: -0.75
P^& =L&U End Horizontal offset: 8.5
n_MY69W End vertical offset: -0.75
6@geakq Channel Thickness Tapering: Use Default
0m&W: c Width: 1.5
05/'qf7P,U Depth: 0.0
cP`[/5R Profile: ChannelPro_n=1.5
\LQ54^eB NKE,}^C b. Linear waveguide 2
f|'8~C5I@> Label: linear2
TAKvE=a; Start Horizontal offset: 0.5
o@A|Lm. Start vertical offset: 0.05
)~H&YINhn End Horizontal offset: 1.0
3.<E{E!F End vertical offset: 0.05
I&|J +B?# Channel Thickness Tapering: Use Default
m}o4Vr;" Width: 0.1
KBy*QA Depth: 0.0
/zZ";4 Profile: ChannelPro_n=3.14
y8CH=U[ "vN~7% 7.加入水平平面波:
p1B~F Continuous Wave Wavelength: 0.63 General:
MtKM#@ Input field Transverse: Rectangular
D:vX/mf;7 X Position: 0.5
TjLW<D(i> Direction: Negative Direction
U@<]>.$ Label: InputPlane1
acdF5ch@ 2D Transverse:
vOi4$I~CJ Center Position: 4.5
CKr5L Half width: 5.0
CH+mzy Titlitng Angle: 45
^% jk. * Effective Refractive Index: Local Amplitude: 1.0
e|S_B*1*0 图2.波导结构(未设置周期)
\9`76*X6
c s2t9+ZA+s 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
fsz:A"0H 将Linear2代码段修改如下:
\S[I:fw#& Dim Linear2
b,):&M~p for m=1 to 8
b_rHt
s Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
?Oyps7hXx Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
5tQZf'pHfd Linear2.SetAttr "WidthExpr", "0.1"
5VhJ*^R`y Linear2.SetAttr "Depth", "0"
8q_"aa,` Linear2.SetAttr "StartThickness", "0.000000"
~"}o^#@DwJ Linear2.SetAttr "EndThickness", "0.000000"
j$Wd[Ja+O Linear2.SetProfileName "ChannelPro_n=3.14"
m)Sdogt_ Linear2.SetDefaultThicknessTaperMode True
y,cz;2 _fE$KaP 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
r0(* ]K:. 图3.光栅布局通过VB脚本生成
%8$ldNhV m*H' Cb 设置仿真参数
} za"rU 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
9U]j@*QN 2. 在仿真参数对话框中,设置以下参数:
W}aCU~ TE simulation
K0C3s Mesh Delta X: 0.015
E2u9>m4_J Mesh Delta Z: 0.015
}(/\vTn*1 Time Step Size: Auto Run for 1000 Time steps
bK#SxV 设置边界条件设置X和Z边为各向异性PML边界条件。
()o[(Hx+ph Number of Anisotropic PML layers: 15
O
=0j I 其它参数保持默认
=u
3YRqz 运行仿真
<tT.m[q g • 在仿真参数中点击Run按钮,启动仿真
@e:=
D • 在分析仪中,可以观察到各场分量的时域响应
X(JE]6_ • 仿真完成后,点击“Yes”,启动分析仪。
W\5PsGUsv G;Py%8 远场分析
衍射波
8Ai\T_l 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
$~)YI/b 2. 选择“Definition of the Cross Cut”为z方向
8~ wP? 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
=>htX(k} 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
eI3ZV^_Ps 图4.远场计算对话框
KGJ *h Ci_Qra 6 5. 在远场对话框,设置以下参数:
i)th] 1K% Wavelength: 0.63
H7dT6`<~Y Refractive index: 1.5+0i
$(+#$F<eo+ Angle Initial: -90.0
b!oj3|9 Angle Final: 90.0
e6gLYhf& Number of Steps: 721
ToX--w4 Distance: 100, 000*wavelength
[ahK+J Intensity
za!8:( N~~
sM"n 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
;LqpX!Pi
f 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
YDYN#Ob(; 图5.“Opti 2D Viewer”中的远场模式