光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
v' C@jsxM •使用VB脚本生成光栅(或周期性)布局。
4bnt=5] •光栅布局
模拟和后处理分析
q$F) !& 布局layout
/w0sj`;" 我们将模拟如图1所示的二维光栅布局。
7m\vRMK 图1.二维光栅布局
)`^ /(YG YNI;h%w 用VB脚本定义一个2D光栅布局
Uls+n@\! ]a M-p@ 步骤:
a~,Kz\Tt 1 通过在
文件菜单中选择“New”,启动一个新项目。
?b56AE 2 在“Wafer Properties”对话框中设置以下
参数 8yn4}`Nc@ Wafer Dimensions:
#*^e,FF< Length (mm): 8.5
wZQ)jo7*g Width (mm): 3.0
d ,UCH >Co)2d] 2D wafer properties:
s'TY[ Wafer refractive index: Air
CI^[I\$& 3 点击 Profiles 与 Materials.
7{4w2) SnW7 x 在“Materials”中加入以下
材料:
88+
=F
XG Name: N=1.5
L"^OdpOs Refractive index (Re:): 1.5
Pubv$u2 G{+2xN
a( Name: N=3.14
w-ALCh8o Refractive index (Re:): 3.14
L/yaVU{aEb 2L:$aZ 4.在“Profile”中定义以下轮廓:
cAb>2]M5V Name: ChannelPro_n=3.14
6lsEGe 2D profile definition, Material: n=3.14
ytiyF2Kp eQ;Q4 Name: ChannelPro_n=1.5
/D'M 24 2D profile definition, Material: n=1.5
;g+]klR! J1X~vQAe 6.画出以下波导结构:
Z5$fE7ba+ a. Linear waveguide 1
6T_K9 Label: linear1
GWdSSr> Start Horizontal offset: 0.0
&))\2pl Start vertical offset: -0.75
tb,9a!? End Horizontal offset: 8.5
IXWQ) End vertical offset: -0.75
6Hk="$6K Channel Thickness Tapering: Use Default
_w>uI57U Width: 1.5
p?JQ[K7i Depth: 0.0
$Asr`Q1i
Profile: ChannelPro_n=1.5
WI&lj<* rEM#D]k b. Linear waveguide 2
'#q4Bc1 Label: linear2
1'Rmg\( Start Horizontal offset: 0.5
2)9r'ai?a Start vertical offset: 0.05
FshC )[w, End Horizontal offset: 1.0
<( EyXV End vertical offset: 0.05
;|HL+je;Z Channel Thickness Tapering: Use Default
lL0M^Nv Width: 0.1
mlB~V3M'G Depth: 0.0
Vm,,uF Profile: ChannelPro_n=3.14
!),t"Ae?> {[W(a<%bXm 7.加入水平平面波:
9->q| E4 Continuous Wave Wavelength: 0.63 General:
/8c&Axuv Input field Transverse: Rectangular
6pp $-uS X Position: 0.5
nQ-mmY># Direction: Negative Direction
N=~~EtX Label: InputPlane1
v@n_F 2D Transverse:
t7*#[x)a Center Position: 4.5
50$W0L$ Half width: 5.0
Ee)xnY%( Titlitng Angle: 45
S&wzB)#' Effective Refractive Index: Local Amplitude: 1.0
U\vY/6;JI 图2.波导结构(未设置周期)
=wrP:wYF >;9NtoE 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
rt}^4IqL 将Linear2代码段修改如下:
x)oRSsv!Tr Dim Linear2
s`;f2B/| for m=1 to 8
dYF=c Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
ue\t ,*KYd Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
|8U;m:AS Linear2.SetAttr "WidthExpr", "0.1"
suVmg-d Linear2.SetAttr "Depth", "0"
;dZMa]X0 Linear2.SetAttr "StartThickness", "0.000000"
,b|-rU\ Linear2.SetAttr "EndThickness", "0.000000"
S|AjL
Ng# Linear2.SetProfileName "ChannelPro_n=3.14"
Fr [7 Linear2.SetDefaultThicknessTaperMode True
&