光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
R~L0{`
0 •使用VB脚本生成光栅(或周期性)布局。
5yh/0i5 | •光栅布局
模拟和后处理分析
G@!z$ 布局layout
<j}lp- 我们将模拟如图1所示的二维光栅布局。
N5|Rmfo1 图1.二维光栅布局
~Y=@$!Uq O|kKwadC 用VB脚本定义一个2D光栅布局
9D@$i<D: y-?>*fNo 步骤:
0m[dP 1 通过在
文件菜单中选择“New”,启动一个新项目。
C>^D*C( 2 在“Wafer Properties”对话框中设置以下
参数 fbrp#G71y Wafer Dimensions:
?{o/I\\ Length (mm): 8.5
>QQ(m\a$ Width (mm): 3.0
m:tiY
[c>W l2v_?j-)x 2D wafer properties:
>(9F Wafer refractive index: Air
{!ZyCi19 3 点击 Profiles 与 Materials.
@54*.q$ ]>##`X 在“Materials”中加入以下
材料:
oqkVYl E Name: N=1.5
U3;aLQ* Refractive index (Re:): 1.5
-P=g3Q i $X`y%*<<v Name: N=3.14
HgBJf~q~U Refractive index (Re:): 3.14
O/AE}] BJjx|VA+ 4.在“Profile”中定义以下轮廓:
XR# ;{p+b Name: ChannelPro_n=3.14
/k\01hc` 2D profile definition, Material: n=3.14
LDT(]HJ (Ha@s^?.C Name: ChannelPro_n=1.5
*ck}|RhR 2D profile definition, Material: n=1.5
T~4mQuYi `&7RMa4= 6.画出以下波导结构:
W-2i+g) a. Linear waveguide 1
Zp`T Label: linear1
)yee2(S
Start Horizontal offset: 0.0
'aJgLws*w Start vertical offset: -0.75
PY\PUMF> End Horizontal offset: 8.5
-Q
e~)7 End vertical offset: -0.75
;uI~BV*3 Channel Thickness Tapering: Use Default
HP2wtN{Zs Width: 1.5
Pd=,$UQp Depth: 0.0
l?N`{,1^ Profile: ChannelPro_n=1.5
O>r-]0DI[ a^nAZ b. Linear waveguide 2
\9c$`nn Label: linear2
g1m-+a Start Horizontal offset: 0.5
y+mElG$F Start vertical offset: 0.05
A;K(J4y* End Horizontal offset: 1.0
R zR?&J End vertical offset: 0.05
>mu)/kl Channel Thickness Tapering: Use Default
3*S[eqMJc Width: 0.1
R|,7d:k Depth: 0.0
$`Nd?\$ Profile: ChannelPro_n=3.14
=Z0t :{ /"AvOh* 7.加入水平平面波:
#Fd W/y5 Continuous Wave Wavelength: 0.63 General:
^tAO_~4 Input field Transverse: Rectangular
"X1vZwK8N X Position: 0.5
60B-ay0e$b Direction: Negative Direction
mMw;0/n Label: InputPlane1
97~K!'/^+y 2D Transverse:
:xeLt; Center Position: 4.5
<bmLy_": Half width: 5.0
T{MC-j _T9 Titlitng Angle: 45
Ueyw;Y Effective Refractive Index: Local Amplitude: 1.0
=V $j6 图2.波导结构(未设置周期)
iLq#\8t^ *K!++k!Ixa 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
~uaP$*B[ 将Linear2代码段修改如下:
cy3ww}) Dim Linear2
D&{
*AH%Q for m=1 to 8
tB6k|cPC Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
%]4-{%v Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Df=q-iq<{/ Linear2.SetAttr "WidthExpr", "0.1"
PnWD}'0V Linear2.SetAttr "Depth", "0"
r'aY2n^O Linear2.SetAttr "StartThickness", "0.000000"
uDG+SdyN@ Linear2.SetAttr "EndThickness", "0.000000"
2"/yEg*= Linear2.SetProfileName "ChannelPro_n=3.14"
*3Nn +T
Linear2.SetDefaultThicknessTaperMode True
rY70^<z 2R@%Y/ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Ti= 3y497S 图3.光栅布局通过VB脚本生成
cdp0!W4Gi i ^|@"+ 设置仿真参数
X ,
ZeD 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
tHI*, 2. 在仿真参数对话框中,设置以下参数:
D s-` TE simulation
J/Q|uRpmqr Mesh Delta X: 0.015
{yq8<? Mesh Delta Z: 0.015
f'{>AKi=C Time Step Size: Auto Run for 1000 Time steps
#)74X%4( 设置边界条件设置X和Z边为各向异性PML边界条件。
gue(C(~.k_ Number of Anisotropic PML layers: 15
+WF.wP?y 其它参数保持默认
B=zMYi 运行仿真
Pz473d • 在仿真参数中点击Run按钮,启动仿真
-<oZ)OfU • 在分析仪中,可以观察到各场分量的时域响应
-V=arm\#z • 仿真完成后,点击“Yes”,启动分析仪。
c^S&F9/U* ]h@{6N'oNS 远场分析
衍射波
9*p G?3*I 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
!<Z{@7oH 2. 选择“Definition of the Cross Cut”为z方向
Zoow*`b|$U 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
9~Xg#{ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
T
T"3^@ 图4.远场计算对话框
.cR*P<3O XiG88Kwv 5. 在远场对话框,设置以下参数:
Kym:J \}9B Wavelength: 0.63
`^%GN8d}nm Refractive index: 1.5+0i
1g i}H) Angle Initial: -90.0
raQYn?[ Angle Final: 90.0
>eo8 Number of Steps: 721
Ekf2NT Distance: 100, 000*wavelength
bj.]o*u- Intensity
6y@<?08Q +"=~o5k3Q 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
9p<:LZd~ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
#$u ZDQY_ 图5.“Opti 2D Viewer”中的远场模式