光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
|]*]k`o<) •使用VB脚本生成光栅(或周期性)布局。
C/U^8,6\n •光栅布局
模拟和后处理分析
Dz3=ksXZ
布局layout
4:WN-[xX 我们将模拟如图1所示的二维光栅布局。
-lAX-W0 图1.二维光栅布局
J{`G= aOIE9wO 用VB脚本定义一个2D光栅布局
}\?UmuolQ @Ge\odfF: 步骤:
*#\da]"{ 1 通过在
文件菜单中选择“New”,启动一个新项目。
PS7ta?V
QC 2 在“Wafer Properties”对话框中设置以下
参数 2M1}`H\ Wafer Dimensions:
;Hk{bz( Length (mm): 8.5
R9xhO! Width (mm): 3.0
jv_z%` Xt& rYv 2D wafer properties:
Wo+fMn(O Wafer refractive index: Air
_[SW8 9zk 3 点击 Profiles 与 Materials.
)\ow/XPE
qp;eBa 在“Materials”中加入以下
材料:
js^+ {~ Name: N=1.5
RE6dN Refractive index (Re:): 1.5
VI_8r5o c%tb6@C Name: N=3.14
aGSix}b1P Refractive index (Re:): 3.14
AYb-BaIc T8'm{[C 4.在“Profile”中定义以下轮廓:
_3YZz$07 Name: ChannelPro_n=3.14
]l/ PyX 2D profile definition, Material: n=3.14
IqD;* tr?U/YG Name: ChannelPro_n=1.5
cCa+UTxaJ 2D profile definition, Material: n=1.5
' ?tx?t P]cC2L@Vbi 6.画出以下波导结构:
;[)O{%s a. Linear waveguide 1
b}<?& @ Label: linear1
mQd
L"caA Start Horizontal offset: 0.0
I)]"`2w2w Start vertical offset: -0.75
\%BII>VS End Horizontal offset: 8.5
s]X0}"cz End vertical offset: -0.75
+PAb+E|, Channel Thickness Tapering: Use Default
r&rip^40 Width: 1.5
e)BU6m% Depth: 0.0
kD*r@s]= Profile: ChannelPro_n=1.5
ngLpiU0H& Mj!g1Q b. Linear waveguide 2
^K3Bn Label: linear2
$Sls9H+. Start Horizontal offset: 0.5
A r,fmq Start vertical offset: 0.05
aWS_z6[t#6 End Horizontal offset: 1.0
qe[P'\]L End vertical offset: 0.05
{J~VB~(' Channel Thickness Tapering: Use Default
}j`#s Width: 0.1
r}nz )=\Cj Depth: 0.0
%n B}Hq ; Profile: ChannelPro_n=3.14
_jWGwO +?9.
&<? 7.加入水平平面波:
nq%GLUH
Continuous Wave Wavelength: 0.63 General:
B>r>z5 Input field Transverse: Rectangular
uz;zmK X Position: 0.5
K#;EjR4H Direction: Negative Direction
AFdBf6/"i Label: InputPlane1
B%(-UTQf 2D Transverse:
H: rrY Center Position: 4.5
@:w[(K[^b/ Half width: 5.0
Lq#$q>!K Titlitng Angle: 45
\AY*x=PF Effective Refractive Index: Local Amplitude: 1.0
}AGdWt@ 图2.波导结构(未设置周期)
'U*Kb tlyDXB~+ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
@)x8< 将Linear2代码段修改如下:
M
_e^KF Dim Linear2
D`
a bVf for m=1 to 8
U2CCjAgRs Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
W.m2`] &