光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
_eZ*_H,\ •使用VB脚本生成光栅(或周期性)布局。
! _p(H •光栅布局
模拟和后处理分析
]9PQKC2& 布局layout
zEy,aa:M 我们将模拟如图1所示的二维光栅布局。
@<ILF69b 图1.二维光栅布局
U#6<80Ke P}~nL
用VB脚本定义一个2D光栅布局
R5& R~1N 3R&
FzLs 步骤:
C8W4~~1S 1 通过在
文件菜单中选择“New”,启动一个新项目。
;"w?@ELE 2 在“Wafer Properties”对话框中设置以下
参数 =;(y5c Wafer Dimensions:
11YpC;[o Length (mm): 8.5
3%L@=q Width (mm): 3.0
4GqwY"ja >m+Fm= 2D wafer properties:
9/#?]LJ Wafer refractive index: Air
@(W{_ mw 3 点击 Profiles 与 Materials.
AlA:MO]NM +)ba9bJ| 在“Materials”中加入以下
材料:
rsn^YC Name: N=1.5
wAKm]?zB> Refractive index (Re:): 1.5
>K n7A ~UNK[ Name: N=3.14
;Q>+#5H6F8 Refractive index (Re:): 3.14
9A,ok[J YR-Ge 4.在“Profile”中定义以下轮廓:
:^rt8>~ Name: ChannelPro_n=3.14
N;S1s0FN 2D profile definition, Material: n=3.14
ybU_x 9>k_z&< Name: ChannelPro_n=1.5
<7
xX/Z}M 2D profile definition, Material: n=1.5
)skz_a}]8 %:}o\ _w 6.画出以下波导结构:
ib- H
jJ8 a. Linear waveguide 1
D"M[}$P Label: linear1
-?p4"[ Start Horizontal offset: 0.0
<O0.q. Start vertical offset: -0.75
Ctx`b[&KXX End Horizontal offset: 8.5
>
JV$EY, End vertical offset: -0.75
(v}4,'dS Channel Thickness Tapering: Use Default
#Q1}h Width: 1.5
Q<>b3X>O Depth: 0.0
s("\]K Profile: ChannelPro_n=1.5
'E"W;#% fj97_Q= b. Linear waveguide 2
W1_.wN$,5 Label: linear2
k}0b7er=R Start Horizontal offset: 0.5
{s>V'+H(F Start vertical offset: 0.05
"\+.S]~ End Horizontal offset: 1.0
CUnBi? Mi End vertical offset: 0.05
G@zJf)u} Channel Thickness Tapering: Use Default
U:0Ma6< Width: 0.1
]j0/.pG Depth: 0.0
NXX/JJ+w Profile: ChannelPro_n=3.14
[\e/xY(4 E N rcIZ 7.加入水平平面波:
)&j@ ={0 Continuous Wave Wavelength: 0.63 General:
$wC'qV
* Input field Transverse: Rectangular
d:pGdr& . X Position: 0.5
<Hr~|oG Direction: Negative Direction
:-Ml?:0_X Label: InputPlane1
&grqRt 2D Transverse:
ZeqsXz Center Position: 4.5
qTSe_Re Half width: 5.0
E>iN > Titlitng Angle: 45
01~
nC@; Effective Refractive Index: Local Amplitude: 1.0
NfWL3"&X 图2.波导结构(未设置周期)
[2PPa9F tl;b~k 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
erhez 将Linear2代码段修改如下:
wC?$P Dim Linear2
uUb`Fy9 for m=1 to 8
i5aY{3! Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
~jzjJ&O&
Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
nH<#MGBS Linear2.SetAttr "WidthExpr", "0.1"
6Ad C Linear2.SetAttr "Depth", "0"
wYr*('uT Linear2.SetAttr "StartThickness", "0.000000"
U C_$5~8p Linear2.SetAttr "EndThickness", "0.000000"
Z~].v._YV) Linear2.SetProfileName "ChannelPro_n=3.14"
msY6zJc` Linear2.SetDefaultThicknessTaperMode True
5> lIrBf h5(OjlMC 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
]!j%Ad 图3.光栅布局通过VB脚本生成
KP&xk13) (vp#?-i 设置仿真参数
y,/i3^y#_ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
CeeAw_*@ 2. 在仿真参数对话框中,设置以下参数:
mVFo2^%v TE simulation
]tzF
Ob Mesh Delta X: 0.015
c]n"1YNm Mesh Delta Z: 0.015
*E]:VZl
Time Step Size: Auto Run for 1000 Time steps
d^f rKPB 设置边界条件设置X和Z边为各向异性PML边界条件。
t3h ){jZ Number of Anisotropic PML layers: 15
_N=f&~T 其它参数保持默认
Y::O*I2 运行仿真
0U~*uDU • 在仿真参数中点击Run按钮,启动仿真
#; f50j!r • 在分析仪中,可以观察到各场分量的时域响应
B$n 1k45 • 仿真完成后,点击“Yes”,启动分析仪。
.)SR3? '4SDAa2f 远场分析
衍射波
l6L?jiTl_ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
!*f$*,=^ 2. 选择“Definition of the Cross Cut”为z方向
":f]egq
- 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
\Hdsy="Dnh 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
k?$I4&|5Nt 图4.远场计算对话框
I _gE`N T2 S fBs 5. 在远场对话框,设置以下参数:
|B^Mj57DO Wavelength: 0.63
uuxVVgWp{ Refractive index: 1.5+0i
U
E$Ix Angle Initial: -90.0
NJ]3qH Angle Final: 90.0
6oKdw|(Q# Number of Steps: 721
x
FWhr#5, Distance: 100, 000*wavelength
'y=N_/+s Intensity
tJ
2GSZ` a HVzBcCPh 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
%pxO<O 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Sg4{IU 图5.“Opti 2D Viewer”中的远场模式