光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
)%TmAaj9d •使用VB脚本生成光栅(或周期性)布局。
a?1Wq •光栅布局
模拟和后处理分析
~N4m1s" 布局layout
w0.
u\ 我们将模拟如图1所示的二维光栅布局。
tQVVhXQ7 图1.二维光栅布局
5P bW[ 4g/dP^ 用VB脚本定义一个2D光栅布局
*~`(RV :FF=a3/"6 步骤:
Py<}S-: 1 通过在
文件菜单中选择“New”,启动一个新项目。
6BlXLQ,8q 2 在“Wafer Properties”对话框中设置以下
参数
7GGUV Wafer Dimensions:
6]N.%Y[( Length (mm): 8.5
;uW FHc5@B Width (mm): 3.0
TeQV?ZQ#} 9c],<;{' 2D wafer properties:
y =@N|f! Wafer refractive index: Air
sW$XH1Uf# 3 点击 Profiles 与 Materials.
XW/o<[91 /Oono6j 在“Materials”中加入以下
材料:
z?zL9 7H Name: N=1.5
)7@0[> Refractive index (Re:): 1.5
ZCw]m#lS $G>. \t Name: N=3.14
4i bc Refractive index (Re:): 3.14
K3C <{#r ]9-\~Mwh 4.在“Profile”中定义以下轮廓:
bt *k.=p Name: ChannelPro_n=3.14
N`i/mP 2D profile definition, Material: n=3.14
nN;u,}e =N@t'fOr Name: ChannelPro_n=1.5
:k"]5>(^ 2D profile definition, Material: n=1.5
*Ex|9FCt$ =Qq+4F)MD 6.画出以下波导结构:
[aS*%Heu a. Linear waveguide 1
%y@AA>x! Label: linear1
}u|q0>^8 Start Horizontal offset: 0.0
,Q B<7a+I Start vertical offset: -0.75
<3iMRe End Horizontal offset: 8.5
H]s.=.Ki End vertical offset: -0.75
i4Jc.8^9$ Channel Thickness Tapering: Use Default
^.tg 7%dJ Width: 1.5
\v{=gK Depth: 0.0
$kgVa^ Profile: ChannelPro_n=1.5
-&f$GUTJ (hsl~Jf b. Linear waveguide 2
^aQ"E9 Label: linear2
@x1-!
~z# Start Horizontal offset: 0.5
c,22*.V/ Start vertical offset: 0.05
E]6
6]+;0_ End Horizontal offset: 1.0
neh(<> End vertical offset: 0.05
-di o5a Channel Thickness Tapering: Use Default
IID5c"
oR Width: 0.1
l2d{ 73h Depth: 0.0
AGno6g Profile: ChannelPro_n=3.14
f::Dx1VcX ,Q,^3*HX9} 7.加入水平平面波:
VpUAeWb Continuous Wave Wavelength: 0.63 General:
v<;Md-< Input field Transverse: Rectangular
+"(jjxJm X Position: 0.5
,[Fb[#Qqb Direction: Negative Direction
|o@%dH Label: InputPlane1
%SI'BJ 2D Transverse:
hSMH,^Io$ Center Position: 4.5
zQA`/&=Y Half width: 5.0
HDKbF/ Titlitng Angle: 45
07)yG:q*x Effective Refractive Index: Local Amplitude: 1.0
}Lv;! 图2.波导结构(未设置周期)
.
.-hAH :4s1CC+@\ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
:EH=_" 将Linear2代码段修改如下:
t
Pf40`@ Dim Linear2
cAy3^{3: for m=1 to 8
C?Ucu]cW Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
J;%Xfx] Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
KG@8RtHsQ Linear2.SetAttr "WidthExpr", "0.1"
F"<vaqT2 Linear2.SetAttr "Depth", "0"
Ah<+y\C Linear2.SetAttr "StartThickness", "0.000000"
{[(h[MW# Linear2.SetAttr "EndThickness", "0.000000"
Tr|JYLwF Linear2.SetProfileName "ChannelPro_n=3.14"
R4@6G&2d> Linear2.SetDefaultThicknessTaperMode True
AEuG v}# iUwzs&frd 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
dd["dBIZ ' 图3.光栅布局通过VB脚本生成
[2koe.?( fLVAKn 设置仿真参数
OH"XrCX7n 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
{U1m.30n 2. 在仿真参数对话框中,设置以下参数:
w:l"\Tm TE simulation
s7EinI{^ Mesh Delta X: 0.015
TKjFp% Mesh Delta Z: 0.015
BC]?0 U Time Step Size: Auto Run for 1000 Time steps
8D].MI^ 设置边界条件设置X和Z边为各向异性PML边界条件。
8] ikygt" Number of Anisotropic PML layers: 15
~v83pu1!2s 其它参数保持默认
B;WCTMy} 运行仿真
V+~Nalm O • 在仿真参数中点击Run按钮,启动仿真
7?t6UPf • 在分析仪中,可以观察到各场分量的时域响应
Ha#>G<;n • 仿真完成后,点击“Yes”,启动分析仪。
2[CdZ(k]5 '2O\_Uz 远场分析
衍射波
d\Zng!Z ' 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
+*^H#|! 2. 选择“Definition of the Cross Cut”为z方向
tjnIN?YT 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
I0a<%;JJW 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
s<Fl p 图4.远场计算对话框
Vg23!E o14cwb 5. 在远场对话框,设置以下参数:
d %#b:(, Wavelength: 0.63
`lPfb[b Refractive index: 1.5+0i
$SE^S Angle Initial: -90.0
X jX2] Angle Final: 90.0
L-\GHu~) Number of Steps: 721
D-4f.Tq4# Distance: 100, 000*wavelength
qFNes)_r Intensity
9/7u*>: iX\X>W$P 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
|CzSU1ma 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
!a<ng&H^U 图5.“Opti 2D Viewer”中的远场模式