光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
%a5t15 9 •使用VB脚本生成光栅(或周期性)布局。
u7HvdLql •光栅布局
模拟和后处理分析
'WK;$XQ 布局layout
0Cl,8P 我们将模拟如图1所示的二维光栅布局。
B&?fM~J 图1.二维光栅布局
vYDSu.C@a R|iEv t 用VB脚本定义一个2D光栅布局
m}98bw "K ,bH 步骤:
bFg*l$`5 1 通过在
文件菜单中选择“New”,启动一个新项目。
5MxH)~VQoM 2 在“Wafer Properties”对话框中设置以下
参数 , jy<o+! Wafer Dimensions:
Y
%K~w Length (mm): 8.5
6/| 0+G^ Width (mm): 3.0
@g4Shlx| 20aZI2sk` 2D wafer properties:
n@
4@, Wafer refractive index: Air
}|Uj"e 3 点击 Profiles 与 Materials.
%tV32l= /|GT\X4o 在“Materials”中加入以下
材料:
M#xQW`-` Name: N=1.5
wUoiXi09 Refractive index (Re:): 1.5
G$C}?"l uFZ~ Name: N=3.14
CM9 XPr Refractive index (Re:): 3.14
Edw2W8 ;K_}A4K 4.在“Profile”中定义以下轮廓:
}f#_4ACaD Name: ChannelPro_n=3.14
T7{<arL$ 2D profile definition, Material: n=3.14
f ba&` &|b4\uj9 Name: ChannelPro_n=1.5
I5qM.@%zB 2D profile definition, Material: n=1.5
bhD ~4Rz ;WD,x:>blO 6.画出以下波导结构:
EUy(T1Cl&& a. Linear waveguide 1
6PU/{c Label: linear1
GP+2/D Start Horizontal offset: 0.0
XA)'=L!^ Start vertical offset: -0.75
ZqQ*}l5 End Horizontal offset: 8.5
5;mRGY End vertical offset: -0.75
q\Rq!7( Channel Thickness Tapering: Use Default
BX[~%iE Width: 1.5
DtWx r Depth: 0.0
CvK3H\.&;k Profile: ChannelPro_n=1.5
gO='A(Y KlN/\N\ b. Linear waveguide 2
:"<e0wDu[ Label: linear2
@QdnjXII* Start Horizontal offset: 0.5
v^SsoX>WMH Start vertical offset: 0.05
D`pQ7 End Horizontal offset: 1.0
2no$+4+z End vertical offset: 0.05
(wuaxo: Channel Thickness Tapering: Use Default
o0ZBi|U\4 Width: 0.1
KVR~jF% Depth: 0.0
S`m,S4-eD Profile: ChannelPro_n=3.14
l!?yu]Yon >{5
p0 7.加入水平平面波:
?mx\eX{ Continuous Wave Wavelength: 0.63 General:
#G#g|x*V Input field Transverse: Rectangular
Icx7.Y X Position: 0.5
Nu^p Direction: Negative Direction
|sIr?RL{C Label: InputPlane1
M:|8]y@ 2D Transverse:
4w4^yQE Center Position: 4.5
m\ S\3n Half width: 5.0
7Xg?U'X Titlitng Angle: 45
M;jcUX_{ Effective Refractive Index: Local Amplitude: 1.0
}D*yr3b 图2.波导结构(未设置周期)
<T+!V-Pj* G:IP? z] 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
&Z;_TN9[ 将Linear2代码段修改如下:
C\}/" Dim Linear2
qMP1k7uG) for m=1 to 8
tY+$$GSQj Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
C ^w)|2o} Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
TL0[@rr4 Linear2.SetAttr "WidthExpr", "0.1"
lCIDBBjy^ Linear2.SetAttr "Depth", "0"
4)kG-[# Linear2.SetAttr "StartThickness", "0.000000"
!eI2r Linear2.SetAttr "EndThickness", "0.000000"
$,fy$
Qk,S Linear2.SetProfileName "ChannelPro_n=3.14"
6C [E Linear2.SetDefaultThicknessTaperMode True
< zOi4v0 MS3=~*+ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
'cBBt 图3.光栅布局通过VB脚本生成
ZU{4lhe a.2L*>p 设置仿真参数
X~oK[Nf'9 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
H8{ol6wc)6 2. 在仿真参数对话框中,设置以下参数:
}TB(7bbd; TE simulation
R=]d%L8 Mesh Delta X: 0.015
4J0Rvod_ Mesh Delta Z: 0.015
:E&g%'1 Time Step Size: Auto Run for 1000 Time steps
N&,]^>^u 设置边界条件设置X和Z边为各向异性PML边界条件。
[?k8}B)mHB Number of Anisotropic PML layers: 15
k@dN$O%p 其它参数保持默认
][&9]omB 运行仿真
(R!hj w~ • 在仿真参数中点击Run按钮,启动仿真
IkPN?N • 在分析仪中,可以观察到各场分量的时域响应
HKDID[d0 • 仿真完成后,点击“Yes”,启动分析仪。
rl08R
2]cRXJ7h 远场分析
衍射波
)h{ ]k= 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
=elpH^N 2. 选择“Definition of the Cross Cut”为z方向
MGJ.,tK1 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
a<~77~"4wn 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
he(A3{' 图4.远场计算对话框
%]2,& R?o$Y6}5 5. 在远场对话框,设置以下参数:
(kv?33 Wavelength: 0.63
ml`8HXK0 Refractive index: 1.5+0i
yQ,{p@#X8 Angle Initial: -90.0
kF"@Ngv. Angle Final: 90.0
_Q[$CcDEE Number of Steps: 721
Gh.[dF? Distance: 100, 000*wavelength
@.Icz Intensity
Ej".axjT ZyrI R 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
\%]I{ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
*z*uEcitW 图5.“Opti 2D Viewer”中的远场模式