光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
-{>Nrx| •使用VB脚本生成光栅(或周期性)布局。
"
}@QL` •光栅布局
模拟和后处理分析
Q{Gi**< 布局layout
kb?QQ\e 我们将模拟如图1所示的二维光栅布局。
Dg]ua5jk 图1.二维光栅布局
Yn,dM~|Cc "D7*en 用VB脚本定义一个2D光栅布局
v7O&9a; uG\+`[-{0 步骤:
Xc2Oa 1 通过在
文件菜单中选择“New”,启动一个新项目。
LSQ2pB2V 2 在“Wafer Properties”对话框中设置以下
参数 [8/E ;h Wafer Dimensions:
br"p D-} Length (mm): 8.5
t_&FK A Width (mm): 3.0
XljiK8q;% N}wi<P:*) 2D wafer properties:
n
5NkjhP~Z Wafer refractive index: Air
m,3?*0BMp= 3 点击 Profiles 与 Materials.
9hI4',(rE E9 QA<w 在“Materials”中加入以下
材料:
ZoB?F Name: N=1.5
KIdlndGs Refractive index (Re:): 1.5
5gg_c?Vh/ H~+D2A Name: N=3.14
hq/k}Y Refractive index (Re:): 3.14
SX|b0S, E.?|L-fy 4.在“Profile”中定义以下轮廓:
6OMywGI[Z Name: ChannelPro_n=3.14
pB{QO4qn 2D profile definition, Material: n=3.14
JoA^9AYhR 5tR<aIf Name: ChannelPro_n=1.5
/reSU 2 2D profile definition, Material: n=1.5
.:c^G[CQ^9 .eW}@1+[; 6.画出以下波导结构:
: L` a. Linear waveguide 1
8ON$M=Ze$ Label: linear1
`9eE139V=' Start Horizontal offset: 0.0
wo84V!"A Start vertical offset: -0.75
bF:vD&Sf End Horizontal offset: 8.5
>t u3m2 End vertical offset: -0.75
0X#tt`;
Channel Thickness Tapering: Use Default
YMnG-'^Z Width: 1.5
m.-l&@I2/< Depth: 0.0
=LuH:VM& Profile: ChannelPro_n=1.5
dc_^ ?s(%3_h b. Linear waveguide 2
t#oY|G3O} Label: linear2
TPp%II'* Start Horizontal offset: 0.5
UDV,c o Start vertical offset: 0.05
{) 4D1 End Horizontal offset: 1.0
13s!gwE) End vertical offset: 0.05
{AqN@i Channel Thickness Tapering: Use Default
QvK/31*QG Width: 0.1
?)-*&1cv Depth: 0.0
R3wK@D Profile: ChannelPro_n=3.14
/iNCb&[ 7Q} P}9n 7.加入水平平面波:
4(2}O-~ Continuous Wave Wavelength: 0.63 General:
yInW?3 Input field Transverse: Rectangular
b&~rZ X Position: 0.5
83:m7; Direction: Negative Direction
A/%K= H? Label: InputPlane1
~R7rIP8Wr 2D Transverse:
2pH2s\r<UJ Center Position: 4.5
z}yntY]n Half width: 5.0
GIsXv 2 Titlitng Angle: 45
L{Epkay,{ Effective Refractive Index: Local Amplitude: 1.0
4VSIE"8e 图2.波导结构(未设置周期)
VR2BdfKU, "EF:+gi#" 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
c, \TL
] 将Linear2代码段修改如下:
zm\=4^X Dim Linear2
X !NH?0) for m=1 to 8
d4/snvq Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
EU
TTeFp Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
o\1"ux;b Linear2.SetAttr "WidthExpr", "0.1"
aePhtQF Linear2.SetAttr "Depth", "0"
uu1-` !% Linear2.SetAttr "StartThickness", "0.000000"
Y(78qs1w Linear2.SetAttr "EndThickness", "0.000000"
$}2m%$vJO Linear2.SetProfileName "ChannelPro_n=3.14"
_sbZyL Linear2.SetDefaultThicknessTaperMode True
.RH}/D cIK-VmO 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
8},!t\j#] 图3.光栅布局通过VB脚本生成
c^}gJ G+ Y`65 设置仿真参数
9s6, &' 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
ypwVzCUG 2. 在仿真参数对话框中,设置以下参数:
"d/x`Dx TE simulation
kM*f9x Mesh Delta X: 0.015
X3". Mesh Delta Z: 0.015
Xl;u Time Step Size: Auto Run for 1000 Time steps
N-]h+Cnyu 设置边界条件设置X和Z边为各向异性PML边界条件。
X8<<;?L Number of Anisotropic PML layers: 15
iW+ZI6@ 其它参数保持默认
-uqJ~g D 运行仿真
#JYv1F • 在仿真参数中点击Run按钮,启动仿真
Cd#[b)d ?^ • 在分析仪中,可以观察到各场分量的时域响应
X_Is#&6; • 仿真完成后,点击“Yes”,启动分析仪。
7ml, 2TmQaDu%b 远场分析
衍射波
f}Eoc>n 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
~A}"s-Kq5 2. 选择“Definition of the Cross Cut”为z方向
"639oB 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
c>:}~.~T 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
AVGb;)x# 图4.远场计算对话框
}=?kf3k Z<;<!+, 5. 在远场对话框,设置以下参数:
+IK~a9t Wavelength: 0.63
_S{HVc Refractive index: 1.5+0i
8TD:~ee Angle Initial: -90.0
<QQgOaS`2 Angle Final: 90.0
Ry,_%j3 Number of Steps: 721
DhG2!'N Distance: 100, 000*wavelength
uwsGtgd& Intensity
m%m/#\J E .wtb7U;7 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
V?kJYf(< 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
iS&fp[Th 图5.“Opti 2D Viewer”中的远场模式