光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
\QMRuR. •使用VB脚本生成光栅(或周期性)布局。
`BKV/Xl •光栅布局
模拟和后处理分析
QR{pph*zn- 布局layout
ood,k{ 我们将模拟如图1所示的二维光栅布局。
[f@[gE 图1.二维光栅布局
-x0u}I k|F TT 用VB脚本定义一个2D光栅布局
+ Awo\;@, kmF@u@5M 步骤:
H6%%n
X 1 通过在
文件菜单中选择“New”,启动一个新项目。
f-l(H="e 2 在“Wafer Properties”对话框中设置以下
参数 qHra9yuSh Wafer Dimensions:
Kv>P+I'|r Length (mm): 8.5
z(_#C
s Width (mm): 3.0
!6:X] _|vY)4B4U 2D wafer properties:
"1%YtV5R{ Wafer refractive index: Air
3=xN)j#B 3 点击 Profiles 与 Materials.
zDx*R3% ;-!j,V+$h 在“Materials”中加入以下
材料:
1|/]bffg!c Name: N=1.5
Oa/# 2C~ Refractive index (Re:): 1.5
uQ'Izdm ;7w4BJcq'] Name: N=3.14
5Cjh%rj(jl Refractive index (Re:): 3.14
,"EgYd8-' TW5Pt{X=f 4.在“Profile”中定义以下轮廓:
v3/l=e?u Name: ChannelPro_n=3.14
vv5 u U8 2D profile definition, Material: n=3.14
, UiA?7k ( !=^ (Nd Name: ChannelPro_n=1.5
yITL;dBy 2D profile definition, Material: n=1.5
t2 0Es +JrbC/& 6.画出以下波导结构:
bfl%yGkd/| a. Linear waveguide 1
>0Gdxj]\ Label: linear1
|VxO ,[~ Start Horizontal offset: 0.0
TM2pE/P Start vertical offset: -0.75
_m2p>(N| End Horizontal offset: 8.5
HyKv5S$ End vertical offset: -0.75
k1HVvMD< Channel Thickness Tapering: Use Default
{]V+C=` Width: 1.5
UK!PMkX Depth: 0.0
YR/%0^M'0 Profile: ChannelPro_n=1.5
3;Ztm$8 "yA=Tw b. Linear waveguide 2
q@0g KC&U Label: linear2
|];f?1 Start Horizontal offset: 0.5
O/1:2G/` Start vertical offset: 0.05
h}SP` End Horizontal offset: 1.0
>3&Oe End vertical offset: 0.05
<yxy ;o Channel Thickness Tapering: Use Default
}I>h<O Width: 0.1
%Z]c[V. Depth: 0.0
rf= ndjrH Profile: ChannelPro_n=3.14
#[$zbZ(I>: dDxb}dx8 7.加入水平平面波:
nC 2e^=^ Continuous Wave Wavelength: 0.63 General:
q\]"}M8 Input field Transverse: Rectangular
UZJ<|[ X Position: 0.5
>^N{ Direction: Negative Direction
v{c,>]@ Label: InputPlane1
w8iXuRv 2D Transverse:
c%x9.s<+1 Center Position: 4.5
"
.<>(bE Half width: 5.0
7I4<Dj Titlitng Angle: 45
6haw\ * Effective Refractive Index: Local Amplitude: 1.0
EV.F/Wh 图2.波导结构(未设置周期)
d$qi.%<kh |9Pi*)E 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
+ J` Qv,0 将Linear2代码段修改如下:
*F;W 1TF Dim Linear2
v9"|VhZ for m=1 to 8
K=N8O8R$y Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
s8V:;$ ! Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
4H*M^?h\# Linear2.SetAttr "WidthExpr", "0.1"
F!7\Za, Linear2.SetAttr "Depth", "0"
WG]`Sy Linear2.SetAttr "StartThickness", "0.000000"
y%!zXK`cl] Linear2.SetAttr "EndThickness", "0.000000"
^@HWw@GA Linear2.SetProfileName "ChannelPro_n=3.14"
8T5W6Zs1 Linear2.SetDefaultThicknessTaperMode True
?<efKs Uu[dx}y 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
`R
m<1 图3.光栅布局通过VB脚本生成
Z9q1z~qSQ !uW;Ea? 设置仿真参数
o3cE.YUF 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
utU;M* 2. 在仿真参数对话框中,设置以下参数:
>XPR)&t TE simulation
Go)}%[@w Mesh Delta X: 0.015
ov\+&=IRG Mesh Delta Z: 0.015
&$yDnSt\ Time Step Size: Auto Run for 1000 Time steps
y*e({fio_ 设置边界条件设置X和Z边为各向异性PML边界条件。
nhy:5eSK Number of Anisotropic PML layers: 15
i
hcSS Um 其它参数保持默认
/HVxZ2bar 运行仿真
1v inO! • 在仿真参数中点击Run按钮,启动仿真
"2ZuI;w • 在分析仪中,可以观察到各场分量的时域响应
d)kOW!5\ • 仿真完成后,点击“Yes”,启动分析仪。
A [_T~+-G C6A!JegU 远场分析
衍射波
w1LZ\nA< 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
tuJ{IF 2. 选择“Definition of the Cross Cut”为z方向
0[p"8+x 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
1L%$\0B4hm 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
#giH`|#d 图4.远场计算对话框
^qLesP#
@<koL 5. 在远场对话框,设置以下参数:
xy]oj Wavelength: 0.63
K"zRj L+ Refractive index: 1.5+0i
;Kh?iqn^ Angle Initial: -90.0
|3g'~E?$ Angle Final: 90.0
R`M@;9I.@ Number of Steps: 721
ul]hvK{2 Distance: 100, 000*wavelength
Q]<6voyy Intensity
K/_"ybR7 6!H,(Z]j 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
^O!;KIe{g 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Y]!&, e, 图5.“Opti 2D Viewer”中的远场模式