光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
* & : J •使用VB脚本生成光栅(或周期性)布局。
}@vf=jm> •光栅布局
模拟和后处理分析
R:U!HE8j 布局layout
!_?#f| 我们将模拟如图1所示的二维光栅布局。
KNSMx<GP 图1.二维光栅布局
; g\rY %Vhj<gN 用VB脚本定义一个2D光栅布局
@gi / 1 cq &X)^G# 步骤:
&Y-jK < 1 通过在
文件菜单中选择“New”,启动一个新项目。
7upN:7D- 2 在“Wafer Properties”对话框中设置以下
参数 iz2;xa* Wafer Dimensions:
LDdgI Length (mm): 8.5
;M5]XCPk Width (mm): 3.0
" (yw(/ A[H"(E#k 2D wafer properties:
\iAs Wafer refractive index: Air
s}?QA cC 3 点击 Profiles 与 Materials.
0>yuB gh V-lp';bD 在“Materials”中加入以下
材料:
ms#|Yl1/| Name: N=1.5
n8o(>?Kw Refractive index (Re:): 1.5
,p6o "- u(g9-O Name: N=3.14
' [%?j?2r Refractive index (Re:): 3.14
-|GX]jx(Y >uwd3XW5 4.在“Profile”中定义以下轮廓:
43Ua@KNi Name: ChannelPro_n=3.14
>Dq&[9,8 2D profile definition, Material: n=3.14
v|:TYpku3 ^@;P -0Sy Name: ChannelPro_n=1.5
aA-s{af 2D profile definition, Material: n=1.5
hz rS_v /H*n(d 6.画出以下波导结构:
<,Fj}T- a. Linear waveguide 1
dyt.(2 Label: linear1
Q6d>tqW hq Start Horizontal offset: 0.0
B+[L/C}=; Start vertical offset: -0.75
Cg]S`R- End Horizontal offset: 8.5
h 2C9p2. End vertical offset: -0.75
=/bC0bb{i Channel Thickness Tapering: Use Default
`Lr|KuFN Width: 1.5
%Ktlez:S Depth: 0.0
[ip}f4K Profile: ChannelPro_n=1.5
b#Vm;6BHD1 OGPrjL+ b. Linear waveguide 2
#X*=oG Label: linear2
}kMKA.O" Start Horizontal offset: 0.5
ZC9S0Z Start vertical offset: 0.05
TJs ~}&L End Horizontal offset: 1.0
W=2#Q2) End vertical offset: 0.05
]GXE2A_i; Channel Thickness Tapering: Use Default
E*83N@i Width: 0.1
>C -N0H Depth: 0.0
s;xErH@RA Profile: ChannelPro_n=3.14
hc]5f3Z Q=#Wk$1. 7.加入水平平面波:
)gNVJ Continuous Wave Wavelength: 0.63 General:
V0y_c^x Input field Transverse: Rectangular
jiP^Hz"e
X Position: 0.5
Hf9F:yH Direction: Negative Direction
z}2 Label: InputPlane1
D>K=D" 2D Transverse:
/y-8dgv0a Center Position: 4.5
w s7LDY&( Half width: 5.0
jWh}cM= Titlitng Angle: 45
lfte Effective Refractive Index: Local Amplitude: 1.0
IvM>z03 图2.波导结构(未设置周期)
sF1j4 NC VevDW }4q* 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
P;ovPyoO 将Linear2代码段修改如下:
xN44>3# Dim Linear2
=5#sB* for m=1 to 8
o*xft6U Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
@T~~aQFk Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
}?[a>.]u Linear2.SetAttr "WidthExpr", "0.1"
YBQ{/"v%| Linear2.SetAttr "Depth", "0"
z_ L><}H Linear2.SetAttr "StartThickness", "0.000000"
N|asr, Linear2.SetAttr "EndThickness", "0.000000"
z&Lcl{<MA Linear2.SetProfileName "ChannelPro_n=3.14"
Vn6]h|vm Linear2.SetDefaultThicknessTaperMode True
w'<"5F` sF p% T4j 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
vSGvv43G 图3.光栅布局通过VB脚本生成
ihopQb+k^m |\SwZTr 设置仿真参数
[u7i)fn5? 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
{GS$7n 2. 在仿真参数对话框中,设置以下参数:
myDcr|j-a TE simulation
Cm#[$T@C Mesh Delta X: 0.015
>:f&@vwm Mesh Delta Z: 0.015
|:5[` Time Step Size: Auto Run for 1000 Time steps
HI{IC!6 设置边界条件设置X和Z边为各向异性PML边界条件。
$mF9os- Number of Anisotropic PML layers: 15
VZr AZV^c 其它参数保持默认
P30|TU+B 运行仿真
zN,2
(v" • 在仿真参数中点击Run按钮,启动仿真
$
1v'CT • 在分析仪中,可以观察到各场分量的时域响应
4_h?E:sBb • 仿真完成后,点击“Yes”,启动分析仪。
01vKx)f `_>44!M 远场分析
衍射波
g5~wdhpb 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
WXCZ
}l 2. 选择“Definition of the Cross Cut”为z方向
Pe?b#
G 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
BVv{:m{w 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
YF<U'EVU- 图4.远场计算对话框
y/!jC]!+c dR
>hb*kJ 5. 在远场对话框,设置以下参数:
|]j2T8_= Wavelength: 0.63
OsNJ;B Refractive index: 1.5+0i
!s(s^ Angle Initial: -90.0
d2O x:| <) Angle Final: 90.0
lAo S 9w Number of Steps: 721
9u] "($ Distance: 100, 000*wavelength
?TY/'-M5 Intensity
?eri6D,86w 3}2a3) 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
KU (g Zy 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
_Wgpk0 图5.“Opti 2D Viewer”中的远场模式