光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
3d,:,f|h •使用VB脚本生成光栅(或周期性)布局。
/x4L,UJ= P •光栅布局
模拟和后处理分析
`Y^l.%AZZ 布局layout
+(W7hK4ip 我们将模拟如图1所示的二维光栅布局。
0g~Cdp 图1.二维光栅布局
9m\Yi KzJJ@D*4M] 用VB脚本定义一个2D光栅布局
qe22 kE# GDb Vy)& 步骤:
KT7R0 v 1 通过在
文件菜单中选择“New”,启动一个新项目。
*_P'> V#p 2 在“Wafer Properties”对话框中设置以下
参数 ^8YBW<9 Wafer Dimensions:
Vol}wc Length (mm): 8.5
,6o tm Width (mm): 3.0
-8R SE4) 5X9L h_p 2D wafer properties:
A-J#$B Wafer refractive index: Air
i29a1nD4Hm 3 点击 Profiles 与 Materials.
;]bW 4Xww(5?3 在“Materials”中加入以下
材料:
TQPrOs? Name: N=1.5
o,S(;6pDJ Refractive index (Re:): 1.5
6{0MprY U9*< dR Name: N=3.14
!6z{~Z: Refractive index (Re:): 3.14
S]Di1E^r;_ z@ `u$D$n 4.在“Profile”中定义以下轮廓:
9}L2$^#,NA Name: ChannelPro_n=3.14
~|N,{GaL 2D profile definition, Material: n=3.14
g++-v HD C\OZs%]At Name: ChannelPro_n=1.5
e}P@7e h 2D profile definition, Material: n=1.5
yk(r R &pR 8sySu 6.画出以下波导结构:
fL("MDt a. Linear waveguide 1
|n^rI\p% Label: linear1
#sk~L21A Start Horizontal offset: 0.0
,?HM5c{'[Y Start vertical offset: -0.75
gv D*^ End Horizontal offset: 8.5
B=7maYeU End vertical offset: -0.75
NFC/4 Channel Thickness Tapering: Use Default
-@Urq>^v T Width: 1.5
F S$8F Depth: 0.0
nJ/}b/A{ Profile: ChannelPro_n=1.5
bTZ.y.sI }Z t#OA
$ b. Linear waveguide 2
SoHaGQox Label: linear2
2@@evQ Start Horizontal offset: 0.5
.p?SPR Start vertical offset: 0.05
Xr'b{& End Horizontal offset: 1.0
8R-;cBT End vertical offset: 0.05
@1<VvW= Channel Thickness Tapering: Use Default
Aa]3jev Width: 0.1
shP}T[< Depth: 0.0
}B!io-} Profile: ChannelPro_n=3.14
v(=0hY9
O k#7A@Vb 7.加入水平平面波:
SU6Aq?`@ Continuous Wave Wavelength: 0.63 General:
1L!jI2~x} Input field Transverse: Rectangular
+_u~Np X Position: 0.5
}qWB=,8HQ Direction: Negative Direction
pU[yr'D.r Label: InputPlane1
ao[yHcAs 2D Transverse:
qmenj Center Position: 4.5
rkR~%U6V Half width: 5.0
k g Rys Titlitng Angle: 45
jzZ]+'t Effective Refractive Index: Local Amplitude: 1.0
N8x.D-=gG 图2.波导结构(未设置周期)
%tZrP$DQ 12_7UWZ" 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
]*Q,~uV^| 将Linear2代码段修改如下:
l4(FM}0X5} Dim Linear2
&
9
c^9<F for m=1 to 8
n}fV$qu Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
i}i>ho-8 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
jUgx
;= Linear2.SetAttr "WidthExpr", "0.1"
;sq xFF@ Linear2.SetAttr "Depth", "0"
bR~5
:A^ Linear2.SetAttr "StartThickness", "0.000000"
|.&GmP Linear2.SetAttr "EndThickness", "0.000000"
,?Zy4- Linear2.SetProfileName "ChannelPro_n=3.14"
V<;_wO^ Linear2.SetDefaultThicknessTaperMode True
*!{&n*N `&xdS H 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
9zrTf%mF 图3.光栅布局通过VB脚本生成
+DR{aX/ll Z glU{sU 设置仿真参数
IiE^HgM 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
(I'{
pF) 2. 在仿真参数对话框中,设置以下参数:
inZ0iU9dy TE simulation
\pTv;( Mesh Delta X: 0.015
dK,=9DQy5 Mesh Delta Z: 0.015
2;3&&yK2b Time Step Size: Auto Run for 1000 Time steps
9
`q(_\ x 设置边界条件设置X和Z边为各向异性PML边界条件。
JG1q5j##]b Number of Anisotropic PML layers: 15
7,V_5M;t 其它参数保持默认
}[MkJ21! 运行仿真
]=I2:Rb • 在仿真参数中点击Run按钮,启动仿真
G"kX#k0S • 在分析仪中,可以观察到各场分量的时域响应
[z+YXs!N • 仿真完成后,点击“Yes”,启动分析仪。
`P-d. M6Oa 8bO+[" c 远场分析
衍射波
i[{*(Y$L 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
UQ7La 7" 2. 选择“Definition of the Cross Cut”为z方向
pGy k61 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
'zT7$ .L 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
,:MUf]Ky 图4.远场计算对话框
nn$^iw` [KbLEMrPba 5. 在远场对话框,设置以下参数:
E}a.qM' Wavelength: 0.63
yf`_?gJ6d Refractive index: 1.5+0i
)
LTV+? Angle Initial: -90.0
FeQo,a Angle Final: 90.0
PYY< Number of Steps: 721
(x.qyYEoI Distance: 100, 000*wavelength
Fm6]mz%~u# Intensity
9F6dKPN: -f1}N|hy 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
ImH9 F\ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
]Y76~!N 图5.“Opti 2D Viewer”中的远场模式