光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
YZ7.1`8 •使用VB脚本生成光栅(或周期性)布局。
r|Z{-*` •光栅布局
模拟和后处理分析
?4uL-z](V 布局layout
"jCu6Rj d 我们将模拟如图1所示的二维光栅布局。
c " ,*h 图1.二维光栅布局
}2oc#0 7:~_D7n 用VB脚本定义一个2D光栅布局
0 {mex4 DNi+"[~&P 步骤:
! P4*+')M 1 通过在
文件菜单中选择“New”,启动一个新项目。
!m$jk2< 2 在“Wafer Properties”对话框中设置以下
参数 8k79&| Wafer Dimensions:
Z :gyz$9w Length (mm): 8.5
*ui</+ Width (mm): 3.0
!9x} 9 $X- 2D wafer properties:
5-M-X#( Wafer refractive index: Air
=c7;r]Ol 3 点击 Profiles 与 Materials.
\NC3'G:Ii P;*(hY5& 在“Materials”中加入以下
材料:
M=Wz Name: N=1.5
%)n=x
ne Refractive index (Re:): 1.5
mc3"`+o 05[SC}MCA Name: N=3.14
11lsf/IP Refractive index (Re:): 3.14
v,t:+
!8 v0y(58Rz. 4.在“Profile”中定义以下轮廓:
j.YA2mr Name: ChannelPro_n=3.14
NVs@S-rpX 2D profile definition, Material: n=3.14
#;<Y[hR{P j!ch5A Name: ChannelPro_n=1.5
1eKT^bgM 2D profile definition, Material: n=1.5
svSVG:48 t&p|Ynz?i 6.画出以下波导结构:
= /8cp a. Linear waveguide 1
E.f%H(b Label: linear1
4I7>f]=) Start Horizontal offset: 0.0
cNH7C"@GVu Start vertical offset: -0.75
ElXFeJ%[G End Horizontal offset: 8.5
liSmjsk End vertical offset: -0.75
`{Ul! Channel Thickness Tapering: Use Default
Cyp'?N
Width: 1.5
/(LL3cZK Depth: 0.0
<QvOs@i* Profile: ChannelPro_n=1.5
Mfs?x
a t^L]/$q b. Linear waveguide 2
j#6.Gq Label: linear2
9VT;ep Start Horizontal offset: 0.5
2?x4vI
np; Start vertical offset: 0.05
cu6Opq9 End Horizontal offset: 1.0
ry!!9Z>9n End vertical offset: 0.05
`2snz1>!j Channel Thickness Tapering: Use Default
{8aTV}Ha2 Width: 0.1
Q20%"&Xp] Depth: 0.0
6wxs1G Profile: ChannelPro_n=3.14
nrb Ok4Dz 1"g<0
W 7.加入水平平面波:
xfQ1T)F3g Continuous Wave Wavelength: 0.63 General:
AR=]=8 Input field Transverse: Rectangular
$C\BcKlmv X Position: 0.5
yjAL\U7`T Direction: Negative Direction
8_8l.!~ Label: InputPlane1
Vc2`b3"Br 2D Transverse:
g'gdgfvn Center Position: 4.5
hQi2U Half width: 5.0
B3BN`mdn> Titlitng Angle: 45
l\mPHA23 Effective Refractive Index: Local Amplitude: 1.0
nlYNN/@" 图2.波导结构(未设置周期)
"fI6Cpc vbNBLCwug 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
G?ZXWu. 将Linear2代码段修改如下:
xwr8`?]y Dim Linear2
s CRdtP for m=1 to 8
2?5>o!C Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
}}[2SH'nH Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Zh,71Umz Linear2.SetAttr "WidthExpr", "0.1"
P%6~&woF Linear2.SetAttr "Depth", "0"
R8Tx[CJ5 Linear2.SetAttr "StartThickness", "0.000000"
>bxS3FCX Linear2.SetAttr "EndThickness", "0.000000"
.h[:xYm Linear2.SetProfileName "ChannelPro_n=3.14"
hj:,S| Linear2.SetDefaultThicknessTaperMode True
R@0R`Zs 25T18&R 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Q@niNDaW2 图3.光栅布局通过VB脚本生成
y^k$Us $Y;RKe9 设置仿真参数
SIllU 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
Tk>#G{Wb- 2. 在仿真参数对话框中,设置以下参数:
?(PKeq6 TE simulation
JVJMgim)0 Mesh Delta X: 0.015
iwq!w6+ Mesh Delta Z: 0.015
nNm`Hfi Time Step Size: Auto Run for 1000 Time steps
J05e#-)<K 设置边界条件设置X和Z边为各向异性PML边界条件。
5bIw?%dk( Number of Anisotropic PML layers: 15
DqPw#<"H 其它参数保持默认
/{[o~:'p 运行仿真
ZG:{[sT • 在仿真参数中点击Run按钮,启动仿真
R/_&m$ZB • 在分析仪中,可以观察到各场分量的时域响应
omFz@ • 仿真完成后,点击“Yes”,启动分析仪。
?5p>BER? >usL*b0% 远场分析
衍射波
@L`jk+Y0vF 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
lMt=|66 2. 选择“Definition of the Cross Cut”为z方向
>eaaaq9B- 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
CAlCDfKW} 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
B:<VA= 图4.远场计算对话框
"N;EL0= YQ}o?Q$z 5. 在远场对话框,设置以下参数:
_M1 %Z~ Wavelength: 0.63
-/4P3SG/ Refractive index: 1.5+0i
jo7\`#(Q Angle Initial: -90.0
o4;(Zi#Z Angle Final: 90.0
~~.}ah/_d Number of Steps: 721
gIfh3 D=yX Distance: 100, 000*wavelength
IgzQr > Intensity
YR70BOxK xLE)/}y_7H 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
rjP/l6
~' 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
NlqImM=r, 图5.“Opti 2D Viewer”中的远场模式