光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
g ;LVECk •使用VB脚本生成光栅(或周期性)布局。
@h(!<Ux_ •光栅布局
模拟和后处理分析
WgPgG0VJE 布局layout
7E(%9W6P 我们将模拟如图1所示的二维光栅布局。
Pgev) rh[ 图1.二维光栅布局
Mj'lASI Qc3?}os2 用VB脚本定义一个2D光栅布局
XHQh4W3 G_+Ph^ 步骤:
!.X_/$c 1 通过在
文件菜单中选择“New”,启动一个新项目。
#TATqzA 2 在“Wafer Properties”对话框中设置以下
参数 e?=elN Wafer Dimensions:
v
F[CWV. Length (mm): 8.5
Pw
xIz Width (mm): 3.0
]#5^&w)' -#%X3F7/w 2D wafer properties:
|*E"G5WZM Wafer refractive index: Air
i6PE6>
1/ 3 点击 Profiles 与 Materials.
&-4
?! gIBpOPr^d 在“Materials”中加入以下
材料:
xE1rxPuq)d Name: N=1.5
]>vf 9] Refractive index (Re:): 1.5
<`+zvUx^? J[r^T&o Name: N=3.14
ls]H6z*q Refractive index (Re:): 3.14
Xl?YBZ} (H1lqlVWV# 4.在“Profile”中定义以下轮廓:
7V'Le2T' Name: ChannelPro_n=3.14
!&JiNn(' 2D profile definition, Material: n=3.14
R+F,H` ]v GgJ< Name: ChannelPro_n=1.5
:A#+=O0\z 2D profile definition, Material: n=1.5
Qg> 0G%cXU xx0k$Dqt2I 6.画出以下波导结构:
cUs L6y a. Linear waveguide 1
s ^3[W0hL Label: linear1
EZ{/]gCK Start Horizontal offset: 0.0
$`v+4] Start vertical offset: -0.75
^r4|{ End Horizontal offset: 8.5
CpSK(2j End vertical offset: -0.75
t\|J&4!Y Channel Thickness Tapering: Use Default
.HCaXFW Width: 1.5
x5PPu/ Depth: 0.0
KK$ a;/ Profile: ChannelPro_n=1.5
*;P2+cE>H3 QXB|!' b. Linear waveguide 2
/W0E(8:C) Label: linear2
.<dOED{v Start Horizontal offset: 0.5
v~aLTI Start vertical offset: 0.05
&M=3{[ End Horizontal offset: 1.0
p;e$kg1 End vertical offset: 0.05
(JU_8j! Channel Thickness Tapering: Use Default
shNE~TA Width: 0.1
IhwN],-V Depth: 0.0
W\NG>t Profile: ChannelPro_n=3.14
NhCAv+ "8?TSm8 7.加入水平平面波:
h(|;\ ~ Continuous Wave Wavelength: 0.63 General:
yYk|YX(7U Input field Transverse: Rectangular
,m:6qdN X Position: 0.5
egWx9xX Direction: Negative Direction
]/[0O+B? Label: InputPlane1
qS|AdkNL 2D Transverse:
LGfmUb-{] Center Position: 4.5
?^F5(B[+Y Half width: 5.0
!h*B (, Titlitng Angle: 45
aH Effective Refractive Index: Local Amplitude: 1.0
8J):\jAZ6 图2.波导结构(未设置周期)
ZHcONYAr jNIUsM8e 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
WDvV
LU` 将Linear2代码段修改如下:
!")WZq^` Dim Linear2
DUhT>,~] for m=1 to 8
p&uCp7]U Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
q#|r Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
M_; w%FV Linear2.SetAttr "WidthExpr", "0.1"
hRLKb} Linear2.SetAttr "Depth", "0"
9ClF<5?M Linear2.SetAttr "StartThickness", "0.000000"
,$ mLL Linear2.SetAttr "EndThickness", "0.000000"
^9s"FdB]24 Linear2.SetProfileName "ChannelPro_n=3.14"
uD[^K1Ag]^ Linear2.SetDefaultThicknessTaperMode True
5)8. W%WC(/hor 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
6$DG.p 图3.光栅布局通过VB脚本生成
k0knPDbHv ^7<[}u;qF 设置仿真参数
!YIb 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
ij!*CTG 2. 在仿真参数对话框中,设置以下参数:
g&XhQ.aa TE simulation
{n6\g]p3 Mesh Delta X: 0.015
zG<0CZQ8 Mesh Delta Z: 0.015
(<n>EF# Time Step Size: Auto Run for 1000 Time steps
1P \up 设置边界条件设置X和Z边为各向异性PML边界条件。
u,\xok" Number of Anisotropic PML layers: 15
p[b7E`7 其它参数保持默认
-C=]n<ak 运行仿真
\"t`W: • 在仿真参数中点击Run按钮,启动仿真
r.9 $y/5 • 在分析仪中,可以观察到各场分量的时域响应
J7_8$B-j7 • 仿真完成后,点击“Yes”,启动分析仪。
{aT92-D3 D?%e"*> 远场分析
衍射波
1aVgwAI
1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
&`m~o/ 2. 选择“Definition of the Cross Cut”为z方向
5"[yFmP* 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
~ J %m 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
@|Z*f\ 图4.远场计算对话框
(5>{?dR)| 5vYsA1Z 5. 在远场对话框,设置以下参数:
9Y\F53p&j Wavelength: 0.63
"\}21B~{7' Refractive index: 1.5+0i
0:s8o@} Angle Initial: -90.0
rpx0|{m Angle Final: 90.0
G;Us-IRZ Number of Steps: 721
J tThkh'-" Distance: 100, 000*wavelength
Dxz5NW4 Intensity
HK^a:BI zo/0b/lQ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
WT I 'O 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
{7/ A 图5.“Opti 2D Viewer”中的远场模式