光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
$r@zs'N •使用VB脚本生成光栅(或周期性)布局。
f@wquG' •光栅布局
模拟和后处理分析
@=}0`bE 布局layout
rr],DGg+B] 我们将模拟如图1所示的二维光栅布局。
M^=zt 图1.二维光栅布局
wDal5GJp FXG]LoP 用VB脚本定义一个2D光栅布局
3Ei#q+7 &[?\k> 步骤:
un mJbY;t 1 通过在
文件菜单中选择“New”,启动一个新项目。
KOk4^#h@ 2 在“Wafer Properties”对话框中设置以下
参数 '}53f2%gKa Wafer Dimensions:
'uSn}hm Length (mm): 8.5
-A^ _{4X Width (mm): 3.0
5y.WMNNv{ uP)'FI 2D wafer properties:
u&Yz[)+b=g Wafer refractive index: Air
dd %6t 3 点击 Profiles 与 Materials.
3w*R& vxBgGl 在“Materials”中加入以下
材料:
EIP/V Name: N=1.5
X:"i4i[}{9 Refractive index (Re:): 1.5
x}Eg.S cJ=6r
: Name: N=3.14
v!~fs)cdE| Refractive index (Re:): 3.14
r,73C/*&/ i
&nSh ]KK 4.在“Profile”中定义以下轮廓:
:'X &bn Name: ChannelPro_n=3.14
{L{o]Ii?g 2D profile definition, Material: n=3.14
nV|EQs4( @1roe
G Name: ChannelPro_n=1.5
Ju@c~Xm 2D profile definition, Material: n=1.5
nfbR
P t Tv,[DI + 6.画出以下波导结构:
,q`\\d a. Linear waveguide 1
Mq156TL Label: linear1
D0-3eV- Start Horizontal offset: 0.0
"<N*"euH Start vertical offset: -0.75
AlaW=leTe End Horizontal offset: 8.5
]m3HF& End vertical offset: -0.75
oWT3apGO Channel Thickness Tapering: Use Default
IVY]Ek EG~ Width: 1.5
Qz1E 2yJ Depth: 0.0
=4YhG;% Profile: ChannelPro_n=1.5
0
1rK8jX yS'I[l b. Linear waveguide 2
6Pl<'3& Label: linear2
(=AWOU+ Start Horizontal offset: 0.5
-=Q*Ml#I Start vertical offset: 0.05
m.rmM` End Horizontal offset: 1.0
q6luUx,@m End vertical offset: 0.05
N#_H6TfMG Channel Thickness Tapering: Use Default
`4J$Et%S Width: 0.1
F v2-( Depth: 0.0
h7Kzq{$ Profile: ChannelPro_n=3.14
tX s\R(?T m+[Ux{$ 7.加入水平平面波:
IFL*kB Continuous Wave Wavelength: 0.63 General:
y dA8wL Input field Transverse: Rectangular
lTgjq:mn X Position: 0.5
""G'rN_=Bi Direction: Negative Direction
U?Zq6_M& Label: InputPlane1
(y~TL*B 2D Transverse:
$qnZl'O> Center Position: 4.5
&U#|uc!+ Half width: 5.0
sY&IquK^ Titlitng Angle: 45
Ee! 4xg Effective Refractive Index: Local Amplitude: 1.0
.|70; 图2.波导结构(未设置周期)
5|s\*bV` Xl#ggub? 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
aB&&YlR=n< 将Linear2代码段修改如下:
AQvudx)@" Dim Linear2
k="i;! Ge for m=1 to 8
F^;ez/Gl Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
|u<7?)mp Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
R&k<AZ Linear2.SetAttr "WidthExpr", "0.1"
m<Dy<((_I Linear2.SetAttr "Depth", "0"
LU%E:i| Linear2.SetAttr "StartThickness", "0.000000"
}&J q}j Linear2.SetAttr "EndThickness", "0.000000"
L#sMSVC+ Linear2.SetProfileName "ChannelPro_n=3.14"
qo bc<- Linear2.SetDefaultThicknessTaperMode True
1>h]{%I $%#!bV 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
fIU#M]Xx 图3.光栅布局通过VB脚本生成
aX'*pK/- ?N9uu4 设置仿真参数
JK5gQ3C[ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
mz0X3 2. 在仿真参数对话框中,设置以下参数:
?CPahU TE simulation
bq*eH (qx Mesh Delta X: 0.015
n{mfn*r. Mesh Delta Z: 0.015
gjD Ho$ Time Step Size: Auto Run for 1000 Time steps
0aB;p7~& 设置边界条件设置X和Z边为各向异性PML边界条件。
H*CW1([ Number of Anisotropic PML layers: 15
rjYJs*# 其它参数保持默认
oap4rHk} 运行仿真
)Ql%r?(F+ • 在仿真参数中点击Run按钮,启动仿真
jQB9j • 在分析仪中,可以观察到各场分量的时域响应
/h3RmUy • 仿真完成后,点击“Yes”,启动分析仪。
p<"m[Dt] &V/MmmT
远场分析
衍射波
1mG-} 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
_-g&PXH 2. 选择“Definition of the Cross Cut”为z方向
eeB{c.# 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ZUd-<y 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
}o`76rDN 图4.远场计算对话框
3
Za} b| [{,1=AB 5. 在远场对话框,设置以下参数:
~Mxvq9vaD Wavelength: 0.63
T_4/C2 Refractive index: 1.5+0i
wnC81$1l~ Angle Initial: -90.0
*$g-:ILRuZ Angle Final: 90.0
}5"u[Z. Number of Steps: 721
C~/a- Distance: 100, 000*wavelength
wFZP,fQ9l Intensity
vEJbA 0L52#;?Si" 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
/%^#8<=|U 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
'D1xh~ 图5.“Opti 2D Viewer”中的远场模式