光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
<tp#KZE •使用VB脚本生成光栅(或周期性)布局。
!_SIq`5]@ •光栅布局
模拟和后处理分析
auT'ATW7i 布局layout
WYNO6Xb#: 我们将模拟如图1所示的二维光栅布局。
Kk_h&by? 图1.二维光栅布局
zS+_6s K]Onb{QY 用VB脚本定义一个2D光栅布局
+1j+%&). A T'P=)F@ 步骤:
%1jApCJ 1 通过在
文件菜单中选择“New”,启动一个新项目。
'4}c1F1T_ 2 在“Wafer Properties”对话框中设置以下
参数 O FCA~sR Wafer Dimensions:
jJDYl( [ Length (mm): 8.5
"~HV!(dRMC Width (mm): 3.0
8x9$6HO KGoHn6jM 2D wafer properties:
]h6mJ{k Wafer refractive index: Air
=ykOh_M 3 点击 Profiles 与 Materials.
81<0B@E |ZnRr 在“Materials”中加入以下
材料:
{!9i8T Name: N=1.5
x3++JG Refractive index (Re:): 1.5
78i"3Tm)w _cW6H B^j Name: N=3.14
Cq-#|+zr Refractive index (Re:): 3.14
O#5ll2? }.R].4gT 4.在“Profile”中定义以下轮廓:
~1yMw.04V Name: ChannelPro_n=3.14
U
DC>iHt 2D profile definition, Material: n=3.14
w(xRL#% tSvklI Name: ChannelPro_n=1.5
bG6<=^ 2D profile definition, Material: n=1.5
IAJYD/Y&? 7berkU0P 6.画出以下波导结构:
^sjL@.'m$N a. Linear waveguide 1
+e6c4Tw/ Label: linear1
/-W-MP=Wd Start Horizontal offset: 0.0
>.-$?2 Start vertical offset: -0.75
K9J"Q4pEC End Horizontal offset: 8.5
yw(E} End vertical offset: -0.75
GqrOj++> Channel Thickness Tapering: Use Default
yU@~UCmja Width: 1.5
a} w%k Depth: 0.0
#1C~i}J1 Profile: ChannelPro_n=1.5
!tNJLOYf pM i w9} b. Linear waveguide 2
F|DKp[<]8 Label: linear2
qWzzUM1= Start Horizontal offset: 0.5
)
-C9W7?I Start vertical offset: 0.05
oYG].PC End Horizontal offset: 1.0
n6a*|rE End vertical offset: 0.05
@-ma_0cZQ Channel Thickness Tapering: Use Default
0kD8w j% Width: 0.1
$.z~bmH"D Depth: 0.0
ab=s+[r1 Profile: ChannelPro_n=3.14
-|DSfI#j B~u_zZE 7.加入水平平面波:
L8~nx}UP5 Continuous Wave Wavelength: 0.63 General:
.2b) rKo~ Input field Transverse: Rectangular
,ZYj8^gF X Position: 0.5
{xC CUU Direction: Negative Direction
elgCPX&:W Label: InputPlane1
A!kNqJ2 2D Transverse:
Iy}r'#N Center Position: 4.5
3PonF4 Half width: 5.0
wnE
c
Titlitng Angle: 45
P'Fy,fNg Effective Refractive Index: Local Amplitude: 1.0
e<>Lr 图2.波导结构(未设置周期)
aqb;H 'F S%ri/}qI[{ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
5g-apod 将Linear2代码段修改如下:
axY-Vj Dim Linear2
O8+[)+6^ for m=1 to 8
bw7!MAXd Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
bmAgB}Ior Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
tH:K6^oR Linear2.SetAttr "WidthExpr", "0.1"
8j,_ Linear2.SetAttr "Depth", "0"
xrT_ro8 Linear2.SetAttr "StartThickness", "0.000000"
+fhyw{ Linear2.SetAttr "EndThickness", "0.000000"
L-d8bA Linear2.SetProfileName "ChannelPro_n=3.14"
c4LBlLv4 Linear2.SetDefaultThicknessTaperMode True
J{mP5<8>b OvPy+I 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
9xg_M=72 图3.光栅布局通过VB脚本生成
lxK_+fj
q ,h2q37 设置仿真参数
tji,by#E/% 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
@"s\eL,r 2. 在仿真参数对话框中,设置以下参数:
hh"0z] TE simulation
)).;p_nLZ Mesh Delta X: 0.015
@2_s;!K Mesh Delta Z: 0.015
co3H=#2a Time Step Size: Auto Run for 1000 Time steps
x
0 设置边界条件设置X和Z边为各向异性PML边界条件。
2H<? Number of Anisotropic PML layers: 15
$UjSP 其它参数保持默认
H/V%DO 运行仿真
7/vr!tbL`p • 在仿真参数中点击Run按钮,启动仿真
1#qCD["8 • 在分析仪中,可以观察到各场分量的时域响应
.bl0w"c^qq • 仿真完成后,点击“Yes”,启动分析仪。
{NK>9phoB fC3IxlG 远场分析
衍射波
FbM5Bqv 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
=] 5;=>( 2. 选择“Definition of the Cross Cut”为z方向
V8Q#%#)FHe 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
(?\ZN+V) 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
9L#B"lh 图4.远场计算对话框
16N8h]l ^qbX9.\ 5. 在远场对话框,设置以下参数:
oz5o=gt7 Wavelength: 0.63
F.8{
H9` Refractive index: 1.5+0i
QBsDO].J< Angle Initial: -90.0
Xy*X4JJh^ Angle Final: 90.0
>2syF{`j Number of Steps: 721
,H[AC}z2X Distance: 100, 000*wavelength
W? UCo6<m Intensity
!T,7 )+t5G>yKK 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
\Di~DN1 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
^y6Pkb
P 图5.“Opti 2D Viewer”中的远场模式