光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Ic/hVKYG5 •使用VB脚本生成光栅(或周期性)布局。
@@Q4{o •光栅布局
模拟和后处理分析
mY 1l2 布局layout
)M8d\] 我们将模拟如图1所示的二维光栅布局。
YgEd%Z%4 图1.二维光栅布局
@yTu/U ,HjJ jpE 用VB脚本定义一个2D光栅布局
Igo`\JY
M^kaik 步骤:
db )2> 1 通过在
文件菜单中选择“New”,启动一个新项目。
o]?
yyP 2 在“Wafer Properties”对话框中设置以下
参数 #}~tTL Wafer Dimensions:
(PpY*jKR Length (mm): 8.5
Q6
*n'6 Width (mm): 3.0
().C Ab$E@H# 2D wafer properties:
G@s:|oe Wafer refractive index: Air
!.R-|<2|6 3 点击 Profiles 与 Materials.
/ 4Q=%n eu(Fhs
在“Materials”中加入以下
材料:
|gk*{3~y Name: N=1.5
AH,?B*zGj Refractive index (Re:): 1.5
DFr$2Y3H ?O25k!7 Name: N=3.14
A+/Lt>+AS Refractive index (Re:): 3.14
D4$b-?y (Q{JI~P 4.在“Profile”中定义以下轮廓:
HS=w9:, Name: ChannelPro_n=3.14
/M5.Z~|/ 2D profile definition, Material: n=3.14
{V[xBL
< B;bP~e>W Name: ChannelPro_n=1.5
+C=vuR 2D profile definition, Material: n=1.5
lg|6~=aQ
i3 js'?7E 6.画出以下波导结构:
lr&2,p< a. Linear waveguide 1
XU'(^Y8Imz Label: linear1
wG O-Z']i Start Horizontal offset: 0.0
orJ|Q3c)d Start vertical offset: -0.75
@;EQ{d End Horizontal offset: 8.5
c<1$zQY! End vertical offset: -0.75
Q}&'1J Channel Thickness Tapering: Use Default
n^'d8Y( Width: 1.5
U'jmgHq Depth: 0.0
6F^/k,(k4 Profile: ChannelPro_n=1.5
n l5+#e*\ R655@|RT b. Linear waveguide 2
Qe~C}j% Label: linear2
51}C`j|V3{ Start Horizontal offset: 0.5
-dMH>e0 Start vertical offset: 0.05
>uCO=T,| End Horizontal offset: 1.0
Z{3=.z{&^= End vertical offset: 0.05
ygTfQtN Channel Thickness Tapering: Use Default
:/->m6C`0 Width: 0.1
.UxkTads Depth: 0.0
Xp;'Wa"@ Profile: ChannelPro_n=3.14
:{w3l O 9Zx| L/\ 7.加入水平平面波:
[?z;'O}y Continuous Wave Wavelength: 0.63 General:
Va[&~lA) Input field Transverse: Rectangular
xgOt%7sb X Position: 0.5
z{.&sr>+v Direction: Negative Direction
KMT$/I{p, Label: InputPlane1
41R~.? 2D Transverse:
qLBQ!>lR
Center Position: 4.5
8\il~IFyi Half width: 5.0
dhLd2WSyH Titlitng Angle: 45
_WV13pnRu Effective Refractive Index: Local Amplitude: 1.0
tli*3YIw 图2.波导结构(未设置周期)
qPu?rU{2 %m|BXyf]_B 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
]_ LAy 将Linear2代码段修改如下:
89[/UxM) Dim Linear2
i?>>%juK for m=1 to 8
BDN}`F[F Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
xqT} 9, Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
iLdUus! Linear2.SetAttr "WidthExpr", "0.1"
"dG*HKrr Linear2.SetAttr "Depth", "0"
M!G/5:VZ Linear2.SetAttr "StartThickness", "0.000000"
nJH'^rO!C Linear2.SetAttr "EndThickness", "0.000000"
__z/X"H Linear2.SetProfileName "ChannelPro_n=3.14"
TGpdl`k\T Linear2.SetDefaultThicknessTaperMode True
:hHKm|1FE &~"N/o 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
7WV"Wrl] 图3.光栅布局通过VB脚本生成
y] Q/(O ?zo7.R-Vac 设置仿真参数
|r*y63\T 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
GWx?RIKF 2. 在仿真参数对话框中,设置以下参数:
LWo )x TE simulation
5=s|uuw/ Mesh Delta X: 0.015
MNfc1I_# Mesh Delta Z: 0.015
tjZS:@3
Z Time Step Size: Auto Run for 1000 Time steps
G$`hPNSh 设置边界条件设置X和Z边为各向异性PML边界条件。
2%l(qfN9 Number of Anisotropic PML layers: 15
zll?/|% 其它参数保持默认
V2Z^W^ 运行仿真
c:DV8'fT • 在仿真参数中点击Run按钮,启动仿真
%)}_OXWf: • 在分析仪中,可以观察到各场分量的时域响应
uL-$^], • 仿真完成后,点击“Yes”,启动分析仪。
* se),CP!s FN0<iL 远场分析
衍射波
*@
\LS!N 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
m7,"M~\pX 2. 选择“Definition of the Cross Cut”为z方向
?AQR\) P 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
++kVq$9@y 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
\a:-xwUu< 图4.远场计算对话框
o>M&C
X+j$ J@Nq 5. 在远场对话框,设置以下参数:
yX\~{% Wavelength: 0.63
1
RyvPP Refractive index: 1.5+0i
'kCr1t Angle Initial: -90.0
&53LJlL
Co Angle Final: 90.0
V=GP_^F Number of Steps: 721
Yu9(qRK Distance: 100, 000*wavelength
b<g9L4s Intensity
U,9=&"e b ds+0y;vc 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
}8'bXG+ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
6r5<uZ9w_X 图5.“Opti 2D Viewer”中的远场模式