光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
6a`_i •使用VB脚本生成光栅(或周期性)布局。
Y@'1}=`J •光栅布局
模拟和后处理分析
Y@%6*uTLa 布局layout
xcIZ'V 我们将模拟如图1所示的二维光栅布局。
=TI|uD6T 图1.二维光栅布局
dR/UXzrc .yj=*N. 用VB脚本定义一个2D光栅布局
o9HDxS$~^ NU/~E"^I. 步骤:
o:Z*F0qm 1 通过在
文件菜单中选择“New”,启动一个新项目。
7 -V_)FK2c 2 在“Wafer Properties”对话框中设置以下
参数 ]i]sgg[ Wafer Dimensions:
Mz{ Rh+gS Length (mm): 8.5
")M.p_b[Z= Width (mm): 3.0
*t |j+*c}
/[#{#:lo2 2D wafer properties:
Y=rW.yK8 Wafer refractive index: Air
CM's6qhQnn 3 点击 Profiles 与 Materials.
LRd,7P z8"=W,2 在“Materials”中加入以下
材料:
Sdt2D Name: N=1.5
.}y
Lz Refractive index (Re:): 1.5
NtOR/*
3yD5u Name: N=3.14
7iJk0L$]x Refractive index (Re:): 3.14
\&qVr1| r@<; 4.在“Profile”中定义以下轮廓:
't_=%^q Name: ChannelPro_n=3.14
o_*|`E 2D profile definition, Material: n=3.14
/s*>V@Q ^9b
`;}) . Name: ChannelPro_n=1.5
u!`C:C' 2D profile definition, Material: n=1.5
x?<5=, ?h3Ow`1G 6.画出以下波导结构:
!<6wrOMa O a. Linear waveguide 1
80]TKf> Label: linear1
FW.dHvNX Start Horizontal offset: 0.0
Oc'z?6axWv Start vertical offset: -0.75
&{=~)>h End Horizontal offset: 8.5
@Q1jH~t End vertical offset: -0.75
S+>]8ZY Channel Thickness Tapering: Use Default
0De M Width: 1.5
IFTW,9hh Depth: 0.0
tB3CX\e Profile: ChannelPro_n=1.5
z|?R=;,u` y?@Y\ b b. Linear waveguide 2
<d5vVn Label: linear2
r;T/ Start Horizontal offset: 0.5
/[IQ:':^ Start vertical offset: 0.05
\mu9ikZ< End Horizontal offset: 1.0
o%QQ7S3P End vertical offset: 0.05
yK7>^p}V Channel Thickness Tapering: Use Default
.}<B*e=y Width: 0.1
*_wef/== Depth: 0.0
Fi/G, [q Profile: ChannelPro_n=3.14
+e:ZN
tr9 udZ: OU< 7.加入水平平面波:
?W|IC8~d') Continuous Wave Wavelength: 0.63 General:
`pMI[pLZe Input field Transverse: Rectangular
">QY'r X Position: 0.5
(}}8DB Direction: Negative Direction
r"[T9 Label: InputPlane1
) IhY&?jk? 2D Transverse:
85{vz|(': Center Position: 4.5
QMxz@HGa| Half width: 5.0
#"{8Z&Z Titlitng Angle: 45
dJ^`9W Effective Refractive Index: Local Amplitude: 1.0
?mAw"Rb! 图2.波导结构(未设置周期)
19u?^w <"+C<[n. 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
qU
n> 将Linear2代码段修改如下:
Fb'wC Dim Linear2
PK4UdT for m=1 to 8
NFc8"7Mz} Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
,s76]$%4 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
RGLA}| Linear2.SetAttr "WidthExpr", "0.1"
'X,V Linear2.SetAttr "Depth", "0"
7dJaWD:& Linear2.SetAttr "StartThickness", "0.000000"
*]6dV' Linear2.SetAttr "EndThickness", "0.000000"
4"{wga~%/ Linear2.SetProfileName "ChannelPro_n=3.14"
6<Wr
8u, Linear2.SetDefaultThicknessTaperMode True
`7_LJ
\>I sEN@q 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
fNJ;{ 图3.光栅布局通过VB脚本生成
swFOh5z pb
Ie)nK 设置仿真参数
$IT9@}*{ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
WCu%@hh=h 2. 在仿真参数对话框中,设置以下参数:
<6~;-ZQY
TE simulation
bVHi3=0{ Mesh Delta X: 0.015
3@?YTez# Mesh Delta Z: 0.015
?&m]du#6 Time Step Size: Auto Run for 1000 Time steps
<R>ZG"m { 设置边界条件设置X和Z边为各向异性PML边界条件。
)+,jal^7 Number of Anisotropic PML layers: 15
hob$eWgr 其它参数保持默认
q)b?X
^ 运行仿真
CM1a<bV< • 在仿真参数中点击Run按钮,启动仿真
eBIR*TZ): • 在分析仪中,可以观察到各场分量的时域响应
RAI&;" • 仿真完成后,点击“Yes”,启动分析仪。
tlgvBRH> np^<HfYV 远场分析
衍射波
+yH~G9u( 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
QJM!Wx+ 2. 选择“Definition of the Cross Cut”为z方向
z44~5J] 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
-$t,}3 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
<SZO-
-+lB 图4.远场计算对话框
Z;\"pP: W?
||9 5. 在远场对话框,设置以下参数:
(v:ek_ Wavelength: 0.63
E_1I|$ Refractive index: 1.5+0i
](:FW '- Angle Initial: -90.0
HbfB[% Angle Final: 90.0
ld}$Tsy0 Number of Steps: 721
uE`|0 Distance: 100, 000*wavelength
lkg*AAR?' Intensity
b|o!&9Yyr zn1Rou]6 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
]\,uF8gg) 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
T}Vpy` 图5.“Opti 2D Viewer”中的远场模式