光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
_nq n| •使用VB脚本生成光栅(或周期性)布局。
>z$|O> j •光栅布局
模拟和后处理分析
a9Rh 布局layout
^o:5B%}#[ 我们将模拟如图1所示的二维光栅布局。
QLl44*@ 图1.二维光栅布局
SUhP
e+ 9z}kkYk 用VB脚本定义一个2D光栅布局
W#\4"'=I 6V/mR~F1r 步骤:
~VF,qspO 1 通过在
文件菜单中选择“New”,启动一个新项目。
*A`^ C 2 在“Wafer Properties”对话框中设置以下
参数 XW:(FzF Wafer Dimensions:
GssoT<Y)Z Length (mm): 8.5
t[~i})yS Width (mm): 3.0
VZR6oia ~<LI p%5( 2D wafer properties:
c2"OpI Wafer refractive index: Air
ly+7klQ;. 3 点击 Profiles 与 Materials.
AWcPOU IRB;Q(Z
在“Materials”中加入以下
材料:
:Fl: bRH+ Name: N=1.5
_`58G#z Refractive index (Re:): 1.5
{S!~pn&^Y p9J( ,} Name: N=3.14
#D8)rs.9 Refractive index (Re:): 3.14
0"Hf6xz L^}kwu# 4.在“Profile”中定义以下轮廓:
(ol 3vt Name: ChannelPro_n=3.14
isqW?$s 2D profile definition, Material: n=3.14
cvt2P}ma# ;$]R#1i44 Name: ChannelPro_n=1.5
&bb*~W- 2D profile definition, Material: n=1.5
V qf}(3K0 r@aFB@ 6.画出以下波导结构:
@ *dA<N.9 a. Linear waveguide 1
O^GTPYW Label: linear1
EBm\rM8 Start Horizontal offset: 0.0
Zzs pE} Start vertical offset: -0.75
+dRTHz End Horizontal offset: 8.5
y|ZJ-[qg End vertical offset: -0.75
= 8n*%NC Channel Thickness Tapering: Use Default
JaEyVe Width: 1.5
)`a R?_ Depth: 0.0
yL1\V7GI{[ Profile: ChannelPro_n=1.5
oc.x1<Nd }|;n[+ } b. Linear waveguide 2
EP
@=i Label: linear2
<JlKtR&nSo Start Horizontal offset: 0.5
>:Ec Start vertical offset: 0.05
$xqphhBg End Horizontal offset: 1.0
Cv3H%g+as End vertical offset: 0.05
:iJ= 9 Channel Thickness Tapering: Use Default
4CqZvdC Width: 0.1
_IGQ<U <z Depth: 0.0
EC7o 3LoND Profile: ChannelPro_n=3.14
{k>m5L #~Q0s)Ze 7.加入水平平面波:
f7L |Jc Continuous Wave Wavelength: 0.63 General:
yl*S|= 8;k Input field Transverse: Rectangular
tfsG
P]9$ X Position: 0.5
Q"\[ICu!, Direction: Negative Direction
|Ia46YS Label: InputPlane1
n*V^Qf 2D Transverse:
&Jj?C Center Position: 4.5
cCwT0O#d Half width: 5.0
!Bd2$y. Titlitng Angle: 45
r\yj$Gu>( Effective Refractive Index: Local Amplitude: 1.0
8d]=
+n! 图2.波导结构(未设置周期)
)g-*fSa NWf!c-': 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
kZ2+=/DYN 将Linear2代码段修改如下:
rv^j&X+EH Dim Linear2
H7WKnn@ for m=1 to 8
tcs
Z!# Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
}=++Lr4* Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
q\ ?6-?Mr Linear2.SetAttr "WidthExpr", "0.1"
jtA
Yp3M-$ Linear2.SetAttr "Depth", "0"
e3[N#ryt Linear2.SetAttr "StartThickness", "0.000000"
jjs-[g'} Linear2.SetAttr "EndThickness", "0.000000"
mZORV3bN Linear2.SetProfileName "ChannelPro_n=3.14"
FQ[::*- Linear2.SetDefaultThicknessTaperMode True
1m&(3%#{ .DT1Jvl 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
z E{.oi 图3.光栅布局通过VB脚本生成
(2S,0MHk 2o,%O91p 设置仿真参数
y- g5`@ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
7Y_S%B:F 2. 在仿真参数对话框中,设置以下参数:
z19y>j TE simulation
[!v:fj Mesh Delta X: 0.015
^ c:(HUo# Mesh Delta Z: 0.015
1w35H9\g Time Step Size: Auto Run for 1000 Time steps
Ek84yme# 设置边界条件设置X和Z边为各向异性PML边界条件。
LJT+tb?K Number of Anisotropic PML layers: 15
P
/Js!e<\ 其它参数保持默认
G.9?ApG9 运行仿真
.L8S_Mz • 在仿真参数中点击Run按钮,启动仿真
sb;81?| • 在分析仪中,可以观察到各场分量的时域响应
DBOz<| • 仿真完成后,点击“Yes”,启动分析仪。
)@Ly{cw z[vMO% 远场分析
衍射波
,]>Eg6B,u 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
G|.>p<q 2. 选择“Definition of the Cross Cut”为z方向
&B[$l`1 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
Z$T1nm%lo: 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
Mk7#qiPo 图4.远场计算对话框
q[r|p"TGov JGJQ5zt 5. 在远场对话框,设置以下参数:
ZNzye1JSm Wavelength: 0.63
\4mw>8wA Refractive index: 1.5+0i
#lNi\Lw+j Angle Initial: -90.0
N[czraFBD} Angle Final: 90.0
8JGt|, Number of Steps: 721
;/$zBr`' Distance: 100, 000*wavelength
P#6y Intensity
Qb6s]QZEV m"NZ; *d ' 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
9"oc.ue.2D 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
OLlNCb#t 图5.“Opti 2D Viewer”中的远场模式