光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
ehZ/J5 •使用VB脚本生成光栅(或周期性)布局。
BxaGBK<k •光栅布局
模拟和后处理分析
$gCN[%+j 布局layout
cG1iO: 我们将模拟如图1所示的二维光栅布局。
HNLr}
Y j 图1.二维光栅布局
!L2!:_ mH)8A+us 用VB脚本定义一个2D光栅布局
@yF>=5z: DbYnd%k*4 步骤:
bicbCC6kC 1 通过在
文件菜单中选择“New”,启动一个新项目。
#@E:|^$1y 2 在“Wafer Properties”对话框中设置以下
参数 I*n]8c Wafer Dimensions:
f @Vd'k< Length (mm): 8.5
mA^3?yj Width (mm): 3.0
#9{2aRCJ 4hkyq>c} 2D wafer properties:
rkz84wDx Wafer refractive index: Air
:G&:v 3 点击 Profiles 与 Materials.
S.pXo'} `r0lu_.$]4 在“Materials”中加入以下
材料:
&%u m#XE Name: N=1.5
7t/Y5Qf Refractive index (Re:): 1.5
LyG`q3@ & u6ydN1xe Name: N=3.14
#L&/o9| Refractive index (Re:): 3.14
G?Za/G % pAbkb3m 4.在“Profile”中定义以下轮廓:
`$3ktQ $ Name: ChannelPro_n=3.14
v<mSd2B* 2D profile definition, Material: n=3.14
59~mr:*sF J'yCVb)V Name: ChannelPro_n=1.5
F6"s&3D{ 2D profile definition, Material: n=1.5
gu&W:FY U
U#tm 6.画出以下波导结构:
sH]T1z a. Linear waveguide 1
,V{Bpr Label: linear1
}nSu7)3$B Start Horizontal offset: 0.0
~(:0&w%e Start vertical offset: -0.75
s|X_:3\x End Horizontal offset: 8.5
_9?v?mL5; End vertical offset: -0.75
;J:* r0 Channel Thickness Tapering: Use Default
K>n@8<7 Width: 1.5
$9u:Ox
2 Depth: 0.0
-z%->OUu Profile: ChannelPro_n=1.5
t3=K>Y@w Bm<tCN-4 b. Linear waveguide 2
XD80]@\za Label: linear2
.:e#!~Ki Start Horizontal offset: 0.5
d<E2=WVB6 Start vertical offset: 0.05
5Fbb5`( End Horizontal offset: 1.0
e*d lGK3l End vertical offset: 0.05
,$RXN8x1 Channel Thickness Tapering: Use Default
_rz\[{) Width: 0.1
x6^FpNgQ Depth: 0.0
C'S_M@I= Profile: ChannelPro_n=3.14
;Zn&Nc7 EYi{~ 7.加入水平平面波:
y.(m#&T Continuous Wave Wavelength: 0.63 General:
U/xzl4m6 Input field Transverse: Rectangular
:Y4Sdj X Position: 0.5
Mky^X,r Direction: Negative Direction
H}(WL+7 Label: InputPlane1
+>yspOEz 2D Transverse:
Hr T@Df Center Position: 4.5
n#B}p*G Half width: 5.0
V}Oz!
O Titlitng Angle: 45
*z0Rf; Effective Refractive Index: Local Amplitude: 1.0
6z'0fi|EN 图2.波导结构(未设置周期)
-lXQQ#V
- T7l,}G 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
LvU/,.$ 将Linear2代码段修改如下:
7e D`
is Dim Linear2
E,ooD3$h for m=1 to 8
f lt'~fe Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
6="o&! Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
%=V"
}P[ Linear2.SetAttr "WidthExpr", "0.1"
K<WowU Linear2.SetAttr "Depth", "0"
dF|R`Pa2ML Linear2.SetAttr "StartThickness", "0.000000"
z80*Ylx Linear2.SetAttr "EndThickness", "0.000000"
b{X.lz0 Linear2.SetProfileName "ChannelPro_n=3.14"
SzFh Linear2.SetDefaultThicknessTaperMode True
`m$,8f%j6_ JIc9csr:b 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
`M- 图3.光栅布局通过VB脚本生成
A5[kYD,_ >y!O_@>z 设置仿真参数
A{\DzUV9, 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
R@`xS<`L/ 2. 在仿真参数对话框中,设置以下参数:
OT"j V TE simulation
}g[Hi` Mesh Delta X: 0.015
?DnQU"_$ Mesh Delta Z: 0.015
F)19cKx7 Time Step Size: Auto Run for 1000 Time steps
Iv{iJoe;UH 设置边界条件设置X和Z边为各向异性PML边界条件。
`wSoa#U"@ Number of Anisotropic PML layers: 15
#W8c)gkG9 其它参数保持默认
$jBi~QqOf 运行仿真
|C,]-mJ G • 在仿真参数中点击Run按钮,启动仿真
%:dd#';g • 在分析仪中,可以观察到各场分量的时域响应
D>`{f4Y • 仿真完成后,点击“Yes”,启动分析仪。
PE[5oH 1k"i"kRM 远场分析
衍射波
[~;wCW,1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
W!TTfj 2. 选择“Definition of the Cross Cut”为z方向
t*Z-]P 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
A}3E)Qo=G 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
+LF=oM< 图4.远场计算对话框
x/0x&la 49Y:}<Yd 5. 在远场对话框,设置以下参数:
e"Z,!Q^-L Wavelength: 0.63
"kucFf f Refractive index: 1.5+0i
g1B P Angle Initial: -90.0
8zwH^q[`r Angle Final: 90.0
0
eOdE+ Number of Steps: 721
tao9icl*` Distance: 100, 000*wavelength
vv Intensity
vJW`aN1<I3 77 ?TRC 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
E#kH>q@K`$ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
.&K?@T4l 图5.“Opti 2D Viewer”中的远场模式