光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
KhW;RD •使用VB脚本生成光栅(或周期性)布局。
*r$+&8V\n •光栅布局
模拟和后处理分析
{nvLPUL 布局layout
wlEo"BA
我们将模拟如图1所示的二维光栅布局。
(<Th=Fns? 图1.二维光栅布局
%bD}m! Myq5b`z 用VB脚本定义一个2D光栅布局
H_ez'yy =l0Jb#d 步骤:
r@o6voX 1 通过在
文件菜单中选择“New”,启动一个新项目。
{|yob4N 2 在“Wafer Properties”对话框中设置以下
参数 B-T/V-c7 Wafer Dimensions:
"luR9l,RRE Length (mm): 8.5
OHflIeq#@ Width (mm): 3.0
UD)e:G[Gat C{q :_M; 2D wafer properties:
ph#tgLJ Wafer refractive index: Air
N?m0USu* 3 点击 Profiles 与 Materials.
yx<WSgWZ[ <6G11-K 在“Materials”中加入以下
材料:
gt7VxZ Name: N=1.5
TcGoSj<Z Refractive index (Re:): 1.5
xGG,2W+z C^z\([k0er Name: N=3.14
i]#+1Hf Refractive index (Re:): 3.14
`WOYoec
iK IOh('G 4.在“Profile”中定义以下轮廓:
1 `7<2w Name: ChannelPro_n=3.14
>R2SQA o 2D profile definition, Material: n=3.14
F5 ]C{ \6 93kQ Name: ChannelPro_n=1.5
=SAU4xjo 2D profile definition, Material: n=1.5
bLnrbid }=2; 6.画出以下波导结构:
toaYsiIkzW a. Linear waveguide 1
snt(IJQ Label: linear1
rJ o"fx Start Horizontal offset: 0.0
xwH?0/ Start vertical offset: -0.75
~Wp Gf, End Horizontal offset: 8.5
5&f{1M6l> End vertical offset: -0.75
2PR^:h2 Channel Thickness Tapering: Use Default
,o7hk{fR* Width: 1.5
w?,M}=vg Depth: 0.0
0K-*WQ*#9 Profile: ChannelPro_n=1.5
Z^9/v }I!hOD>]O b. Linear waveguide 2
0'r%,0 Label: linear2
x#N-&baS Start Horizontal offset: 0.5
t
nS+5F Start vertical offset: 0.05
WpLZQ6wH End Horizontal offset: 1.0
c=6Q%S End vertical offset: 0.05
3<?XTv- Channel Thickness Tapering: Use Default
=U.
b% uC Width: 0.1
Zh/Uu6 Depth: 0.0
0gn@h/F2% Profile: ChannelPro_n=3.14
9 F^;! ,b$2= JO'f 7.加入水平平面波:
|Cdvfk Continuous Wave Wavelength: 0.63 General:
P=5NKg Input field Transverse: Rectangular
z1!6%W_. X Position: 0.5
;_:Oo l, Direction: Negative Direction
IAOcKQ3 Label: InputPlane1
G^(}a]>9 2D Transverse:
jb /8?7 Center Position: 4.5
M]-VHI[&W Half width: 5.0
m ga6[E< Titlitng Angle: 45
i%#$* Effective Refractive Index: Local Amplitude: 1.0
{NCF6Mk 图2.波导结构(未设置周期)
cW``M.d'F dP>w/$C} 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
J@9}`y=K 将Linear2代码段修改如下:
K"2|[ 5 Dim Linear2
G5tday~3 for m=1 to 8
'ho{eR@d Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
!eJCM`cp Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
MbXq`% Linear2.SetAttr "WidthExpr", "0.1"
t!_x(u Linear2.SetAttr "Depth", "0"
^\:2}4Uj_ Linear2.SetAttr "StartThickness", "0.000000"
qXXGF_Q Linear2.SetAttr "EndThickness", "0.000000"
M_``'gw Linear2.SetProfileName "ChannelPro_n=3.14"
uvA(Rn Linear2.SetDefaultThicknessTaperMode True
s~},y]YV (}:C+p
'I 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
j|e[s ?d 图3.光栅布局通过VB脚本生成
$gMCR
b, <SVmOmJ-K 设置仿真参数
M@p"yq 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
!~lW3 2. 在仿真参数对话框中,设置以下参数:
/9Ilo\MdD TE simulation
k:#6^!b1 Mesh Delta X: 0.015
s T3p>8n Mesh Delta Z: 0.015
(3*UPZv Time Step Size: Auto Run for 1000 Time steps
'9J|=z9. 设置边界条件设置X和Z边为各向异性PML边界条件。
Pj7gGf6v Number of Anisotropic PML layers: 15
0p fnV% 其它参数保持默认
v.W{x?5 运行仿真
["3df>!f • 在仿真参数中点击Run按钮,启动仿真
ad!(z[F'Y • 在分析仪中,可以观察到各场分量的时域响应
w5]l1}rl • 仿真完成后,点击“Yes”,启动分析仪。
NE"jh_m- oj}"H>tTp 远场分析
衍射波
wUi(3g|A 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
GLKO]y 2. 选择“Definition of the Cross Cut”为z方向
rdj@u47 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
bO49GEUT _ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
#/j ={*- 图4.远场计算对话框
7SI)1_%G +zWrLf_Rc 5. 在远场对话框,设置以下参数:
]2+g&ox4' Wavelength: 0.63
>kdM:MK Refractive index: 1.5+0i
R V!o4"\] Angle Initial: -90.0
!W1eUY Angle Final: 90.0
U q X1E Number of Steps: 721
SZVV40w Distance: 100, 000*wavelength
xKp0r1} Intensity
gZ(O)uzv M@?"t_e1 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
0^]t"z5f0 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
015Owi 图5.“Opti 2D Viewer”中的远场模式