光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
WBT/;),}: •使用VB脚本生成光栅(或周期性)布局。
`t_S uZ`V •光栅布局
模拟和后处理分析
@b[{.mU 布局layout
)N h67P3X" 我们将模拟如图1所示的二维光栅布局。
:ad 图1.二维光栅布局
h{xC0NC) , 6 P:S7 用VB脚本定义一个2D光栅布局
:L gFd .y'iF>QQ\ 步骤:
hbm%{*d 1 通过在
文件菜单中选择“New”,启动一个新项目。
T(t@[U2^ 2 在“Wafer Properties”对话框中设置以下
参数 'q%56WAJ Wafer Dimensions:
{"|P Length (mm): 8.5
3aIP^I1 Width (mm): 3.0
Ay\=&4dv `B6~KZ 2D wafer properties:
e~C5{XEE Wafer refractive index: Air
9}p>=' 3 点击 Profiles 与 Materials.
n,D~ whZx faQ}J%a 在“Materials”中加入以下
材料:
j\l9|vpp Name: N=1.5
V5w00s5?% Refractive index (Re:): 1.5
K%AbM#o< )p*I(y Name: N=3.14
w#]> Nf Refractive index (Re:): 3.14
NAd|n+[d ":s1}A 4.在“Profile”中定义以下轮廓:
'<!
b}1w0 Name: ChannelPro_n=3.14
Cm@e^l! 2D profile definition, Material: n=3.14
$:IOoS|e Ip#BR!$n Name: ChannelPro_n=1.5
}uWIF|h~ 2D profile definition, Material: n=1.5
zbQ-l1E -*xm<R], 6.画出以下波导结构:
7|4t;F! a. Linear waveguide 1
~uqpF-. Label: linear1
~aKM+KmtPH Start Horizontal offset: 0.0
}diB Start vertical offset: -0.75
I(LBc End Horizontal offset: 8.5
kA3nhBH End vertical offset: -0.75
=`RogjbP Channel Thickness Tapering: Use Default
_}MO.&Y Width: 1.5
k?r-%oJ7 Depth: 0.0
Uedzt Profile: ChannelPro_n=1.5
c@H_f pxm{?eBz b. Linear waveguide 2
UjCQ W:[ Label: linear2
&5JTcMC^ Start Horizontal offset: 0.5
zTA+s 2 Start vertical offset: 0.05
Uc
oVp}vl End Horizontal offset: 1.0
b4NUx)%ln End vertical offset: 0.05
CjtBQ5 Channel Thickness Tapering: Use Default
['9awgkr/ Width: 0.1
<dzfD; Depth: 0.0
B~S"1EE[ Profile: ChannelPro_n=3.14
+?"N5%a%F hf5yTs 7.加入水平平面波:
`qP <S
Continuous Wave Wavelength: 0.63 General:
L~x
PIu Input field Transverse: Rectangular
$P<T`3Jg X Position: 0.5
50MdZ;R-3 Direction: Negative Direction
K)NB{8 _ Label: InputPlane1
jUny&Alj 2D Transverse:
-M]NdgI Center Position: 4.5
<cC 0l-= Half width: 5.0
J\7ukm"9 Titlitng Angle: 45
xd[GJ;xvs Effective Refractive Index: Local Amplitude: 1.0
6T3uv,2 图2.波导结构(未设置周期)
,'=Tf=wq ly,3,ok 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
: ?K}.Kb 将Linear2代码段修改如下:
4sU*UePr Dim Linear2
[!^Q_O for m=1 to 8
66A}5b4)] Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
rByC6HV" Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
#jY\l&E Linear2.SetAttr "WidthExpr", "0.1"
+{b!,D3sa* Linear2.SetAttr "Depth", "0"
#&Xr2?E@ Linear2.SetAttr "StartThickness", "0.000000"
2t9JiH Linear2.SetAttr "EndThickness", "0.000000"
~!PAs_O Linear2.SetProfileName "ChannelPro_n=3.14"
vTrjhTa\ Linear2.SetDefaultThicknessTaperMode True
M5$YFGGR Gk"o/]Sf 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
t(<^of: 图3.光栅布局通过VB脚本生成
R$[nYw +TA'P$j 设置仿真参数
;rBd_ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
].E89 _|O 2. 在仿真参数对话框中,设置以下参数:
5U%J,W TE simulation
G8]DK3# Mesh Delta X: 0.015
fY)Dx c&ue Mesh Delta Z: 0.015
X<pg^Y0 Time Step Size: Auto Run for 1000 Time steps
o+9b%I^1V 设置边界条件设置X和Z边为各向异性PML边界条件。
977%9z<h Number of Anisotropic PML layers: 15
<Mdyz! 其它参数保持默认
.Vohd@s9l 运行仿真
Vjv~RNGF • 在仿真参数中点击Run按钮,启动仿真
5m.{ayE • 在分析仪中,可以观察到各场分量的时域响应
/>wM#)o2 • 仿真完成后,点击“Yes”,启动分析仪。
<K^{36h uc0 1{t0, 远场分析
衍射波
HR.^
y$IE 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
:5Y
yI.T 2. 选择“Definition of the Cross Cut”为z方向
7(ni_|$| 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
E5^P*6c( 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
)@vhqVv? 图4.远场计算对话框
hW^*b:v{ QNH-b9u>8 5. 在远场对话框,设置以下参数:
79DzrLu Wavelength: 0.63
DC&3=Nd Refractive index: 1.5+0i
(8Q0?SZN Angle Initial: -90.0
4rcNBmA, Angle Final: 90.0
~0;l\^ Number of Steps: 721
W^a-K Distance: 100, 000*wavelength
goE \C Intensity
{6_M$"e. !ucHLo3: 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
uX.^zg]}% 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
zmA]@'j 图5.“Opti 2D Viewer”中的远场模式