光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
q(]f]Vl|0 •使用VB脚本生成光栅(或周期性)布局。
NrJzVGeS •光栅布局
模拟和后处理分析
Ek .3 布局layout
,+L
KJl 我们将模拟如图1所示的二维光栅布局。
h8}8Lp(/' 图1.二维光栅布局
(O5)wej =I4.Gf"~f 用VB脚本定义一个2D光栅布局
Z!\@%`0$ :EHQ .^ 步骤:
l8wF0| 1 通过在
文件菜单中选择“New”,启动一个新项目。
w=J4zkWk 2 在“Wafer Properties”对话框中设置以下
参数 R_e)mkE Wafer Dimensions:
[%8@DC' Length (mm): 8.5
I6dm@{/:> Width (mm): 3.0
it}-^3AM =7jEz+w# 2D wafer properties:
Z;<ep@gy~ Wafer refractive index: Air
F$Pp]"82'm 3 点击 Profiles 与 Materials.
pCt}66k} P^IY:
-s 在“Materials”中加入以下
材料:
981!2* Name: N=1.5
0=[0|`x Refractive index (Re:): 1.5
Q=+8/b J?jeYW Name: N=3.14
@>O&Cpt Refractive index (Re:): 3.14
M\UWWb&%\ |9s wZ[ 4.在“Profile”中定义以下轮廓:
&5q{viI Name: ChannelPro_n=3.14
3%IWGmye4 2D profile definition, Material: n=3.14
a$+#V=bA Ak=UtDN[ Name: ChannelPro_n=1.5
Fk$@Yy+}e 2D profile definition, Material: n=1.5
0xBY(#;Q tA qs2 6.画出以下波导结构:
&%e"9v2` a. Linear waveguide 1
u2lmwE Label: linear1
wItz cY1m Start Horizontal offset: 0.0
5Rs?CVVb Start vertical offset: -0.75
k,]{NO
End Horizontal offset: 8.5
v*DFiCQD End vertical offset: -0.75
A?Sm-#n{ Channel Thickness Tapering: Use Default
bOXh|u_3i Width: 1.5
*|'}v[{v^9 Depth: 0.0
+"=~o5k3Q Profile: ChannelPro_n=1.5
cdsQ3o dofR)"<p,^ b. Linear waveguide 2
y h-9u Label: linear2
Gg+YfY_ Start Horizontal offset: 0.5
`Kp}s< Start vertical offset: 0.05
=g2\CIlVU6 End Horizontal offset: 1.0
Fe4esg-B< End vertical offset: 0.05
<4NQL*|> Channel Thickness Tapering: Use Default
b-b;7a\N Width: 0.1
w:R]!e_6\9 Depth: 0.0
nDn{zea7 Profile: ChannelPro_n=3.14
!:J<pWN" g.&\6^)8p 7.加入水平平面波:
mt .,4 Continuous Wave Wavelength: 0.63 General:
p;ZDpR Input field Transverse: Rectangular
&|] Fg5 X Position: 0.5
-9Xw]I#QR Direction: Negative Direction
CU !.!cZ{ Label: InputPlane1
+2(PcJR~ 2D Transverse:
|
VRq$^g Center Position: 4.5
V9]uFL Half width: 5.0
5oa]dco Titlitng Angle: 45
Z{16S=0 Effective Refractive Index: Local Amplitude: 1.0
m[#%/ 图2.波导结构(未设置周期)
<on)"{W13 Q
}8C 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
3DHvaq q7 将Linear2代码段修改如下:
$YR{f[+L
w Dim Linear2
Xa\]ua_ for m=1 to 8
Ot"(uW4$[ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
zN/Gy} Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
&:,fb]p Linear2.SetAttr "WidthExpr", "0.1"
,XP@ pi Linear2.SetAttr "Depth", "0"
W.sD2f Linear2.SetAttr "StartThickness", "0.000000"
kjfxjAS=m Linear2.SetAttr "EndThickness", "0.000000"
L/%xbm~ Linear2.SetProfileName "ChannelPro_n=3.14"
1r&AB!Z # Linear2.SetDefaultThicknessTaperMode True
@) ]t8( *xho 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
_"`/^L`Q? 图3.光栅布局通过VB脚本生成
,P1G?,y {)GQV`y 设置仿真参数
m
R"9&wq 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
3pzOt&T|w 2. 在仿真参数对话框中,设置以下参数:
?##y`.+O TE simulation
_2x uzmz0 Mesh Delta X: 0.015
2}1!WIin Mesh Delta Z: 0.015
4O9tx_<JG Time Step Size: Auto Run for 1000 Time steps
|HT)/UZ| 设置边界条件设置X和Z边为各向异性PML边界条件。
|O'Hh7 Number of Anisotropic PML layers: 15
7YSuB9{M 其它参数保持默认
]*;RHy9 运行仿真
a:wJ/ p • 在仿真参数中点击Run按钮,启动仿真
VdYOm • 在分析仪中,可以观察到各场分量的时域响应
;%lJD"yF • 仿真完成后,点击“Yes”,启动分析仪。
FxMMxY,*% Z7ZWf'o 远场分析
衍射波
Gu<W:n[ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
sVNo\ 2. 选择“Definition of the Cross Cut”为z方向
([E#zrz% 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
6NP`P j R 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
XWJ0=t&} 图4.远场计算对话框
p PU 2ar vQE` c@^{ 5. 在远场对话框,设置以下参数:
`\6 +z Wavelength: 0.63
WIhIEU7 / Refractive index: 1.5+0i
#zh6=.,7 Angle Initial: -90.0
*
N2#{eF&] Angle Final: 90.0
h:eN>yW Number of Steps: 721
}"!6Xm Distance: 100, 000*wavelength
w?*'vF_2:# Intensity
Zz{[Al{ 5QCw5N 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
\Or]5ogT' 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
9G=A)j 图5.“Opti 2D Viewer”中的远场模式