光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
U^DR'X= •使用VB脚本生成光栅(或周期性)布局。
&g0r#K •光栅布局
模拟和后处理分析
h=n\c6Q 布局layout
b.}J'?yLm 我们将模拟如图1所示的二维光栅布局。
yZNg[KH 图1.二维光栅布局
<KStlfX h7m$P^=U 用VB脚本定义一个2D光栅布局
U9Q[K ` 5>=4$!` 步骤:
04}c_XFFE 1 通过在
文件菜单中选择“New”,启动一个新项目。
RmOkb~ 2 在“Wafer Properties”对话框中设置以下
参数 oJ#;X R Wafer Dimensions:
rg]z Length (mm): 8.5
Eq8:[o Width (mm): 3.0
J%!vhQ P86wRq
2D wafer properties:
cA|
n*A-j< Wafer refractive index: Air
_=cuOo"! 3 点击 Profiles 与 Materials.
BE0Xg 60D6UW 在“Materials”中加入以下
材料:
77]lpmC Name: N=1.5
0j}@lOt( Refractive index (Re:): 1.5
,XN4Iy#BZl {7 ](- Name: N=3.14
58`Dcx,yJ Refractive index (Re:): 3.14
$H/: -v X2P8Zq=%a 4.在“Profile”中定义以下轮廓:
]IDhE{ Name: ChannelPro_n=3.14
_U,Hi?b"$} 2D profile definition, Material: n=3.14
Q]dKyMSSA y"K[#&,0 Name: ChannelPro_n=1.5
li#ep?5h^ 2D profile definition, Material: n=1.5
y`7b3*P G1I<B 6.画出以下波导结构:
SWT)M1O2 a. Linear waveguide 1
'?3(& Label: linear1
Zl.,pcL Start Horizontal offset: 0.0
S]4!uv^y Start vertical offset: -0.75
wawJZ+V End Horizontal offset: 8.5
gXY]NWI End vertical offset: -0.75
kp6 &e Channel Thickness Tapering: Use Default
Ksk[sf?J& Width: 1.5
f/m0,EERk Depth: 0.0
5E}]U,$ Profile: ChannelPro_n=1.5
7dR]$~+*e X'xnJtk b. Linear waveguide 2
e YiqT Wn: Label: linear2
~{{7y]3M- Start Horizontal offset: 0.5
Ldy(<cN Start vertical offset: 0.05
x}{O9LiR End Horizontal offset: 1.0
_d>{Hz2 End vertical offset: 0.05
^t`0ul]c Channel Thickness Tapering: Use Default
X3~@U7DU Width: 0.1
^5k~7F. Depth: 0.0
8LY^>. Profile: ChannelPro_n=3.14
9j0o)] /
w[Tu 7.加入水平平面波:
V~$?]Z %_ Continuous Wave Wavelength: 0.63 General:
FgR9$ is+ Input field Transverse: Rectangular
AMK(-= X Position: 0.5
JC/nHM Direction: Negative Direction
DIkf#} Label: InputPlane1
@z=L\e{ 2D Transverse:
5d-rF:# Center Position: 4.5
XXXQA Y-,C Half width: 5.0
U@53VmrOy Titlitng Angle: 45
J2$,'(!( Effective Refractive Index: Local Amplitude: 1.0
Kv ajk~ 图2.波导结构(未设置周期)
R ^INl@(O =i},$"Bf*% 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
Lx|0G $ 将Linear2代码段修改如下:
<2N=cH' Dim Linear2
\AB)L{ for m=1 to 8
cXb&Rm'L Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
HzsQ`M4cA Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
zT>BC}~.b Linear2.SetAttr "WidthExpr", "0.1"
mgb+HNH%q\ Linear2.SetAttr "Depth", "0"
c/l^;6O/!\ Linear2.SetAttr "StartThickness", "0.000000"
ss`Sl$ Linear2.SetAttr "EndThickness", "0.000000"
)kYDN_W Linear2.SetProfileName "ChannelPro_n=3.14"
z00,Vr^m Linear2.SetDefaultThicknessTaperMode True
_s}`ohKvD q RRvZhf 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
:*YnH& 图3.光栅布局通过VB脚本生成
x
}]"jj2x /E:BEm! 设置仿真参数
VL|Z+3L 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
yl0;Jx? 2. 在仿真参数对话框中,设置以下参数:
yA';~V\V{> TE simulation
/<"ok;Pu7 Mesh Delta X: 0.015
/Zxq-9
Mesh Delta Z: 0.015
Q 87'zf Time Step Size: Auto Run for 1000 Time steps
LG??Q+`l 设置边界条件设置X和Z边为各向异性PML边界条件。
B`)bo}h Number of Anisotropic PML layers: 15
gJ^taUE 其它参数保持默认
{vQ:4O!: 运行仿真
}L=Qp=4 • 在仿真参数中点击Run按钮,启动仿真
7;pQ'FmZJ • 在分析仪中,可以观察到各场分量的时域响应
QZuKM 'D+ • 仿真完成后,点击“Yes”,启动分析仪。
$weC '-n@ aj<r= 远场分析
衍射波
xtK\-[n 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
p =-~qBw 2. 选择“Definition of the Cross Cut”为z方向
w:mm@8N 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
F^5\w-gLY 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
hoLA*v2< 图4.远场计算对话框
)_6W@s [GcW*v 5. 在远场对话框,设置以下参数:
R\]C;@J< Wavelength: 0.63
DVDzYR**4 Refractive index: 1.5+0i
|7${E^u Angle Initial: -90.0
x~K79Mya Angle Final: 90.0
o'8nQ
Tao Number of Steps: 721
7xfS%'=y" Distance: 100, 000*wavelength
/QQjb4S} Intensity
YPA$38 #$F*.vQSs+ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
/Pg)@*~ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Q 9E.AN 图5.“Opti 2D Viewer”中的远场模式