光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
QV%,s!_b •使用VB脚本生成光栅(或周期性)布局。
KkK
!E •光栅布局
模拟和后处理分析
ta 布局layout
U"T>L 我们将模拟如图1所示的二维光栅布局。
A_pcv7=@ 图1.二维光栅布局
a_V.mu6h6p fkHCfcU 用VB脚本定义一个2D光栅布局
KtMD? 1EmZ/@k/Y 步骤:
W{!Slf 1 通过在
文件菜单中选择“New”,启动一个新项目。
zZE@:P&lf 2 在“Wafer Properties”对话框中设置以下
参数 w~a_FGYX Wafer Dimensions:
(~U1X4 Length (mm): 8.5
h.t2 ;O, b Width (mm): 3.0
-dO9y=?t <jz\U7TBf 2D wafer properties:
O!3`^_. Wafer refractive index: Air
uP.[,V0@^ 3 点击 Profiles 与 Materials.
^MczumG[ +)<H,?/ 在“Materials”中加入以下
材料:
sry`EkS Name: N=1.5
hsJS(qEh.' Refractive index (Re:): 1.5
1cdX0[sN a?
<Ar#)j Name: N=3.14
2;`F`}BA Refractive index (Re:): 3.14
%YLyh?J @C"w
1} 4.在“Profile”中定义以下轮廓:
fa#5pys Name: ChannelPro_n=3.14
q% pjY 2D profile definition, Material: n=3.14
;=i$0w9 W @\)a&p]a Name: ChannelPro_n=1.5
6>e YG<y{ 2D profile definition, Material: n=1.5
6$'0^Ftm' p}K\rpvJpu 6.画出以下波导结构:
69C>oX a. Linear waveguide 1
@7z_f!'u Label: linear1
EG
oe<. Start Horizontal offset: 0.0
#- z(]Y,y Start vertical offset: -0.75
$g @-WNe End Horizontal offset: 8.5
K[Ao_v2g End vertical offset: -0.75
2nv-/%] Channel Thickness Tapering: Use Default
_VFL}<i Width: 1.5
Zt{\<5j Depth: 0.0
$?Yw{%W Profile: ChannelPro_n=1.5
noSBwP|v* ^hIKDc!.m b. Linear waveguide 2
yq,%ey8 Label: linear2
O ]Stf7]%; Start Horizontal offset: 0.5
$@}\T Start vertical offset: 0.05
,].S~6IM End Horizontal offset: 1.0
RxrUnMF End vertical offset: 0.05
38 HnW Channel Thickness Tapering: Use Default
=k|hH~ Width: 0.1
(.J8Q Depth: 0.0
.:?cU#. Profile: ChannelPro_n=3.14
h"849c;C. *=~X1s 7.加入水平平面波:
B>{\qj)% Continuous Wave Wavelength: 0.63 General:
{S=gXIh(y Input field Transverse: Rectangular
t^(#~hx X Position: 0.5
?:1)=I<A4 Direction: Negative Direction
Q"QL#<N Label: InputPlane1
h6Q-+_5 2D Transverse:
+/Vi" Center Position: 4.5
;DN:AgXP Half width: 5.0
:1(UC}v Titlitng Angle: 45
DUOSL Effective Refractive Index: Local Amplitude: 1.0
u*C"d1v= 图2.波导结构(未设置周期)
7J$5dFV2 o7#Mr`6H 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
y|0I3n]e 将Linear2代码段修改如下:
8~s-@3J Dim Linear2
@[] A&)B for m=1 to 8
PdNxuy Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
.}||! Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
M~ ^ {S[o Linear2.SetAttr "WidthExpr", "0.1"
Zd]2>h Linear2.SetAttr "Depth", "0"
eV x
&S a Linear2.SetAttr "StartThickness", "0.000000"
Uk0]A Linear2.SetAttr "EndThickness", "0.000000"
cojbuo Linear2.SetProfileName "ChannelPro_n=3.14"
c-, 6k Linear2.SetDefaultThicknessTaperMode True
gbc])`aJ> TR([u 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
TV&4m5 图3.光栅布局通过VB脚本生成
}^/;8cfLY qf
qp}g\ 设置仿真参数
QW_QizR>| 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
7h3JH 2. 在仿真参数对话框中,设置以下参数:
UW/{q`) TE simulation
]p.eF YDh7 Mesh Delta X: 0.015
xK8R![x Mesh Delta Z: 0.015
_-.~>C Time Step Size: Auto Run for 1000 Time steps
0XNj!^& 设置边界条件设置X和Z边为各向异性PML边界条件。
\p&a c&] Number of Anisotropic PML layers: 15
bk#t+tuk 其它参数保持默认
8;r7ksE~ 运行仿真
=*u:@T=d5 • 在仿真参数中点击Run按钮,启动仿真
->S6S_H/+& • 在分析仪中,可以观察到各场分量的时域响应
]CIZF, • 仿真完成后,点击“Yes”,启动分析仪。
(KDv>@5 LpJ_HU7@lk 远场分析
衍射波
Mi5"XQ>/ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
7:_\t!] 2. 选择“Definition of the Cross Cut”为z方向
P!JRIw 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
s3LR6Z7;i 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
{lhdropd 图4.远场计算对话框
@Fl&@ $ 8/|~E 5. 在远场对话框,设置以下参数:
L'J Ekji" Wavelength: 0.63
B?xu!B, Refractive index: 1.5+0i
G)E#wh_S^ Angle Initial: -90.0
G *f5B Angle Final: 90.0
W]v[Xm$q Number of Steps: 721
X[cSmkp7 Distance: 100, 000*wavelength
vG<JOxP Intensity
[@qUQ,Ie ]v^;]0vcr 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
W,^(FR. 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Va1 eG]jQ 图5.“Opti 2D Viewer”中的远场模式