光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
-F `GZ •使用VB脚本生成光栅(或周期性)布局。
`9[n5-t •光栅布局
模拟和后处理分析
>YWK"~|i~ 布局layout
K<5yjG8& 我们将模拟如图1所示的二维光栅布局。
.W~XX 图1.二维光栅布局
`dV2\^*A ANBuX6q 用VB脚本定义一个2D光栅布局
)u{]rb[ W[Q<# Ju 步骤:
\MRd4vufv 1 通过在
文件菜单中选择“New”,启动一个新项目。
PVlCj 2 在“Wafer Properties”对话框中设置以下
参数 oX:&;KA Wafer Dimensions:
V{oFig 6 Length (mm): 8.5
e16H@ Width (mm): 3.0
"Tser*i ) /+%aSPQ 2D wafer properties:
tkk8b6%h?p Wafer refractive index: Air
sS
?A<D 3 点击 Profiles 与 Materials.
q1u$Sm V~ KWy@7 在“Materials”中加入以下
材料:
su=MMr> Name: N=1.5
Yh1nXkA!V Refractive index (Re:): 1.5
{f`Y\_r$@ 9Jh&C5\\ Name: N=3.14
P!f0&W Refractive index (Re:): 3.14
Za!KM %!A:Ka!m. 4.在“Profile”中定义以下轮廓:
td%J.&K_*' Name: ChannelPro_n=3.14
MnFrQC 2D profile definition, Material: n=3.14
cKkH*0B5 %/e'6g< Name: ChannelPro_n=1.5
5`fUR/|[ 2D profile definition, Material: n=1.5
h?/E /> Q?1.GuF 6.画出以下波导结构:
kJuG haO a. Linear waveguide 1
}(u:K}8 Label: linear1
r-$xLe7a Start Horizontal offset: 0.0
)C?H m^# Start vertical offset: -0.75
#KoI8U" End Horizontal offset: 8.5
8*/;W&7y End vertical offset: -0.75
9F3, Channel Thickness Tapering: Use Default
rucw{)
_ Width: 1.5
',`Qx{tQ) Depth: 0.0
kBA.N l7 Profile: ChannelPro_n=1.5
In?+ [>dDRsZ b. Linear waveguide 2
7P3/Ky@6 Label: linear2
g`'!Vgd?M[ Start Horizontal offset: 0.5
/_J{JGp9 Start vertical offset: 0.05
Co nik` End Horizontal offset: 1.0
zdPJ>PNU End vertical offset: 0.05
x#SE%j? Channel Thickness Tapering: Use Default
Ng;?hT w Width: 0.1
hzqgsmT) Depth: 0.0
N,XjZ26 Profile: ChannelPro_n=3.14
VOr:G85*s 8%;Wyqdf] 7.加入水平平面波:
}X8P5c!\ Continuous Wave Wavelength: 0.63 General:
(=u!E+N Input field Transverse: Rectangular
.u
ikte X Position: 0.5
V Zbn@1 Direction: Negative Direction
nU{Qi;0 Label: InputPlane1
>ryA:TO{ 2D Transverse:
q M_c-^F Center Position: 4.5
1qAE)8ie Half width: 5.0
IfB .2e` Titlitng Angle: 45
%pxJ2 7Q Effective Refractive Index: Local Amplitude: 1.0
^C~_}/cZ 图2.波导结构(未设置周期)
TDk[,4 mgH~GKf^ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
RTd,bi* 将Linear2代码段修改如下:
b7^q(}qE Dim Linear2
fCNQUK{Gs5 for m=1 to 8
UZFs]z!,k Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
sM)1w- Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
) P9]/y Linear2.SetAttr "WidthExpr", "0.1"
:Wx7a1.Jz Linear2.SetAttr "Depth", "0"
Ms5qQ<0v_ Linear2.SetAttr "StartThickness", "0.000000"
I:DAn!N-A* Linear2.SetAttr "EndThickness", "0.000000"
CzreX3i Linear2.SetProfileName "ChannelPro_n=3.14"
Q;>Yk_(S Linear2.SetDefaultThicknessTaperMode True
4KxuSI^q b/oNQQM#Dk 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
NL|c5y<r 图3.光栅布局通过VB脚本生成
Pw]+6 -J6` 设置仿真参数
a3M I+ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
.?APDr"QQH 2. 在仿真参数对话框中,设置以下参数:
aJ=)5%$6kc TE simulation
H1?C:R Mesh Delta X: 0.015
56kqG}mg& Mesh Delta Z: 0.015
ZaaBg Time Step Size: Auto Run for 1000 Time steps
_VgFuU$h 设置边界条件设置X和Z边为各向异性PML边界条件。
=pmG.>Si Number of Anisotropic PML layers: 15
!.# g 其它参数保持默认
U9PI#TX
&O 运行仿真
<f}:YDY' • 在仿真参数中点击Run按钮,启动仿真
}@
U}c6/ • 在分析仪中,可以观察到各场分量的时域响应
k
t!@}QP • 仿真完成后,点击“Yes”,启动分析仪。
bYQ@! &m36h`tM 远场分析
衍射波
ktfxb<% 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
1jKj'7/K 2. 选择“Definition of the Cross Cut”为z方向
OB=bRLd.IR 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
CTg79
ITYk 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
P}Mu|AEG 图4.远场计算对话框
=ePwGm1:c Q:
-& 5. 在远场对话框,设置以下参数:
lBG=jOS Wavelength: 0.63
.1^Kk3 Refractive index: 1.5+0i
o@
^^;30 Angle Initial: -90.0
`%Kj+^|DS Angle Final: 90.0
ZB$yEW]]~ Number of Steps: 721
$SA
@ " Distance: 100, 000*wavelength
LdiNXyyzet Intensity
T,/<'cl" YsCY~e & 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
&'PLOyWw 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
]YZ_kc^(V; 图5.“Opti 2D Viewer”中的远场模式