光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
I1~g?jpH •使用VB脚本生成光栅(或周期性)布局。
Izu.I_$4 •光栅布局
模拟和后处理分析
w$4Lu"N: 布局layout
F{,O+\ 我们将模拟如图1所示的二维光栅布局。
fna>> 图1.二维光栅布局
'r%oOZk)z bB-v ar 用VB脚本定义一个2D光栅布局
,0bM*qob ^@2Vh*k 步骤:
p/~kw:I 1 通过在
文件菜单中选择“New”,启动一个新项目。
cG:`Zj~4 2 在“Wafer Properties”对话框中设置以下
参数 v_0!uT5~NE Wafer Dimensions:
~@a
R5Q>us Length (mm): 8.5
P}`1#$ Width (mm): 3.0
*
U4:K@y }o-P 2D wafer properties:
,be?GAq Wafer refractive index: Air
3~ZVAg[c 3 点击 Profiles 与 Materials.
W)cLMGet _4$DnQ6& 在“Materials”中加入以下
材料:
N~jQ!y Name: N=1.5
c^IEj1@}'? Refractive index (Re:): 1.5
/p0LtUMu Rn_c9p
Name: N=3.14
,IE0+!I Refractive index (Re:): 3.14
9K<a}QJP w>_EM&r6~u 4.在“Profile”中定义以下轮廓:
':]a.yA\1 Name: ChannelPro_n=3.14
1 ,'^BgI, 2D profile definition, Material: n=3.14
qhtAtP>i" ,r;d { Name: ChannelPro_n=1.5
9G+rxyWMW 2D profile definition, Material: n=1.5
I;H9<o5 a HL '(< 6.画出以下波导结构:
ZF(=^.gc a. Linear waveguide 1
gq3OCA!cX Label: linear1
ot#kU 8f Start Horizontal offset: 0.0
+Uq:sfj, Start vertical offset: -0.75
7,UFIHq End Horizontal offset: 8.5
4CT9-2UC End vertical offset: -0.75
Eo&qc 17)` Channel Thickness Tapering: Use Default
@(fY4]K Width: 1.5
$4JX#lkt Depth: 0.0
#`0z=w/) Profile: ChannelPro_n=1.5
}yDq\5s
Q[ C)p<M H< b. Linear waveguide 2
.WyX/E$I^! Label: linear2
y4rJ- Start Horizontal offset: 0.5
9?chCO(@ Start vertical offset: 0.05
S@NhEc End Horizontal offset: 1.0
E=lfg8yb: End vertical offset: 0.05
|o=ST
Channel Thickness Tapering: Use Default
Yka&Kkw Width: 0.1
[Vp2!" Depth: 0.0
bI6wE'h Profile: ChannelPro_n=3.14
e7qMt[. p+UHJ& 7.加入水平平面波:
#'J7Wy Continuous Wave Wavelength: 0.63 General:
l!V| T? Input field Transverse: Rectangular
Z;SG< X Position: 0.5
B\>}X_\4 Direction: Negative Direction
L4*fF Label: InputPlane1
x~Ly$A2p 2D Transverse:
edk9Qd9 Center Position: 4.5
aDvO(C Half width: 5.0
8!Mzr1: Titlitng Angle: 45
N<"6=z@w+ Effective Refractive Index: Local Amplitude: 1.0
C|IQM4 图2.波导结构(未设置周期)
^1yTL5#:Vw m3Z}eC8LK 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
';|>`< 将Linear2代码段修改如下:
pjs9b%. Dim Linear2
G^@Jgx3n for m=1 to 8
NF(IF.8G Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
-L3
|9k
Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
mYOdBd Linear2.SetAttr "WidthExpr", "0.1"
~K$"PKs3 Linear2.SetAttr "Depth", "0"
P9mxY*K)%5 Linear2.SetAttr "StartThickness", "0.000000"
V -4*nV Linear2.SetAttr "EndThickness", "0.000000"
_.*4Y Linear2.SetProfileName "ChannelPro_n=3.14"
/Q>{YsRRB Linear2.SetDefaultThicknessTaperMode True
FoD/Q
)P9{47 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
h* %0@ 图3.光栅布局通过VB脚本生成
\R>5F\ 0 fy=C!N&/ 设置仿真参数
mImbS)V 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
IL2Gsj)M 2. 在仿真参数对话框中,设置以下参数:
-1r &s TE simulation
9_A0:S9Z Mesh Delta X: 0.015
vWi.[] Mesh Delta Z: 0.015
X)iWb(@k"7 Time Step Size: Auto Run for 1000 Time steps
+s(IQt 设置边界条件设置X和Z边为各向异性PML边界条件。
5az
4N T Number of Anisotropic PML layers: 15
Re,$<9V 其它参数保持默认
ZR-s{2sl 运行仿真
+V+*7s%fL • 在仿真参数中点击Run按钮,启动仿真
ZDkD%SCy • 在分析仪中,可以观察到各场分量的时域响应
CNRU"I+jU • 仿真完成后,点击“Yes”,启动分析仪。
"kBqY+:Cn BXK::M+ 远场分析
衍射波
)4L%zl7 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
fov=Yd! 2. 选择“Definition of the Cross Cut”为z方向
kGuk
-P 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
9<(K6Q 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
h6T/0YhWLP 图4.远场计算对话框
ZOrTbik E4v_2Q
-w 5. 在远场对话框,设置以下参数:
Y0u'@l_[F Wavelength: 0.63
'f?&EsIV? Refractive index: 1.5+0i
~Riu*< Angle Initial: -90.0
ADv"_bB:h Angle Final: 90.0
OBw`!G*w Number of Steps: 721
KIAe36.~ Distance: 100, 000*wavelength
D"x$^6`c} Intensity
A{8K#@! #?$'nya*u 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
<`p75B 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
igj={==m 图5.“Opti 2D Viewer”中的远场模式