光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
dayp1%d •使用VB脚本生成光栅(或周期性)布局。
eLE9-K+ •光栅布局
模拟和后处理分析
vl59|W6 布局layout
*I,3,zO 我们将模拟如图1所示的二维光栅布局。
uMOm<kn 图1.二维光栅布局
vQf'lEFk y\0<f `v6 用VB脚本定义一个2D光栅布局
{.F``2 $jMU|{ 步骤:
BkfWZ O{7 1 通过在
文件菜单中选择“New”,启动一个新项目。
]=ar&1}J 2 在“Wafer Properties”对话框中设置以下
参数 k<W n Wafer Dimensions:
.s$#: ls? Length (mm): 8.5
dv3+x\`9 Width (mm): 3.0
$__e7 ]}z;!D> 2D wafer properties:
K|*Cka{ Wafer refractive index: Air
bDd$79@m 3 点击 Profiles 与 Materials.
lsmzy_gV7 +SCUS] 在“Materials”中加入以下
材料:
[XFZ2'OO Name: N=1.5
XP'Mv_!Z Refractive index (Re:): 1.5
N,v4SIC@ !R,9Pg*Ey Name: N=3.14
- bL
7M5 Refractive index (Re:): 3.14
^$3 ~;/|
PRmZ3 4.在“Profile”中定义以下轮廓:
[{3WHS. Name: ChannelPro_n=3.14
]P/eg$u'I 2D profile definition, Material: n=3.14
G#V5E)Dx 5wXe^G Name: ChannelPro_n=1.5
7kpCBLM(} 2D profile definition, Material: n=1.5
1lRqjnzve& N{n}]Js1D- 6.画出以下波导结构:
Yh/-6wg a. Linear waveguide 1
E\!:MCL Label: linear1
KLBV(`MS Start Horizontal offset: 0.0
/bA\O
Start vertical offset: -0.75
_@D}2 End Horizontal offset: 8.5
PHRc*G{ End vertical offset: -0.75
=y >P>&sI Channel Thickness Tapering: Use Default
Gjuc"JR7 Width: 1.5
-k\7k2 Depth: 0.0
ll;#4~iA Profile: ChannelPro_n=1.5
@(.?e< &H\$O.?f b. Linear waveguide 2
Bv"Fx*{W Label: linear2
<x@\3{{U Start Horizontal offset: 0.5
'N,3]Soi Start vertical offset: 0.05
j9C=m"O End Horizontal offset: 1.0
&*g5kh{ End vertical offset: 0.05
&|<~J(L; Channel Thickness Tapering: Use Default
&rj6<b1A Width: 0.1
}]sI?&xB Depth: 0.0
#f]R:Ix> Profile: ChannelPro_n=3.14
{(G@YG? 8 g'9( )& 7.加入水平平面波:
QQ@, v@j5 Continuous Wave Wavelength: 0.63 General:
s<0yQ-=.?N Input field Transverse: Rectangular
jsTb0 X Position: 0.5
o*/\oVOq Direction: Negative Direction
SqY;2: Label: InputPlane1
sw*k(i 2D Transverse:
j-$aa; Center Position: 4.5
G1B~?i2$ ? Half width: 5.0
OB3AZH$ Titlitng Angle: 45
;}K1c+m!5V Effective Refractive Index: Local Amplitude: 1.0
] d| -r:4 图2.波导结构(未设置周期)
h./cs'& GSV, 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
mh44 将Linear2代码段修改如下:
heZ)+}U~ Dim Linear2
"n
'*_rh>+ for m=1 to 8
_5M!ec Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
;3\Fb3d Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
&dvJg Linear2.SetAttr "WidthExpr", "0.1"
`ZN@L<I6 Linear2.SetAttr "Depth", "0"
u]E% R& Linear2.SetAttr "StartThickness", "0.000000"
G%ycAm Linear2.SetAttr "EndThickness", "0.000000"
=pWpHbB. Linear2.SetProfileName "ChannelPro_n=3.14"
P;KbS~ SlC Linear2.SetDefaultThicknessTaperMode True
h0n0Dc{4 3]'=s>UO>^ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
?>q=Nf^ Q. 图3.光栅布局通过VB脚本生成
{114
[ m'k`p5[=h 设置仿真参数
mUr@w*kq|p 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
eHv~?b5l 2. 在仿真参数对话框中,设置以下参数:
psRm*,*O TE simulation
~'fa,XZ< Mesh Delta X: 0.015
_1y|#o Mesh Delta Z: 0.015
g/+M&k$ Time Step Size: Auto Run for 1000 Time steps
sLbz@5 4 设置边界条件设置X和Z边为各向异性PML边界条件。
o)}b Fw Number of Anisotropic PML layers: 15
f;u;hQxs 其它参数保持默认
WbH/K]/1)h 运行仿真
%n}fkj' • 在仿真参数中点击Run按钮,启动仿真
a}E8ADyC • 在分析仪中,可以观察到各场分量的时域响应
l[G,sq" • 仿真完成后,点击“Yes”,启动分析仪。
nq/xD;q +6<MK; 远场分析
衍射波
pI(FUoP^ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
[$[t.m 2. 选择“Definition of the Cross Cut”为z方向
+Q-~~v7, 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
0 {{7 " 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
+*0THol- 图4.远场计算对话框
3{M IBMA @T/C<- /: 5. 在远场对话框,设置以下参数:
n^&QOII@> Wavelength: 0.63
-<z'f){gb Refractive index: 1.5+0i
gK)B3dH*& Angle Initial: -90.0
qwFn(pK[ Angle Final: 90.0
}T,E$vsx Number of Steps: 721
$<s@S;Ri Distance: 100, 000*wavelength
<S$y=>.9 Intensity
aE{b65'Dt =j;o,
J:( 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
P#ru-0DD 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
{##A|{$3% 图5.“Opti 2D Viewer”中的远场模式