光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
#N cK
X •使用VB脚本生成光栅(或周期性)布局。
1y4 •光栅布局
模拟和后处理分析
7Rt9od<
)! 布局layout
k)Qtfj}uij 我们将模拟如图1所示的二维光栅布局。
E+w<RNBmz 图1.二维光栅布局
abLnI =W` xK\d4" 用VB脚本定义一个2D光栅布局
j,dR,N d (*)hD(C5 步骤:
^]-6u:J! 1 通过在
文件菜单中选择“New”,启动一个新项目。
,nB5/Lx 2 在“Wafer Properties”对话框中设置以下
参数 Per1IcN Wafer Dimensions:
& 9 ?\b7 Length (mm): 8.5
cpJ|w3xB Width (mm): 3.0
A$:U'ZG_ w:Kl6"c 2D wafer properties:
46&/gehr Wafer refractive index: Air
*ppffz 3 点击 Profiles 与 Materials.
s}% M4 7VF LJrt 在“Materials”中加入以下
材料:
'CkIz"Wd Name: N=1.5
9 j9TPyC/2 Refractive index (Re:): 1.5
:A'y+MnK< ;VO:ph4Aj Name: N=3.14
%Q dn Refractive index (Re:): 3.14
[mGLcg6Fw nK%LRcAs 4.在“Profile”中定义以下轮廓:
p2$P:!Y) Name: ChannelPro_n=3.14
}d}Ke_Q0 2D profile definition, Material: n=3.14
"5wa91*
O+Y6N Name: ChannelPro_n=1.5
u($!z^h 2D profile definition, Material: n=1.5
` v@m-j6 psMvq@> 6.画出以下波导结构:
(c
&mCJN a. Linear waveguide 1
tHwMX1 IG Label: linear1
"mvt>X Start Horizontal offset: 0.0
zuy4G9P Start vertical offset: -0.75
JHTSUq End Horizontal offset: 8.5
h'&%>Q2 End vertical offset: -0.75
76h ,]xi
Channel Thickness Tapering: Use Default
J,y[[CdH` Width: 1.5
>_"an~Ss Depth: 0.0
xRLT=.ir Profile: ChannelPro_n=1.5
k5.Lna EE'io5\et b. Linear waveguide 2
8i#2d1O Label: linear2
x Bi' X Start Horizontal offset: 0.5
9H`XeQ. Start vertical offset: 0.05
XG{zlOD+ End Horizontal offset: 1.0
54R#W:t End vertical offset: 0.05
Xg!{K3OS Channel Thickness Tapering: Use Default
T&u5ki4NE Width: 0.1
xH"/1g Depth: 0.0
"N bq#w\ Profile: ChannelPro_n=3.14
CSq4x5!_7> )g#T9tx2D 7.加入水平平面波:
*@=/qkaJaI Continuous Wave Wavelength: 0.63 General:
My[pr_xg Input field Transverse: Rectangular
JL}_72gs X Position: 0.5
V_}"+&W9 Direction: Negative Direction
ywm8N%]v Label: InputPlane1
%^GfS@t 2D Transverse:
lbl?k5 Center Position: 4.5
=BAW[%1b Half width: 5.0
kr:^tbJ Titlitng Angle: 45
:Cs4NF Effective Refractive Index: Local Amplitude: 1.0
Ep3N&Imp 图2.波导结构(未设置周期)
J({Xg? lKp"xcAD 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
PB`Y
g 将Linear2代码段修改如下:
:L@?2), Dim Linear2
q" sed] for m=1 to 8
]i ,{ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
/quc}"__ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
^{;oM^Q' Linear2.SetAttr "WidthExpr", "0.1"
{|_M
#w~& Linear2.SetAttr "Depth", "0"
]]9R mh= Linear2.SetAttr "StartThickness", "0.000000"
V0.vQ/ Linear2.SetAttr "EndThickness", "0.000000"
vB|hZTW Linear2.SetProfileName "ChannelPro_n=3.14"
Tc &z: Linear2.SetDefaultThicknessTaperMode True
tla
5B_ sF?TmBQ* 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
{e9@- 图3.光栅布局通过VB脚本生成
YPK(be_|I Gm.T;fc: 设置仿真参数
L<-_1!wh 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
BBRR) 2. 在仿真参数对话框中,设置以下参数:
]kRfB:4ED TE simulation
u4F5h PO] Mesh Delta X: 0.015
g:D>.lKd Mesh Delta Z: 0.015
#+HJA42 Time Step Size: Auto Run for 1000 Time steps
xU>WEm2 设置边界条件设置X和Z边为各向异性PML边界条件。
7#ibN! Number of Anisotropic PML layers: 15
[-k 其它参数保持默认
D] jzAx 运行仿真
xH(lm2kvT • 在仿真参数中点击Run按钮,启动仿真
}`QUHIF • 在分析仪中,可以观察到各场分量的时域响应
wb5baY9 • 仿真完成后,点击“Yes”,启动分析仪。
q`H_M{26!y G"U9E5O 远场分析
衍射波
2U\u4NO{ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
foF({4q7b^ 2. 选择“Definition of the Cross Cut”为z方向
tI TS1 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
>WQMqQ^t@ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
}{qZ[/JwqN 图4.远场计算对话框
[.'|_l 2"kLdD 5. 在远场对话框,设置以下参数:
N~d ?WD\^ Wavelength: 0.63
+N9X/QFKV Refractive index: 1.5+0i
EQyC1j Angle Initial: -90.0
)oDHeU<& Angle Final: 90.0
|\<`Ib4j Number of Steps: 721
k_qd| Distance: 100, 000*wavelength
J^nBdofP Intensity
W5lR0)~#* t?ZI".> 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
O=&0 H|B 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
U;V7 u/{ 图5.“Opti 2D Viewer”中的远场模式