光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Su`LB z" •使用VB脚本生成光栅(或周期性)布局。
Li~(kw3 •光栅布局
模拟和后处理分析
csE 9Ns 布局layout
&09z`*, 我们将模拟如图1所示的二维光栅布局。
YVt#( jl 图1.二维光栅布局
6*,'A|t?y }R-eQT 用VB脚本定义一个2D光栅布局
V\^rs41$; 02E-|p; 步骤:
XH4!|wz 1 通过在
文件菜单中选择“New”,启动一个新项目。
>B(%$jG Z 2 在“Wafer Properties”对话框中设置以下
参数 , f9V`Pz) Wafer Dimensions:
#g[jwl' Length (mm): 8.5
,9<}V;( Width (mm): 3.0
qS<a5 `EA a@ `1 5O: 2D wafer properties:
L6`(YX.: Wafer refractive index: Air
yoa"21E$ 3 点击 Profiles 与 Materials.
`<&RZB2 tWR>I$O8F 在“Materials”中加入以下
材料:
)\!_`ob Name: N=1.5
'Lu7cb^ Refractive index (Re:): 1.5
c:etJ
jL8[;*^G Name: N=3.14
Dyv 6K_, Refractive index (Re:): 3.14
Cj31>k1 : l>&5w; 4.在“Profile”中定义以下轮廓:
N*z_rZE Name: ChannelPro_n=3.14
Jydz2
zt! 2D profile definition, Material: n=3.14
7=C$*)x 2RXU75VY Name: ChannelPro_n=1.5
({ 'I;]AQ 2D profile definition, Material: n=1.5
&LM@_P"T 1}+lL)-! 6.画出以下波导结构:
19-|.9m( a. Linear waveguide 1
N,U<.{T=A Label: linear1
rlG&wX Start Horizontal offset: 0.0
=au7'i |6 Start vertical offset: -0.75
<#AS[Q[N End Horizontal offset: 8.5
8CKN^8E End vertical offset: -0.75
OB"Ur-hJ0 Channel Thickness Tapering: Use Default
xG sg' Width: 1.5
pN# \ Depth: 0.0
*olV Y/'O Profile: ChannelPro_n=1.5
g]au|$L4 &}}c>]m b. Linear waveguide 2
sYnf
# ' Label: linear2
\|
qr&(PG Start Horizontal offset: 0.5
E>|[@Z Start vertical offset: 0.05
ERcj$ [:T( End Horizontal offset: 1.0
ph\KTLU End vertical offset: 0.05
:SFcnYv0 Channel Thickness Tapering: Use Default
k(l Width: 0.1
2{^k*Cfd Depth: 0.0
Wr+?ul*_ Profile: ChannelPro_n=3.14
I3Gz,y+ mFCDwh] 7.加入水平平面波:
1F?`.~q Continuous Wave Wavelength: 0.63 General:
Lc,` Input field Transverse: Rectangular
ioxsx>e< X Position: 0.5
3LXS}~& Direction: Negative Direction
*m2{6N_ Label: InputPlane1
M$&aNt; 2D Transverse:
H^y%Bi&^ Center Position: 4.5
H9nVtS{x Half width: 5.0
U~!yGj F Titlitng Angle: 45
F-i`GMWC Effective Refractive Index: Local Amplitude: 1.0
Vk%[N> 图2.波导结构(未设置周期)
0I6[`*|SX 5IOMc4v 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
qMy>:,)Z 将Linear2代码段修改如下:
T=lir%q Dim Linear2
72rnMHq for m=1 to 8
?VC[%sjwn Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
>y&Db Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Vgy}0pCl Linear2.SetAttr "WidthExpr", "0.1"
s;oDwT1 Linear2.SetAttr "Depth", "0"
6zuWG0t Linear2.SetAttr "StartThickness", "0.000000"
-h=K]Y{` Linear2.SetAttr "EndThickness", "0.000000"
_@U?;73"5 Linear2.SetProfileName "ChannelPro_n=3.14"
{#>>dILPr Linear2.SetDefaultThicknessTaperMode True
@C[]o.r Rou$`<{H 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
J:6wFmU 图3.光栅布局通过VB脚本生成
aLr\Uq,83 jP*5(*[&y 设置仿真参数
5Fh?YS = 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
5I #L|+ 2. 在仿真参数对话框中,设置以下参数:
RmXC
^VQ TE simulation
Y{c_5YYf Mesh Delta X: 0.015
Z}#,E; Mesh Delta Z: 0.015
J:s^F
n Time Step Size: Auto Run for 1000 Time steps
0*?/s\>PS; 设置边界条件设置X和Z边为各向异性PML边界条件。
n_G< /8 Number of Anisotropic PML layers: 15
&?~OV:r9 其它参数保持默认
l| 1O9I0Gd 运行仿真
z[xi • 在仿真参数中点击Run按钮,启动仿真
q,b6). • 在分析仪中,可以观察到各场分量的时域响应
_T[ =7 cn • 仿真完成后,点击“Yes”,启动分析仪。
$nR1AOm}.B U@#YKv 远场分析
衍射波
eK_Q>;k5A 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
!Jh/M^ 2. 选择“Definition of the Cross Cut”为z方向
kpc3l[.A 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
}e}J6[wP 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
z#qlu= 图4.远场计算对话框
hh\\api H>8B$fi )$ 5. 在远场对话框,设置以下参数:
=,Yi" E Wavelength: 0.63
u\~dsD2)q Refractive index: 1.5+0i
XXbAn-J Angle Initial: -90.0
EL_rh TWw Angle Final: 90.0
|&JCf= Number of Steps: 721
*=]hc@ Distance: 100, 000*wavelength
pJM~'tlHV Intensity
p-]vf$u ]"'$i4I{R 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
G8}w|'0m 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
J%|!KQl 图5.“Opti 2D Viewer”中的远场模式