光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
8n73MF
•使用VB脚本生成光栅(或周期性)布局。
Y"lxh/l$} •光栅布局
模拟和后处理分析
(Dn-vY' 布局layout
VAthQ< 我们将模拟如图1所示的二维光栅布局。
S m1bDa\!= 图1.二维光栅布局
_cJ{fYwYU 7<tqT
@c 用VB脚本定义一个2D光栅布局
c]"B)I1L \W\6m0-x 步骤:
zHU#Jjc_b 1 通过在
文件菜单中选择“New”,启动一个新项目。
{&;b0'!Tf 2 在“Wafer Properties”对话框中设置以下
参数 cwD0 ~B Wafer Dimensions:
k}O|4*.BT Length (mm): 8.5
Xo*$|9[. Width (mm): 3.0
-'0AV,{Z HcVPJuD 2D wafer properties:
ps[6)d)o Wafer refractive index: Air
SB'YV#-- 3 点击 Profiles 与 Materials.
C[KU~@ 2lSM`cw 在“Materials”中加入以下
材料:
KGWENX_U Name: N=1.5
nn
Refractive index (Re:): 1.5
]q3Kd{B ~pA;j7* Name: N=3.14
p%ZiTrA1&D Refractive index (Re:): 3.14
*~cs8<.!1 FezW/+D 4.在“Profile”中定义以下轮廓:
9j2I6lGQ Name: ChannelPro_n=3.14
(p?3#|^ 2D profile definition, Material: n=3.14
?|8Tgs@+ bsP; Name: ChannelPro_n=1.5
7gMtnwT 2D profile definition, Material: n=1.5
tZYI{m{ `p{!5 6.画出以下波导结构:
YKg[k:F a. Linear waveguide 1
5p|@ ) Label: linear1
xI4I1"/ Start Horizontal offset: 0.0
GA_`C"mx Start vertical offset: -0.75
tN{t-xUgk End Horizontal offset: 8.5
^0|NmMJ] End vertical offset: -0.75
$.N~AA~0 Channel Thickness Tapering: Use Default
7L+X\oaB Width: 1.5
WDGGT.h G Depth: 0.0
05KoxFO? Profile: ChannelPro_n=1.5
JZ%F mVK 9NK b. Linear waveguide 2
k4$q|x7+% Label: linear2
=[K)<5,@ Start Horizontal offset: 0.5
[/Z'OV"tU Start vertical offset: 0.05
M#cr*% End Horizontal offset: 1.0
^CPfo/! End vertical offset: 0.05
NoO+xLHw8 Channel Thickness Tapering: Use Default
8>{W:?I Width: 0.1
gc@#O#K~h^ Depth: 0.0
z>33O5U Profile: ChannelPro_n=3.14
3> #mO}\ 1 j12Qn@] 7.加入水平平面波:
@pGlWw9* Continuous Wave Wavelength: 0.63 General:
-t6R!ZI Input field Transverse: Rectangular
paNw5]
-
X Position: 0.5
&@HNz6KO Direction: Negative Direction
Dsj|~J3 Label: InputPlane1
!049K!rP{ 2D Transverse:
`MsYgd Center Position: 4.5
qX+gG",8 Half width: 5.0
As+;qNO Titlitng Angle: 45
W/r mm* Effective Refractive Index: Local Amplitude: 1.0
~$4.Mf,u 图2.波导结构(未设置周期)
V`\f+Uu C5+`< 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
?JgO-. 将Linear2代码段修改如下:
^+as\ Dim Linear2
r)p2'+}pV for m=1 to 8
tP`G]BCbt Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
;}WtJ&y=M Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
*NW QmC~ Linear2.SetAttr "WidthExpr", "0.1"
t@(9ga( Linear2.SetAttr "Depth", "0"
9Yl8ndP^E Linear2.SetAttr "StartThickness", "0.000000"
WBr:|F+~s Linear2.SetAttr "EndThickness", "0.000000"
RM&H!E<# Linear2.SetProfileName "ChannelPro_n=3.14"
2{e dW+ Linear2.SetDefaultThicknessTaperMode True
[v0ri<