光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
vv2N;/;I •使用VB脚本生成光栅(或周期性)布局。
7eQE[C •光栅布局
模拟和后处理分析
U~~Y'R\NU 布局layout
T 4}SF 我们将模拟如图1所示的二维光栅布局。
a@|/D\C 图1.二维光栅布局
q P<n< j@kL`Q\&I 用VB脚本定义一个2D光栅布局
dQoZhE -S7PnR6 步骤:
-= W" 1 通过在
文件菜单中选择“New”,启动一个新项目。
}PZz(Ms 2 在“Wafer Properties”对话框中设置以下
参数 5yvaY
"B Wafer Dimensions:
0p8Z l Length (mm): 8.5
i[:S *`@S Width (mm): 3.0
;l^4/BR <@BzF0 2D wafer properties:
'Zq$W]i Wafer refractive index: Air
l!n<.tQW 3 点击 Profiles 与 Materials.
sU
{' f@ &?K< 在“Materials”中加入以下
材料:
'%W'HqVcG1 Name: N=1.5
;z6Gk&? Refractive index (Re:): 1.5
87/!u]q x+kP,v Name: N=3.14
@W\y#5"B Refractive index (Re:): 3.14
GZ L{~7n FiTP-~
4.在“Profile”中定义以下轮廓:
z3l=aAw8 Name: ChannelPro_n=3.14
-qki^!Y? 2D profile definition, Material: n=3.14
-IBf;"8f /PP\L]( Name: ChannelPro_n=1.5
2b+0}u>a 2D profile definition, Material: n=1.5
(S:+#v 5:jbd:o 6.画出以下波导结构:
4dDDi,)U a. Linear waveguide 1
{x{/{{wzv Label: linear1
Z[.+Wd\)-9 Start Horizontal offset: 0.0
S.;>:Dd[K Start vertical offset: -0.75
KFCL|9P End Horizontal offset: 8.5
_Qy3A T~ End vertical offset: -0.75
K^V*JH\G Channel Thickness Tapering: Use Default
F{1;~Yg% Width: 1.5
9/lCW Depth: 0.0
8S&Kf>D Profile: ChannelPro_n=1.5
-Yaw>$nJ 4<S*g u*W b. Linear waveguide 2
"K EB0U Label: linear2
}*!7
Vrep Start Horizontal offset: 0.5
,"U8Fgf[r Start vertical offset: 0.05
zw{cli&S End Horizontal offset: 1.0
\V@Hf"=j End vertical offset: 0.05
RP]hW{:U Channel Thickness Tapering: Use Default
JPS7L} Kv Width: 0.1
\NYtxGV[Z Depth: 0.0
1Aq*|JSk( Profile: ChannelPro_n=3.14
!P7##ho0 39;Z+s"; 7.加入水平平面波:
SrV+Ox Continuous Wave Wavelength: 0.63 General:
:kycIM]s Input field Transverse: Rectangular
I0 y+,~\ X Position: 0.5
q% Eze Direction: Negative Direction
@MfuV4* Label: InputPlane1
aqvt$u8 2D Transverse:
Rd5ni2-nve Center Position: 4.5
=d/\8\4 Half width: 5.0
Lc>9[!+# Titlitng Angle: 45
VjU;[ Effective Refractive Index: Local Amplitude: 1.0
RU!j"T
5 图2.波导结构(未设置周期)
k^q}F%UV Jji~MiMn 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
$or?7 w> 将Linear2代码段修改如下:
fH.:#O: Dim Linear2
%Z-^Bu8;y for m=1 to 8
!F0MLvdX7^ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
~L!*p0dS^ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
} d /5_X Linear2.SetAttr "WidthExpr", "0.1"
6KiI3%y?0 Linear2.SetAttr "Depth", "0"
@Taj++ua Linear2.SetAttr "StartThickness", "0.000000"
7<Fp3N 3 Linear2.SetAttr "EndThickness", "0.000000"
kJ6=T6s Linear2.SetProfileName "ChannelPro_n=3.14"
jB]tq2i Linear2.SetDefaultThicknessTaperMode True
-Iz&/u*}f q<> 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
`nccRy<l 图3.光栅布局通过VB脚本生成
2Mc/ah \H$Ps9Xh 设置仿真参数
! /Z{uy 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
-If-c'"G 2. 在仿真参数对话框中,设置以下参数:
@ViJJ\ TE simulation
.BGM1ph}~ Mesh Delta X: 0.015
./@!k[ Mesh Delta Z: 0.015
hd~X c Time Step Size: Auto Run for 1000 Time steps
P&3'N~k- 设置边界条件设置X和Z边为各向异性PML边界条件。
VOBzB] Number of Anisotropic PML layers: 15
7<[p1C*B 其它参数保持默认
0$3\DS<E 运行仿真
]trVlmZXH} • 在仿真参数中点击Run按钮,启动仿真
NLFSw • 在分析仪中,可以观察到各场分量的时域响应
6#XB'PR2p • 仿真完成后,点击“Yes”,启动分析仪。
8P r H"pI Ghgx8 ]e 远场分析
衍射波
8~?3: IZ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
q10gKVJum 2. 选择“Definition of the Cross Cut”为z方向
=>Y b~r71 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
xwa5dtcng 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
ZdHfZ3)dB 图4.远场计算对话框
s z f3e#.jan 5. 在远场对话框,设置以下参数:
bs!N~,6h Wavelength: 0.63
W
B)<B Refractive index: 1.5+0i
M:|Z3p K Angle Initial: -90.0
"bAkS}(hB( Angle Final: 90.0
;cl\$TDL Number of Steps: 721
E4RvVfA0F Distance: 100, 000*wavelength
LRBcW;.Su Intensity
Z]l<,m }}XYV eI 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
edhNQWn 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
9Vz1*4Ln 图5.“Opti 2D Viewer”中的远场模式