光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
y;<suGl •使用VB脚本生成光栅(或周期性)布局。
5;^1Ab0 •光栅布局
模拟和后处理分析
n00J21 布局layout
,9_O4O% 我们将模拟如图1所示的二维光栅布局。
<p/2 hHfiD 图1.二维光栅布局
*FZav2]- BT_XqO 用VB脚本定义一个2D光栅布局
.y3E@0a -38"S;M8 步骤:
BnGoB`n 1 通过在
文件菜单中选择“New”,启动一个新项目。
S4{vS?>j 2 在“Wafer Properties”对话框中设置以下
参数 Ak kF6d+ Wafer Dimensions:
Yg,b
;H Length (mm): 8.5
F'|e:h Width (mm): 3.0
e.%I#rNI G e]NA]< 2D wafer properties:
H>;,r, Wafer refractive index: Air
b7~Jl+m 3 点击 Profiles 与 Materials.
>wt.)c?5 L%Rw]=v}v 在“Materials”中加入以下
材料:
#\QW <I#/ Name: N=1.5
W;UPA~nT~ Refractive index (Re:): 1.5
8AY;WL:; j%-Ems*H Name: N=3.14
fR'!p: ~ Refractive index (Re:): 3.14
:l!sKT?:d! 3\
Mt+!1{ 4.在“Profile”中定义以下轮廓:
8#Z)qQWi_t Name: ChannelPro_n=3.14
t&=bW<6 2D profile definition, Material: n=3.14
]Sa#g&}T> }zsIp, Name: ChannelPro_n=1.5
fKqr$59> 2D profile definition, Material: n=1.5
CsycR @[ Cb? !+U 6.画出以下波导结构:
g'7\WQ a. Linear waveguide 1
.ve_If-Hg Label: linear1
Q<;EQb# Start Horizontal offset: 0.0
3%1wQXr0 Start vertical offset: -0.75
Y9<[n)>+ End Horizontal offset: 8.5
|9]-_a End vertical offset: -0.75
*GBV[D[G, Channel Thickness Tapering: Use Default
!-470J Width: 1.5
:f39)g5> Depth: 0.0
)e`9U.C Profile: ChannelPro_n=1.5
xZ;eV76 0=6mb]VUi= b. Linear waveguide 2
[7gz?9VyLF Label: linear2
MZ-;'w&Z Start Horizontal offset: 0.5
]wEI*c( Start vertical offset: 0.05
:.XlAQR~b End Horizontal offset: 1.0
&&P9T/Zks End vertical offset: 0.05
*<:X3|3E Channel Thickness Tapering: Use Default
Ib{l$# Width: 0.1
(:`4*xK
Depth: 0.0
@S}j=k Profile: ChannelPro_n=3.14
Ua
6O~,\ :LNZC,-f}5 7.加入水平平面波:
%#v$d Continuous Wave Wavelength: 0.63 General:
&ZC{ _t Input field Transverse: Rectangular
85Yi2+8f4 X Position: 0.5
V'W*'wo Direction: Negative Direction
nKr'cb Label: InputPlane1
^"
g?m 2D Transverse:
hDW_a y4 Center Position: 4.5
Ew
PJ|Z^ Half width: 5.0
Tr:@Dv.O Titlitng Angle: 45
a B MV6' Effective Refractive Index: Local Amplitude: 1.0
5Wa)_@qI)` 图2.波导结构(未设置周期)
\M@IKE w/(T 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
_$@fCo0 将Linear2代码段修改如下:
R0*P,~L;| Dim Linear2
exiu;\+j for m=1 to 8
Oi: Hs Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
[j@i^B & Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
W?4:sLC#3 Linear2.SetAttr "WidthExpr", "0.1"
YB 7A5 Linear2.SetAttr "Depth", "0"
J9NuqV3 Linear2.SetAttr "StartThickness", "0.000000"
AU`z.Isf Linear2.SetAttr "EndThickness", "0.000000"
a1I-d=] Linear2.SetProfileName "ChannelPro_n=3.14"
Z'k?lkB2i Linear2.SetDefaultThicknessTaperMode True
Y1sK sdV sB*dv06b0 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
{%>~
]9E 图3.光栅布局通过VB脚本生成
dZ(Z]`L,B &0Y
|pY
设置仿真参数
(9aOET>GG 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
i{$P.i/& 2. 在仿真参数对话框中,设置以下参数:
JC~sz^>p\ TE simulation
LA\3 ,Uv Mesh Delta X: 0.015
,{q#U3 Mesh Delta Z: 0.015
V*te8HIe Time Step Size: Auto Run for 1000 Time steps
'G % ]/'_U 设置边界条件设置X和Z边为各向异性PML边界条件。
k&t.(r\ Number of Anisotropic PML layers: 15
2oahQ:
}B 其它参数保持默认
UQh.o 运行仿真
e#mf{1& • 在仿真参数中点击Run按钮,启动仿真
M61Nl)|mx& • 在分析仪中,可以观察到各场分量的时域响应
<eSg%6z • 仿真完成后,点击“Yes”,启动分析仪。
(_}q>3 ~x'8T!M{ 远场分析
衍射波
~YW;' 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
8(K:2 2. 选择“Definition of the Cross Cut”为z方向
o!+'<IQ' 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
|*zgX]-+; 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
RF2I_4 图4.远场计算对话框
58#nYt
P6> C+T1 5. 在远场对话框,设置以下参数:
ke W7pN? Wavelength: 0.63
]-#/wC[$l= Refractive index: 1.5+0i
sXPva@8_ Angle Initial: -90.0
lj&\F|-i Angle Final: 90.0
LHZsmUM(dg Number of Steps: 721
V!]|u ^4I Distance: 100, 000*wavelength
hC<E4+5., Intensity
Z7y% 6j{ynt 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Px?"5g#+ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
)eZuG S 图5.“Opti 2D Viewer”中的远场模式