光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
qq'%9 •使用VB脚本生成光栅(或周期性)布局。
9$s~ `z) •光栅布局
模拟和后处理分析
P<C=9@`! 布局layout
n%K^G4k^ 我们将模拟如图1所示的二维光栅布局。
L]Dq1q8` 图1.二维光栅布局
B*OBXN>'P bZlKy`Z 用VB脚本定义一个2D光栅布局
m"f3hd4D_q ,!vI@>nhG 步骤:
.r~M7 I 1 通过在
文件菜单中选择“New”,启动一个新项目。
Px?zih!6 2 在“Wafer Properties”对话框中设置以下
参数 $nqVE{ksV Wafer Dimensions:
:x3"Cj Length (mm): 8.5
,lDOo+eE%: Width (mm): 3.0
gaWJzK
Yc_ _V,bvHWlM 2D wafer properties:
_^@ >I8ix Wafer refractive index: Air
3W3)%[ 5 3 点击 Profiles 与 Materials.
CLgfNrW~ UW'@3#<? 在“Materials”中加入以下
材料:
})umg8s Name: N=1.5
S0w:R:q}L Refractive index (Re:): 1.5
`5
Iaz C;I:?4 Name: N=3.14
ows3% Refractive index (Re:): 3.14
Mhu|S)hn #<DS-^W! 4.在“Profile”中定义以下轮廓:
fL~@v-l#~ Name: ChannelPro_n=3.14
UIC~%?oIA 2D profile definition, Material: n=3.14
u$<>8aMei _)ZxD--Qg Name: ChannelPro_n=1.5
DCKH^J 2D profile definition, Material: n=1.5
)1gOO{T]h? Kh7C7[& 6.画出以下波导结构:
uc
Ph*M a. Linear waveguide 1
"sYZ3 Label: linear1
3c+ps;nh Start Horizontal offset: 0.0
gMs B1| Start vertical offset: -0.75
TjS&V End Horizontal offset: 8.5
>';UF;\5]Q End vertical offset: -0.75
^@f.~4P*I Channel Thickness Tapering: Use Default
k]rc -c- Width: 1.5
GL,( N| Depth: 0.0
u] Z;Q_= Profile: ChannelPro_n=1.5
^&KpvQNW_ 6h7TM?lt b. Linear waveguide 2
(bAw>
Label: linear2
t"?)x&dS Start Horizontal offset: 0.5
sBa&]9>m Start vertical offset: 0.05
elz0t<V End Horizontal offset: 1.0
\)i,`bz End vertical offset: 0.05
}H:wgy` Channel Thickness Tapering: Use Default
) uTFId Width: 0.1
Y=D\ Depth: 0.0
hv *XuT/ Profile: ChannelPro_n=3.14
d:{}0hmxI 6&o?#l;| 7.加入水平平面波:
uM,R +)3 Continuous Wave Wavelength: 0.63 General:
vZ1?4hG Input field Transverse: Rectangular
0UhJ
I X Position: 0.5
9V|)3GF Direction: Negative Direction
$r)NL Label: InputPlane1
Of>2 m< 2D Transverse:
kS4YxtvB Center Position: 4.5
}$b!/<7FD Half width: 5.0
!oYNJE Y7 Titlitng Angle: 45
wz>[CXpi_ Effective Refractive Index: Local Amplitude: 1.0
Q5HSik4 图2.波导结构(未设置周期)
w+$~ds 9.B gsV . 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
CU:HTz= 将Linear2代码段修改如下:
S$
k=70H Dim Linear2
j/;wxKW for m=1 to 8
?JBA`,- Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
" s}Oeu[ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
0i>p1/kv Linear2.SetAttr "WidthExpr", "0.1"
_'l"Dk Linear2.SetAttr "Depth", "0"
w?Pex]i{ Linear2.SetAttr "StartThickness", "0.000000"
C;~LY&= Linear2.SetAttr "EndThickness", "0.000000"
g3
Oro}wt6 Linear2.SetProfileName "ChannelPro_n=3.14"
S]NT +XM Linear2.SetDefaultThicknessTaperMode True
1024L; $Z3{D:-) 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
W#2} EX 图3.光栅布局通过VB脚本生成
5_1\{lP u4$R ZTC 设置仿真参数
/D964VR1M\ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
2R W~jn" 2. 在仿真参数对话框中,设置以下参数:
0rvBjlFT TE simulation
v3{%U1>}v Mesh Delta X: 0.015
N`~f77G Mesh Delta Z: 0.015
[^D>xD3B2 Time Step Size: Auto Run for 1000 Time steps
Bg}l$?S 设置边界条件设置X和Z边为各向异性PML边界条件。
X#HH7V> Number of Anisotropic PML layers: 15
O[\mPFu5 其它参数保持默认
%cBOi_}}~ 运行仿真
qWf[X' • 在仿真参数中点击Run按钮,启动仿真
=~5N/! • 在分析仪中,可以观察到各场分量的时域响应
hM[3l1o{| • 仿真完成后,点击“Yes”,启动分析仪。
j{D tjV8 w OOu/Y 远场分析
衍射波
E#,\[<pc 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
+d7Arg!m 2. 选择“Definition of the Cross Cut”为z方向
y06xl:iQwF 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
Z}{]/=h 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
efE=5%O 图4.远场计算对话框
'$rCV,3q ?J-\}X 5. 在远场对话框,设置以下参数:
TZGk[u^* Wavelength: 0.63
p5% %k- Refractive index: 1.5+0i
||ugb6q[6B Angle Initial: -90.0
d]:G#<. Angle Final: 90.0
4LW~ Number of Steps: 721
x6*y$D^B Distance: 100, 000*wavelength
RR'sW@ Intensity
3hxV`rb Xvoz4'Gme 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
bYZU}Kl;( 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
>; tE.CJH 图5.“Opti 2D Viewer”中的远场模式