光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
cng166}1A •使用VB脚本生成光栅(或周期性)布局。
OzAxnd\.N •光栅布局
模拟和后处理分析
g,s^qW0vds 布局layout
Z^_gS&nDa~ 我们将模拟如图1所示的二维光栅布局。
q0VR&b`?>D 图1.二维光栅布局
63Z^ k( /^=8?wK 用VB脚本定义一个2D光栅布局
Ar'k6NX !uqp?L^; 步骤:
J7+[+Y 1 通过在
文件菜单中选择“New”,启动一个新项目。
hr3<vWAD 2 在“Wafer Properties”对话框中设置以下
参数 2&XNT-Qm Wafer Dimensions:
1G)I|v9R Length (mm): 8.5
0HN%3AG] Width (mm): 3.0
8T88 hRZYvZ3 2D wafer properties:
ew<_2Xy"< Wafer refractive index: Air
'PWA 3 点击 Profiles 与 Materials.
Ty} Y/jW H
h35cj 在“Materials”中加入以下
材料:
l"/E,X Name: N=1.5
-`UOqjb]3 Refractive index (Re:): 1.5
*U +<Hv`C 2d&]V]:R* Name: N=3.14
-^q;e]+J Refractive index (Re:): 3.14
(C0Wty /[E2+g 4.在“Profile”中定义以下轮廓:
Vllxv6/_ Name: ChannelPro_n=3.14
p}8?#5`/w 2D profile definition, Material: n=3.14
\}W ! )YW"Zo8~!1 Name: ChannelPro_n=1.5
n;wViw 2D profile definition, Material: n=1.5
>R5A@0@d5 ,0{x-S0jX< 6.画出以下波导结构:
(__$YQ- a. Linear waveguide 1
\>x1#Vr>#V Label: linear1
S0M i Start Horizontal offset: 0.0
z_Hkw3? Start vertical offset: -0.75
~F%sO'4! End Horizontal offset: 8.5
u U%Z%O End vertical offset: -0.75
W8F@nY Channel Thickness Tapering: Use Default
'x5p ?m Width: 1.5
Swh\^/B8 Depth: 0.0
q3C Profile: ChannelPro_n=1.5
31UxYBY ;hF}"shJN b. Linear waveguide 2
,4Q8r:_ u Label: linear2
z?pi/`y8> Start Horizontal offset: 0.5
Kj)sL0 Start vertical offset: 0.05
s\<UDW End Horizontal offset: 1.0
|=07n K2 End vertical offset: 0.05
"U+c`V=w Channel Thickness Tapering: Use Default
3iUJ!gK Width: 0.1
~!=Am:-wr Depth: 0.0
+r7hc;+G Profile: ChannelPro_n=3.14
{]dG 9 &nwS7n1eb 7.加入水平平面波:
]#W7-Q;] Continuous Wave Wavelength: 0.63 General:
/nsBUM[; Input field Transverse: Rectangular
%8wBZ~1- X Position: 0.5
:,M+njcFc Direction: Negative Direction
v 2p Label: InputPlane1
TspX7<6r 2D Transverse:
bI|{TKKN&P Center Position: 4.5
*rbgDaQ Half width: 5.0
M$Bb,s Titlitng Angle: 45
egBk7@Ko Effective Refractive Index: Local Amplitude: 1.0
,i|K} Y& 图2.波导结构(未设置周期)
Y652&{>q
K C"&3 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
v#d(Kj 将Linear2代码段修改如下:
/W`CqJk-*. Dim Linear2
*xmC`oP for m=1 to 8
1L+hI=\O Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
H }]Zp Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
1h(IrV5 g Linear2.SetAttr "WidthExpr", "0.1"
bCr
W'}:de Linear2.SetAttr "Depth", "0"
r]&sXKDc Linear2.SetAttr "StartThickness", "0.000000"
A,t g268 Linear2.SetAttr "EndThickness", "0.000000"
l)o!&]2 Linear2.SetProfileName "ChannelPro_n=3.14"
D
"5|\ Linear2.SetDefaultThicknessTaperMode True
`xHpL8i$5 s8[( 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
W1<*9O 图3.光栅布局通过VB脚本生成
DBHHJD/q rqiH!R 设置仿真参数
!vRN'/(Vyu 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
f*rub. y 2. 在仿真参数对话框中,设置以下参数:
0tL5t7/Gr TE simulation
wJJ|]^0. Mesh Delta X: 0.015
9eq)WI/ Mesh Delta Z: 0.015
h*D -Vo Time Step Size: Auto Run for 1000 Time steps
u/wX7s 设置边界条件设置X和Z边为各向异性PML边界条件。
/DH`7E Number of Anisotropic PML layers: 15
R!7--]Wcg 其它参数保持默认
2]Cn<zJ 运行仿真
T+~&jC:{ • 在仿真参数中点击Run按钮,启动仿真
Qj1%'wWG • 在分析仪中,可以观察到各场分量的时域响应
@HB=hN • 仿真完成后,点击“Yes”,启动分析仪。
RA!m,"RM ujE~#b}X 远场分析
衍射波
|oSt%lQ1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
e 2NF. 2. 选择“Definition of the Cross Cut”为z方向
+h/OQ]`/m 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
]j,o!|rx7 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
SeS ZMv 图4.远场计算对话框
)BI%cD n#WOIweInf 5. 在远场对话框,设置以下参数:
n} !')r Wavelength: 0.63
-L2 +4 Refractive index: 1.5+0i
J0e^v Angle Initial: -90.0
s"nntC Angle Final: 90.0
UHi^7jQ Number of Steps: 721
qFDy)4H) Distance: 100, 000*wavelength
{~}: oV Intensity
? N]bFW"t| }3XjP55 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
QjJlVlp 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
]5`A8-Q@ 图5.“Opti 2D Viewer”中的远场模式