光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
?Y|*EH •使用VB脚本生成光栅(或周期性)布局。
JDj^7\` •光栅布局
模拟和后处理分析
)!jX$bK 布局layout
!:|[?M.` 我们将模拟如图1所示的二维光栅布局。
$G@^!( 图1.二维光栅布局
Z g~6 "'\f?A9 用VB脚本定义一个2D光栅布局
0f3C;u-q- A.@Af+ 步骤:
QLum=YB 1 通过在
文件菜单中选择“New”,启动一个新项目。
(D
<o=Q 2 在“Wafer Properties”对话框中设置以下
参数 7UA|G2Zr Wafer Dimensions:
gt{$G|bi Length (mm): 8.5
#7yy7Y5 Width (mm): 3.0
JwMFu5 @ o; Ns-= 2D wafer properties:
QQIU5 Wafer refractive index: Air
IWD21lS 3 点击 Profiles 与 Materials.
y_A?}'X K}1eQS&$a 在“Materials”中加入以下
材料:
&nX,)" Name: N=1.5
RRBBz7:~ Refractive index (Re:): 1.5
T_1p1Sg gP 6`q Name: N=3.14
g{%2*{;i Refractive index (Re:): 3.14
3PU'd^ aB+B1YdY" 4.在“Profile”中定义以下轮廓:
5'hQ6i8 Name: ChannelPro_n=3.14
Eh*t;J=O 2D profile definition, Material: n=3.14
b"QeCw#v`> #Y'svn1H Name: ChannelPro_n=1.5
.vJt&@NO 2D profile definition, Material: n=1.5
s#2<^6 $,L,VYN 6.画出以下波导结构:
At=l>
a. Linear waveguide 1
sg!*%*XQ Label: linear1
8`S6BkfC| Start Horizontal offset: 0.0
V-
HO_GDo Start vertical offset: -0.75
'YUx&FcM End Horizontal offset: 8.5
jtFet{ End vertical offset: -0.75
$bv l.c Channel Thickness Tapering: Use Default
y/}ENUGR Width: 1.5
y$^.HI02jP Depth: 0.0
L.M|o Profile: ChannelPro_n=1.5
06peo
d ?
(f44Zgm b. Linear waveguide 2
&}/h[v_#' Label: linear2
0;pO QF Start Horizontal offset: 0.5
eg
vgi?y Start vertical offset: 0.05
u]%>=N(^2 End Horizontal offset: 1.0
70&]nb6f End vertical offset: 0.05
*zR Channel Thickness Tapering: Use Default
L_4ZxsIv Width: 0.1
5{uK;Vxse Depth: 0.0
~0~f Profile: ChannelPro_n=3.14
_Z|3qQ E?+MM0 7.加入水平平面波:
xHMbtY Continuous Wave Wavelength: 0.63 General:
sXaIQhZ Input field Transverse: Rectangular
|vY0[#E8& X Position: 0.5
U|HF;L Direction: Negative Direction
fsDwfwil* Label: InputPlane1
|,wp@)e6h 2D Transverse:
E-_Q3^ Center Position: 4.5
yHL5gz@k Half width: 5.0
A+Xk=k5< Titlitng Angle: 45
&]? X"K Effective Refractive Index: Local Amplitude: 1.0
L--(Y+vmf 图2.波导结构(未设置周期)
C'c9AoE5> +#c3Y;JP 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
rHWlv\+Nn 将Linear2代码段修改如下:
o?$B<Cb" Dim Linear2
IO\>U(:vx for m=1 to 8
utvZ<zz` Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
0H-~-z8Y Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Aey*n=V4#F Linear2.SetAttr "WidthExpr", "0.1"
u{o!#_o64 Linear2.SetAttr "Depth", "0"
lbtVQW0V;o Linear2.SetAttr "StartThickness", "0.000000"
]E+deM Linear2.SetAttr "EndThickness", "0.000000"
.#]
V5g, Linear2.SetProfileName "ChannelPro_n=3.14"
De(\<H# Linear2.SetDefaultThicknessTaperMode True
z$>_c"D x{X(Y]*1S 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
&l=%*`On 图3.光栅布局通过VB脚本生成
a3<.F&c+c 9p#Laei]. 设置仿真参数
WYb\vm=r 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
Z/wKUK; 2. 在仿真参数对话框中,设置以下参数:
/@<Pn&Rq TE simulation
+hIStA Mesh Delta X: 0.015
eL-9fld/n Mesh Delta Z: 0.015
ORV~F0d< Time Step Size: Auto Run for 1000 Time steps
(1pxQ%yEA 设置边界条件设置X和Z边为各向异性PML边界条件。
\P;%fN Number of Anisotropic PML layers: 15
$`Z-,AJc 其它参数保持默认
]mN'Qoc 运行仿真
LH4!QDK- • 在仿真参数中点击Run按钮,启动仿真
^qaS • 在分析仪中,可以观察到各场分量的时域响应
cVt
MCgx • 仿真完成后,点击“Yes”,启动分析仪。
3+_
.I{ zw`T^N# 远场分析
衍射波
1N_Gk& 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
swBgV,; 2. 选择“Definition of the Cross Cut”为z方向
Nd.+Rs 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
n4cM
/unU 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
TU-4+o%; 图4.远场计算对话框
=""z!%j +P?!yH,n 5. 在远场对话框,设置以下参数:
K 9ytot Wavelength: 0.63
Ny@CP} Refractive index: 1.5+0i
@hlT7C)xK Angle Initial: -90.0
hpD\, Angle Final: 90.0
?mJNzHrq; Number of Steps: 721
p`jkyi Distance: 100, 000*wavelength
El;\#la Intensity
ccc*"_45# 0,a;N%K- 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
R\%&Q| 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
2F0@M|' 图5.“Opti 2D Viewer”中的远场模式