光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
]Yf^O @<<> •使用VB脚本生成光栅(或周期性)布局。
cK2;)&U7 •光栅布局
模拟和后处理分析
c##tP*( 布局layout
ZJ~0o2xZ' 我们将模拟如图1所示的二维光栅布局。
8'_MCx( 图1.二维光栅布局
"q1S.3V; U&=pKbTe 用VB脚本定义一个2D光栅布局
M,X)rM}Q Z:Vde^Ih 步骤:
$06('Hg& 1 通过在
文件菜单中选择“New”,启动一个新项目。
D?8(n=#[ 2 在“Wafer Properties”对话框中设置以下
参数 )Vrp<"v Wafer Dimensions:
Yyd]s\W Length (mm): 8.5
:WsHP\r Width (mm): 3.0
jKo9y R'6(eA[K 2D wafer properties:
)_n(u3' Wafer refractive index: Air
b|@zjh;]A7 3 点击 Profiles 与 Materials.
zg@i7T m @lUJY 在“Materials”中加入以下
材料:
<L11s%5- Name: N=1.5
>,tJq% Refractive index (Re:): 1.5
<}h<By) M X?UmQ' Name: N=3.14
c~ vql4 Refractive index (Re:): 3.14
xIW]e1pu=( y\(xYB>T 4.在“Profile”中定义以下轮廓:
AWPgrv/ Name: ChannelPro_n=3.14
SIKaDIZ 2D profile definition, Material: n=3.14
\jV2":[%c /er{sKVX< Name: ChannelPro_n=1.5
tQYV4h\Qj 2D profile definition, Material: n=1.5
m#G,m G<k.d"< 6.画出以下波导结构:
Qds:*]vGS a. Linear waveguide 1
%`K{0b Label: linear1
fAz4>_4 Start Horizontal offset: 0.0
JiO8EIM Start vertical offset: -0.75
w^^l, End Horizontal offset: 8.5
6uKth mr End vertical offset: -0.75
\x:U`T Channel Thickness Tapering: Use Default
Iw`|,-| Width: 1.5
B
u%%O8 Depth: 0.0
+'iqGg- Profile: ChannelPro_n=1.5
xLLTp7b( I Z*) b. Linear waveguide 2
?Q+*[YEJ5 Label: linear2
[` }w7 Start Horizontal offset: 0.5
a&2x;diF Start vertical offset: 0.05
gdoaXw;Sy End Horizontal offset: 1.0
gR
gB=
C{ End vertical offset: 0.05
#@5VT*/7 Channel Thickness Tapering: Use Default
GUD]sXSj Width: 0.1
w|6?A- Depth: 0.0
L[<Y6u>m!1 Profile: ChannelPro_n=3.14
5Ma."?rW
}EHL
}Q 7.加入水平平面波:
lq]8zm<\)] Continuous Wave Wavelength: 0.63 General:
__s'/6u Input field Transverse: Rectangular
Rq e|7/As X Position: 0.5
J>G'H) Direction: Negative Direction
fv+d3s?h Label: InputPlane1
,)!%^~v 2D Transverse:
yi Xb<g+B Center Position: 4.5
?~T(Cue> Half width: 5.0
W"pHR sf Titlitng Angle: 45
1{]S[\F] Effective Refractive Index: Local Amplitude: 1.0
a5O$he 图2.波导结构(未设置周期)
<n2'm
#`=>Mza 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
M
#0v# {o 将Linear2代码段修改如下:
. XbDb Dim Linear2
n[qnrk*3
% for m=1 to 8
lKU{jWA Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
)?B-en\ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
$bF+J8%D Linear2.SetAttr "WidthExpr", "0.1"
jk_yrbLc Linear2.SetAttr "Depth", "0"
l Le&