光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
$"i690 •使用VB脚本生成光栅(或周期性)布局。
gP<_DEd^` •光栅布局
模拟和后处理分析
6Te}"t> 布局layout
Cb6MD 我们将模拟如图1所示的二维光栅布局。
VZ,T`8" 图1.二维光栅布局
zb" hy"hKw \PFx#
:-c 用VB脚本定义一个2D光栅布局
$ {+.1"/[ vh HMxOZ; 步骤:
i#lo?\PO> 1 通过在
文件菜单中选择“New”,启动一个新项目。
}"-r;i 2 在“Wafer Properties”对话框中设置以下
参数
p4t)Z#0 Wafer Dimensions:
lP
e$AI Length (mm): 8.5
|z'?3?,~ Width (mm): 3.0
HFr3(gNj@ [z~Nw# 2D wafer properties:
V\ "5<>+O Wafer refractive index: Air
NM@An2 3 点击 Profiles 与 Materials.
FNuu ',: wb[(_@eZ 在“Materials”中加入以下
材料:
@>]3xHE6#= Name: N=1.5
J$Epj Refractive index (Re:): 1.5
Q8x{V_Pot /;4MexgB% Name: N=3.14
Q.1ohj0) Refractive index (Re:): 3.14
l:eN u}{& CiuN26> 4.在“Profile”中定义以下轮廓:
/6zpVkV Name: ChannelPro_n=3.14
}/spo3,6 2D profile definition, Material: n=3.14
~N9-an ^0Q*o1W Name: ChannelPro_n=1.5
YZl%JX 2D profile definition, Material: n=1.5
_zh5KP[{ e_], O_Z 6.画出以下波导结构:
A232"p_ a. Linear waveguide 1
QZr<=}
Label: linear1
.Qt3!ek Start Horizontal offset: 0.0
H Im,
"iYk Start vertical offset: -0.75
Hz8`)cv` End Horizontal offset: 8.5
C8:"+; End vertical offset: -0.75
H4NEB1TO> Channel Thickness Tapering: Use Default
%KF:-
w Width: 1.5
)|R9mW=k9P Depth: 0.0
Y}uQ`f Profile: ChannelPro_n=1.5
A=UIN! A#S:_d b. Linear waveguide 2
/zf>>O` Label: linear2
i[{]
LiP Start Horizontal offset: 0.5
5Kj4!Ai Start vertical offset: 0.05
`HG19_Z End Horizontal offset: 1.0
':D&c End vertical offset: 0.05
X3{1DY3@u Channel Thickness Tapering: Use Default
X'7S|J6s Width: 0.1
a~F@3Pd Depth: 0.0
6;frIl; Profile: ChannelPro_n=3.14
6 v^ * g4Cy8$ 7.加入水平平面波:
ZT8Ji?_n Continuous Wave Wavelength: 0.63 General:
1lyOp Input field Transverse: Rectangular
:ZS8Zm" X Position: 0.5
7&V^BW Direction: Negative Direction
^:DhHqvK Label: InputPlane1
Dh No +"!z 2D Transverse:
F.pHL)37 Center Position: 4.5
|$w={N^4 Half width: 5.0
^FM9} t/U, Titlitng Angle: 45
=8p+-8M[d Effective Refractive Index: Local Amplitude: 1.0
' P`p.5nH 图2.波导结构(未设置周期)
ynZ[c8. 3
9{"T0 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
nX\]i~ 将Linear2代码段修改如下:
S~Iw?SK3 Dim Linear2
S"TMsi for m=1 to 8
LQ\
ELJj Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
*C@[5#CA2z Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
DJYXC,r Linear2.SetAttr "WidthExpr", "0.1"
N~;
khS] Linear2.SetAttr "Depth", "0"
&U$8zn~[k Linear2.SetAttr "StartThickness", "0.000000"
QHs:=i~VH Linear2.SetAttr "EndThickness", "0.000000"
x*&&?nV Iz Linear2.SetProfileName "ChannelPro_n=3.14"
?e y&Un" Linear2.SetDefaultThicknessTaperMode True
&lPBqw 7s8<FyFsjd 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
;5Vk01R 图3.光栅布局通过VB脚本生成
?3,64[ i\Pr3
7
" 设置仿真参数
2Cd
--W+= 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
r` `iC5Ii 2. 在仿真参数对话框中,设置以下参数:
zz 'dg-F TE simulation
AIl$qPKj& Mesh Delta X: 0.015
hG~]~ ) Mesh Delta Z: 0.015
O<dZA=Oez Time Step Size: Auto Run for 1000 Time steps
\gp,Txueb 设置边界条件设置X和Z边为各向异性PML边界条件。
=F%wlzF: Number of Anisotropic PML layers: 15
Qw<kX*fxrI 其它参数保持默认
sO6g IPU^ 运行仿真
n`m_S • 在仿真参数中点击Run按钮,启动仿真
O:,2OMB}B` • 在分析仪中,可以观察到各场分量的时域响应
2&gVZ z • 仿真完成后,点击“Yes”,启动分析仪。
9U7Mu;4 LPapD@Z 远场分析
衍射波
&=z1$ih>2\ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
_7=pw5[ 2. 选择“Definition of the Cross Cut”为z方向
yxC Ml. 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
uZ/7t(fy 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
fmnRUN= 图4.远场计算对话框
t ?9;cS4 )7I.N]= 5. 在远场对话框,设置以下参数:
DO1 JPeIi Wavelength: 0.63
qX
p,d Refractive index: 1.5+0i
=nvAOvP{? Angle Initial: -90.0
@cu}3> Angle Final: 90.0
kj{rk^x Number of Steps: 721
//X e*0 Distance: 100, 000*wavelength
uXQ7eXX Intensity
`rz`3:ZH uP%axys 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
$kkp*3{ot 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
mEB2RLCM 图5.“Opti 2D Viewer”中的远场模式