光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
$AI0NM •使用VB脚本生成光栅(或周期性)布局。
Xy;!Q`h( •光栅布局
模拟和后处理分析
X*cf|g 布局layout
Gkfc@[Z V 我们将模拟如图1所示的二维光栅布局。
K% Gbl# 图1.二维光栅布局
C6"bGA XI rNT:h4 用VB脚本定义一个2D光栅布局
I{V1Le4? *C 0gpEf9S 步骤:
$!msav 1 通过在
文件菜单中选择“New”,启动一个新项目。
GA8cA)]zOD 2 在“Wafer Properties”对话框中设置以下
参数 <;?&<qMo,P Wafer Dimensions:
Xc^7 Length (mm): 8.5
=XT'D@q~W Width (mm): 3.0
A{7N#-h_ ^edg@fp 2D wafer properties:
ji &*0GJQ Wafer refractive index: Air
<_|H]^o 3 点击 Profiles 与 Materials.
YBX7WZCR d\cwUXf
J 在“Materials”中加入以下
材料:
/)ubyl]^p Name: N=1.5
BBg&ZIYEh Refractive index (Re:): 1.5
{mlJ E>~% x_&m$Fh Name: N=3.14
GW(-'V/ Refractive index (Re:): 3.14
YS_9M Pi aoZ`C3 4.在“Profile”中定义以下轮廓:
cZ"
Ut Name: ChannelPro_n=3.14
iZ`1Dzxgk 2D profile definition, Material: n=3.14
kt";Jx l7]$Wc[ Name: ChannelPro_n=1.5
AR}M*sSh 2D profile definition, Material: n=1.5
G0^O7w^5 GM/3*S$c 6.画出以下波导结构:
lRn6Zh a. Linear waveguide 1
n
^T_pqV?X Label: linear1
KAg<s}gQJ Start Horizontal offset: 0.0
`;^% t Start vertical offset: -0.75
mX8A XWIa End Horizontal offset: 8.5
|\/0S End vertical offset: -0.75
aBM'ROQ Channel Thickness Tapering: Use Default
i*9[El Width: 1.5
Lp \%-s#5s Depth: 0.0
S|A?z)I Profile: ChannelPro_n=1.5
]`D(/l' n7vLw7 b. Linear waveguide 2
X;5U@l Label: linear2
t9&z|?Vz Start Horizontal offset: 0.5
zXB]Bf3TH Start vertical offset: 0.05
`p&ko$i2 End Horizontal offset: 1.0
M} IRagm End vertical offset: 0.05
O=1uF Channel Thickness Tapering: Use Default
?l_>rSly5 Width: 0.1
X$O,L[] 4 Depth: 0.0
hfY
Ieb#91 Profile: ChannelPro_n=3.14
XR^VRn6O /$hfd?L 7.加入水平平面波:
&)vX7*j Continuous Wave Wavelength: 0.63 General:
(n-8p6x( Input field Transverse: Rectangular
dXh@E7 X Position: 0.5
XM/P2=; Direction: Negative Direction
{rWu`QT Label: InputPlane1
AWLKve_ 2D Transverse:
FhB^E$r% Center Position: 4.5
r'hr'wZ Half width: 5.0
#K7i<Bf Titlitng Angle: 45
W%09.bF Effective Refractive Index: Local Amplitude: 1.0
u[U~`*i*rA 图2.波导结构(未设置周期)
L%a ni}V ->}K- n ), 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
f8! PeQ? 将Linear2代码段修改如下:
A.vcE Dim Linear2
a4,bP*H for m=1 to 8
v&(X&q Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
[pbX_ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Iz2K Linear2.SetAttr "WidthExpr", "0.1"
QEM")( Linear2.SetAttr "Depth", "0"
zQ
{g~x Linear2.SetAttr "StartThickness", "0.000000"
L6j
5pI Linear2.SetAttr "EndThickness", "0.000000"
IxCEE5+`% Linear2.SetProfileName "ChannelPro_n=3.14"
Cc]s94 Linear2.SetDefaultThicknessTaperMode True
o})4Jt1vj
zUqiz 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
8'*z>1ZS5 图3.光栅布局通过VB脚本生成
TE*$NxQ 2 Ta!.oC[
设置仿真参数
p;j$i6YJ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
j:|60hDz^ 2. 在仿真参数对话框中,设置以下参数:
"yc/8{U
TE simulation
W.\HfJ74 Mesh Delta X: 0.015
R*TCoEKO Mesh Delta Z: 0.015
Ii*v(`2b Time Step Size: Auto Run for 1000 Time steps
$X9Ban] 设置边界条件设置X和Z边为各向异性PML边界条件。
-p ) l63 Number of Anisotropic PML layers: 15
|.:O$/ Tt[ 其它参数保持默认
C3 0b}2 运行仿真
-baGr;,Cu • 在仿真参数中点击Run按钮,启动仿真
c6s(f • 在分析仪中,可以观察到各场分量的时域响应
S:vv*5 • 仿真完成后,点击“Yes”,启动分析仪。
HtEjM|zj N)
{ 远场分析
衍射波
[ZURs3q 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
p`1d'n[ 2. 选择“Definition of the Cross Cut”为z方向
*8/Q_w 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
W\U zw,vI 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
]rn!+z 图4.远场计算对话框
-5vc0"?E 5vbnO]8 5. 在远场对话框,设置以下参数:
K;6K!6J:[ Wavelength: 0.63
[X^JV/R Refractive index: 1.5+0i
j#&sZ$HQ4 Angle Initial: -90.0
'cw0FpQ; Angle Final: 90.0
:v{$]wg Number of Steps: 721
Ffj:xZ9rk Distance: 100, 000*wavelength
j\dkv_L Intensity
rxa"ji!) Cqg}dXn' 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
6{lWUr 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
J-?\,N1R7 图5.“Opti 2D Viewer”中的远场模式