光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
w#5^A(NR •使用VB脚本生成光栅(或周期性)布局。
(P[:g •光栅布局
模拟和后处理分析
!;^sIoRPV 布局layout
/JfRy%31 我们将模拟如图1所示的二维光栅布局。
X99:/3MXB' 图1.二维光栅布局
)q\|f_ %_!YonRY|X 用VB脚本定义一个2D光栅布局
&AI/;zru 1#9 Q1@'OS 步骤:
$)M8@d 1 通过在
文件菜单中选择“New”,启动一个新项目。
h`OX()N 2 在“Wafer Properties”对话框中设置以下
参数 #AzZ4<;7 Wafer Dimensions:
<$LVAy"RD Length (mm): 8.5
x-km)2x=W Width (mm): 3.0
$e7dE$eH d([NU; 2D wafer properties:
Bg*Oj)NM Wafer refractive index: Air
AAE8j. 3 点击 Profiles 与 Materials.
9GuG"^08 "]81+
D 在“Materials”中加入以下
材料:
V_?5 cwZ Name: N=1.5
`k/hC Refractive index (Re:): 1.5
k1HukGa T<"Hh.h Name: N=3.14
y1!c:& Refractive index (Re:): 3.14
WUSkN;idVG `g&<7~\=A 4.在“Profile”中定义以下轮廓:
A=/|f$s+ Name: ChannelPro_n=3.14
*4;MO2g 2D profile definition, Material: n=3.14
p`)( F7wpGtt Name: ChannelPro_n=1.5
s88lN=;
2D profile definition, Material: n=1.5
C d)j% NWuS/Ur`9 6.画出以下波导结构:
_4VF>#b a. Linear waveguide 1
y|1,h}H^n Label: linear1
5 iUT# Start Horizontal offset: 0.0
,c#=qb8"" Start vertical offset: -0.75
.olDmFQD End Horizontal offset: 8.5
4hep1Kz% End vertical offset: -0.75
UGK4uK+I` Channel Thickness Tapering: Use Default
V8w!yc Width: 1.5
5"=qVmT) Depth: 0.0
1-4iy_d Profile: ChannelPro_n=1.5
gf()NfUvRH *P,dR]-m b. Linear waveguide 2
]4 2bd Label: linear2
!N- - Start Horizontal offset: 0.5
a,3}
o:f Start vertical offset: 0.05
D/C)Rrq"a End Horizontal offset: 1.0
oqa]iBO End vertical offset: 0.05
gz-X4A" Channel Thickness Tapering: Use Default
KiU/N$E Width: 0.1
<\<[J0 Depth: 0.0
2`qO'V3Q Profile: ChannelPro_n=3.14
PMzPe"3M kYBy\ 7.加入水平平面波:
=l?F_ Continuous Wave Wavelength: 0.63 General:
hm"i\JZ3N Input field Transverse: Rectangular
}=CL/JHz X Position: 0.5
T >XnVK Direction: Negative Direction
@Omgk=6 Label: InputPlane1
C
7)w8y 2D Transverse:
'xi[- - Center Position: 4.5
^sR]w]cz. Half width: 5.0
!e?g"5r{Bv Titlitng Angle: 45
XLe8]y= Effective Refractive Index: Local Amplitude: 1.0
*5'U3py 图2.波导结构(未设置周期)
E_-3G<rt 2JNO@ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
9~ 8 A> 将Linear2代码段修改如下:
z DDvXz Dim Linear2
Gzxq] Mg for m=1 to 8
bjvpYZC\5 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
vovc,4} Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Uf#.b2] Linear2.SetAttr "WidthExpr", "0.1"
R4+Gmx1 Linear2.SetAttr "Depth", "0"
&VG|*&M Linear2.SetAttr "StartThickness", "0.000000"
{kGcZf3h Linear2.SetAttr "EndThickness", "0.000000"
$e66j V Linear2.SetProfileName "ChannelPro_n=3.14"
Y0`@$d&n Linear2.SetDefaultThicknessTaperMode True
g.![>?2$8 o RT<h 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
K?[*9Q'\ 图3.光栅布局通过VB脚本生成
w E^6DNh $^|I?5xD 设置仿真参数
Id`?yt 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
DU9A 3Z 2. 在仿真参数对话框中,设置以下参数:
NjT#p8d X TE simulation
DA'A-C2 Mesh Delta X: 0.015
^fVLM>p <; Mesh Delta Z: 0.015
z8W@N8IqC Time Step Size: Auto Run for 1000 Time steps
LgN\%5f- 设置边界条件设置X和Z边为各向异性PML边界条件。
P|mV((/m4 Number of Anisotropic PML layers: 15
jx _n$D 其它参数保持默认
Wez"E2J` 运行仿真
r83chR9 • 在仿真参数中点击Run按钮,启动仿真
N\ nr • 在分析仪中,可以观察到各场分量的时域响应
,VK! 3$;| • 仿真完成后,点击“Yes”,启动分析仪。
H"hL+F ^ &w@~@] 远场分析
衍射波
VO"f=gFg 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
=Kdd+g! 2. 选择“Definition of the Cross Cut”为z方向
]^9B%t
s9 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
~9#nC`%2j 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
_2*Ryz 图4.远场计算对话框
Q}#5mf&cD lLD-QO}/ 5. 在远场对话框,设置以下参数:
+^!;J/24 Wavelength: 0.63
1o5DQ'~n Refractive index: 1.5+0i
CS[[TzC=5 Angle Initial: -90.0
2K/+6t} Angle Final: 90.0
Yv0;U Kd Number of Steps: 721
q0Rd^c Distance: 100, 000*wavelength
BzFD_A>j;_ Intensity
YDEUiZ~ utk'joo 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
&mebpEHUG7 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
2I!STP{ !l 图5.“Opti 2D Viewer”中的远场模式