光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
jzJTV4&zjs •使用VB脚本生成光栅(或周期性)布局。
j\IdB:}j •光栅布局
模拟和后处理分析
/P@%{y 布局layout
.!KsF
h,pK 我们将模拟如图1所示的二维光栅布局。
P9'`
2c 图1.二维光栅布局
S}VS@KDO C 5gdvJN 用VB脚本定义一个2D光栅布局
O 1z0dHa 96<oX:# 步骤:
PBb&.< 1 通过在
文件菜单中选择“New”,启动一个新项目。
p__wBUB 2 在“Wafer Properties”对话框中设置以下
参数 DbH;DcV7 Wafer Dimensions:
$Q8
&TM}E Length (mm): 8.5
v;e8W9M Width (mm): 3.0
I:iMRvp eNK
+)<PK( 2D wafer properties:
X2Z)>
10 Wafer refractive index: Air
bg-/
8, 3 点击 Profiles 与 Materials.
Dho6N]86r i cTpx#|= 在“Materials”中加入以下
材料:
iO5g30l Name: N=1.5
LZe)_9$ Refractive index (Re:): 1.5
0?>(H(D^/ y0mNDze Name: N=3.14
jW`JThoq Refractive index (Re:): 3.14
E|f[#+:+ j8&NscK) 4.在“Profile”中定义以下轮廓:
gx9Os2Z|3 Name: ChannelPro_n=3.14
)e?&'wa> 2D profile definition, Material: n=3.14
-C
q; 1B2#uhT]r Name: ChannelPro_n=1.5
ZAgXz{!H( 2D profile definition, Material: n=1.5
$!.>)n @!f4>iUy 6.画出以下波导结构:
%|(c?`2| a. Linear waveguide 1
`2s@O>RV Label: linear1
N~O3KG q Start Horizontal offset: 0.0
zk8)!Af Start vertical offset: -0.75
43AzNXWF8 End Horizontal offset: 8.5
Om0$6O End vertical offset: -0.75
pVy=rS- Channel Thickness Tapering: Use Default
nFEJO&1+ Width: 1.5
EYq?NL=' Depth: 0.0
edp
I? Profile: ChannelPro_n=1.5
zg<-%r'$ Yao}Xo9} b. Linear waveguide 2
,\\ba_*z Label: linear2
aP Start Horizontal offset: 0.5
4$&l`yWU+ Start vertical offset: 0.05
<(lA
CH End Horizontal offset: 1.0
v<!S_7h End vertical offset: 0.05
LOx+?4|y Channel Thickness Tapering: Use Default
8~o']B;lJ Width: 0.1
eTS}- Depth: 0.0
MJ)lZ!KZ Profile: ChannelPro_n=3.14
aDNB~CwZZ vAUt~X" 7.加入水平平面波:
ljNwt Continuous Wave Wavelength: 0.63 General:
F(HfXY3 Input field Transverse: Rectangular
(E0 X Position: 0.5
XX~vg>3_ Direction: Negative Direction
neI7VbH4 Label: InputPlane1
9Lb96K?=> 2D Transverse:
~:z.Xu5m Center Position: 4.5
|NfFe*q0;8 Half width: 5.0
'V:Q : Titlitng Angle: 45
y d97ys Effective Refractive Index: Local Amplitude: 1.0
-XV,r<'' 图2.波导结构(未设置周期)
4!Js=" .zO2g8(VR 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
l/X_CM8y~ 将Linear2代码段修改如下:
AatSN@,~z Dim Linear2
N6y9'LGG` for m=1 to 8
EJkHPn Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
wX"hUu Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Ht
Fr(g\"$ Linear2.SetAttr "WidthExpr", "0.1"
~$HB}/ Linear2.SetAttr "Depth", "0"
m+Ye`] Linear2.SetAttr "StartThickness", "0.000000"
l$;"yVdks Linear2.SetAttr "EndThickness", "0.000000"
I@'[> t Linear2.SetProfileName "ChannelPro_n=3.14"
K&L!O3#( Linear2.SetDefaultThicknessTaperMode True
X8|H5Y: FQ<-Wc 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Yr9'2.%Q 图3.光栅布局通过VB脚本生成
JtL>mH 9pp+<c 设置仿真参数
\]tBwa 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
)O1]|r7v 2. 在仿真参数对话框中,设置以下参数:
A5XMA|2_ TE simulation
?,vLRq. Mesh Delta X: 0.015
k)p`x"To Mesh Delta Z: 0.015
}
!m43x/& Time Step Size: Auto Run for 1000 Time steps
Z,).)y#B 设置边界条件设置X和Z边为各向异性PML边界条件。
6R6Ub
0 Number of Anisotropic PML layers: 15
\H] |5fp* 其它参数保持默认
) O0Cz n 运行仿真
tDK@?PfKz • 在仿真参数中点击Run按钮,启动仿真
N"S`9B1eD( • 在分析仪中,可以观察到各场分量的时域响应
&`D$w?beg • 仿真完成后,点击“Yes”,启动分析仪。
OdzeHpH3g |#TU"$; 远场分析
衍射波
9p{4-] 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
]EiM~n 2. 选择“Definition of the Cross Cut”为z方向
zwfft 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
VdHT3r 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
NdXHpq; 图4.远场计算对话框
>G]JwO 0@ `]m 5. 在远场对话框,设置以下参数:
Q"QRF5Ue Wavelength: 0.63
\((iR>^| Refractive index: 1.5+0i
clE9I<1v Angle Initial: -90.0
]>n{~4a Angle Final: 90.0
02J/=AC5 Number of Steps: 721
-$d?e%}# Distance: 100, 000*wavelength
O<m46mwM Intensity
1WUSp;JMl h3MdQlJ& 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
L AQ@y-K3 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
7)rQf{q7 图5.“Opti 2D Viewer”中的远场模式