光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
n}?G!ySg •使用VB脚本生成光栅(或周期性)布局。
'1
$ ({{R •光栅布局
模拟和后处理分析
zJ`(LnV 布局layout
e8 aV
qq[ 我们将模拟如图1所示的二维光栅布局。
<k6xScy$} 图1.二维光栅布局
U;@jl?jnG ~B@o?8D] 用VB脚本定义一个2D光栅布局
:bDA<B6bb j[cjQ]>~' 步骤:
m5X=P5U 1 通过在
文件菜单中选择“New”,启动一个新项目。
=;=V4nKN 2 在“Wafer Properties”对话框中设置以下
参数 #O+]ydvT Wafer Dimensions:
?g4|EV-56 Length (mm): 8.5
I>#ChV)(# Width (mm): 3.0
^nF$<#a UGt7iT<`8 2D wafer properties:
{eEWfMKIn Wafer refractive index: Air
uek3Y[n 3 点击 Profiles 与 Materials.
F w m:c[G 5.#9}] 在“Materials”中加入以下
材料:
=[+&({ Name: N=1.5
5qEdN Refractive index (Re:): 1.5
F4%[R) z]AS@}wWqg Name: N=3.14
;hJ*u Refractive index (Re:): 3.14
J|24I4 hp4(f W 4.在“Profile”中定义以下轮廓:
ie5ijkxZ( Name: ChannelPro_n=3.14
MA#!<b(' 2D profile definition, Material: n=3.14
vP?S0>gh Yj\yO(o/ Name: ChannelPro_n=1.5
m4>oE|\ 2D profile definition, Material: n=1.5
8]\h^k4f !
hr@{CD 6.画出以下波导结构:
_|:bac8pL a. Linear waveguide 1
{{%8|+B Label: linear1
=Gz>ZWF Start Horizontal offset: 0.0
ss8v4@C Start vertical offset: -0.75
i6 ?JX@I End Horizontal offset: 8.5
<h51KPo^P End vertical offset: -0.75
>8O=^7 Channel Thickness Tapering: Use Default
N-YZ0/c Width: 1.5
1>y=i+T/b Depth: 0.0
G5J ZB7C Profile: ChannelPro_n=1.5
'|N4fbZd !bQ
&n b. Linear waveguide 2
"mDrJTWa Label: linear2
e*6` dz@ Start Horizontal offset: 0.5
(kyo?3 Start vertical offset: 0.05
C*e[CP@u End Horizontal offset: 1.0
`f+g A End vertical offset: 0.05
nY-9
1q?Y Channel Thickness Tapering: Use Default
,ri--< Width: 0.1
q.[[c Depth: 0.0
U2lC !j%K Profile: ChannelPro_n=3.14
/~cL L b\m(0/x 7.加入水平平面波:
Z*)Y:tk)b Continuous Wave Wavelength: 0.63 General:
"sX?wTag Input field Transverse: Rectangular
jI<WzvhYG X Position: 0.5
'/gwC7*-& Direction: Negative Direction
6 Ok=q:; Label: InputPlane1
"d>g)rvOc 2D Transverse:
A""*vqA Center Position: 4.5
GiO#1gA Half width: 5.0
p<fgUVR Titlitng Angle: 45
'!h0![OH Effective Refractive Index: Local Amplitude: 1.0
AaC1||?R 图2.波导结构(未设置周期)
Is6 _ maEpT43f 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
3=|2Gs?ut 将Linear2代码段修改如下:
8 E+C:" Dim Linear2
4yZ+,hqJ<9 for m=1 to 8
cPaWJ+c Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
(Cd{#j< Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
9`n)"r Linear2.SetAttr "WidthExpr", "0.1"
G$|;~'E Linear2.SetAttr "Depth", "0"
xXxh3 k\ Linear2.SetAttr "StartThickness", "0.000000"
/A))"D Linear2.SetAttr "EndThickness", "0.000000"
8Y~=\(5> Linear2.SetProfileName "ChannelPro_n=3.14"
LI;Efy L Linear2.SetDefaultThicknessTaperMode True
Dzjt|U0ru9 C
3XZD4.2 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
ig_<kj;Vd 图3.光栅布局通过VB脚本生成
X<}o>
6|d :8-gm"awL5 设置仿真参数
HGQ?(2] 8$ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
q(tGbhQ 2. 在仿真参数对话框中,设置以下参数:
bb/?02*)H TE simulation
\pD=Lv9 Mesh Delta X: 0.015
g_U~.?Db7 Mesh Delta Z: 0.015
T\
}v$A03 Time Step Size: Auto Run for 1000 Time steps
QT= ,En 设置边界条件设置X和Z边为各向异性PML边界条件。
3)c
K*8# Number of Anisotropic PML layers: 15
ssyd8LC# 其它参数保持默认
]F*a PV 运行仿真
+=~%S)9F • 在仿真参数中点击Run按钮,启动仿真
@?7{%j* • 在分析仪中,可以观察到各场分量的时域响应
[+MX$y • 仿真完成后,点击“Yes”,启动分析仪。
C| L^Ds0 u!3]RGJ 远场分析
衍射波
DMcxa.Sd! 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
kAB+28A 2. 选择“Definition of the Cross Cut”为z方向
{29S`-|P 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
87pXv6'FQ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
hKZ`DB4 图4.远场计算对话框
KA-/k@1& "`i:)E t 5. 在远场对话框,设置以下参数:
Ds%&Mi Wavelength: 0.63
_:Jp*z Refractive index: 1.5+0i
"ryk\}*< Angle Initial: -90.0
E_D ^O Angle Final: 90.0
sL AuR Number of Steps: 721
iA3>X-x
Distance: 100, 000*wavelength
euj8p:+X Intensity
8lWH=kA\ >'}=.3\ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
'uKkl(==% 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
I' ! r 图5.“Opti 2D Viewer”中的远场模式