光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
`xbk)oW# •使用VB脚本生成光栅(或周期性)布局。
))63?_ •光栅布局
模拟和后处理分析
}/G~"&N[ 布局layout
\~nUk7. 我们将模拟如图1所示的二维光栅布局。
PpN+q:( 图1.二维光栅布局
2q# t/oN3T F!{N4X>%T 用VB脚本定义一个2D光栅布局
&eY$(o-Hw +7+
VbsFG 步骤:
J.":oD 1 通过在
文件菜单中选择“New”,启动一个新项目。
FQi"OZHq
2 在“Wafer Properties”对话框中设置以下
参数 X %,;IW]a Wafer Dimensions:
/S9Mu
)1Y Length (mm): 8.5
n2-R[W^ Width (mm): 3.0
cZL"e C%#C|X193 2D wafer properties:
]8YHA}P Wafer refractive index: Air
>T~{_|N 3 点击 Profiles 与 Materials.
~C=`yj n<yV]i$ 在“Materials”中加入以下
材料:
A'|W0|R9 Name: N=1.5
F5L/7j<} Refractive index (Re:): 1.5
D'O[0?N"g C bG"8F|4 Name: N=3.14
Iu0K#.s_ Refractive index (Re:): 3.14
zy@
#R ; Re<X~j5] 4.在“Profile”中定义以下轮廓:
hUGIy( Name: ChannelPro_n=3.14
?vf{v 2D profile definition, Material: n=3.14
r~nrP=-% zGZe|- Name: ChannelPro_n=1.5
1aYO:ZPy 2D profile definition, Material: n=1.5
;?inf`t lW&glU( 6.画出以下波导结构:
wrsETB
c a. Linear waveguide 1
9FK:lFGD Label: linear1
?\hXJih Start Horizontal offset: 0.0
@u6#Tvxy[ Start vertical offset: -0.75
9'//_ A, End Horizontal offset: 8.5
s'\"%~nF< End vertical offset: -0.75
)Y?Hf2'] Channel Thickness Tapering: Use Default
f<|8NQ2y. Width: 1.5
O";r\Z Depth: 0.0
=NJb9S&8A Profile: ChannelPro_n=1.5
$
Qg81mu C<w9f b. Linear waveguide 2
W,Dr2$V Label: linear2
aKCCFHq t! Start Horizontal offset: 0.5
w #(XiH* Start vertical offset: 0.05
&B3\;|\ End Horizontal offset: 1.0
Y!&dj95y End vertical offset: 0.05
AW> P\>{RE Channel Thickness Tapering: Use Default
Zb2 B5(0 Width: 0.1
Y]8l]l 1 Depth: 0.0
t4s}w$4 Profile: ChannelPro_n=3.14
RSmxwx^ -ZihEyG?V 7.加入水平平面波:
zKV{JUpG Continuous Wave Wavelength: 0.63 General:
L4kYF~G:4 Input field Transverse: Rectangular
Y,E:? X Position: 0.5
)J#@L* Direction: Negative Direction
RFA5vCG Label: InputPlane1
*QLl
jGe 2D Transverse:
\UB<'~z6! Center Position: 4.5
L**!$k"{5 Half width: 5.0
Fd'Ang6" Titlitng Angle: 45
&5d>jEaB} Effective Refractive Index: Local Amplitude: 1.0
3wR5:O$H 图2.波导结构(未设置周期)
J)g(Nw,O a+]=3o 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
yxA0#6so 将Linear2代码段修改如下:
NmtBn^t Dim Linear2
?6j@EJ<2q for m=1 to 8
>{GC@Cw Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
u4+VG5.rhT Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
W=)}=^N0 Linear2.SetAttr "WidthExpr", "0.1"
=}c~BHT Linear2.SetAttr "Depth", "0"
`VBjH]$ Linear2.SetAttr "StartThickness", "0.000000"
@RaMO# Linear2.SetAttr "EndThickness", "0.000000"
pbm4C0W} Linear2.SetProfileName "ChannelPro_n=3.14"
'w9tZO\2 Linear2.SetDefaultThicknessTaperMode True
c yN_Sg o~GhV4vq 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
7?hCt 图3.光栅布局通过VB脚本生成
PVtQ&m$y o)-Qd3d%S 设置仿真参数
I|R9@ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
#),QWTl3 2. 在仿真参数对话框中,设置以下参数:
tU)+q?Mw TE simulation
80+"
x3r Mesh Delta X: 0.015
PiH#9XB Mesh Delta Z: 0.015
*jW$AH Time Step Size: Auto Run for 1000 Time steps
}){hQt7 设置边界条件设置X和Z边为各向异性PML边界条件。
Qgf_ Number of Anisotropic PML layers: 15
Q6vkqu5!= 其它参数保持默认
X)uT-F y 运行仿真
!EKF^n6 • 在仿真参数中点击Run按钮,启动仿真
hUlFP • 在分析仪中,可以观察到各场分量的时域响应
/-4%ug tD$ • 仿真完成后,点击“Yes”,启动分析仪。
Jn:GqO CF>NyY:_ 远场分析
衍射波
?NHh=H\7u 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
92} ,A`= 2. 选择“Definition of the Cross Cut”为z方向
_N<qrH^; 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
7`WK1_rR\ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
cc^V~-ph 图4.远场计算对话框
a>Q7Qn 8o4
vA, 5. 在远场对话框,设置以下参数:
:W'1Q2 Wavelength: 0.63
ZMx<:0ai Refractive index: 1.5+0i
1[}VyP6 e Angle Initial: -90.0
=CqLZ$10 Angle Final: 90.0
Pp.X Du Number of Steps: 721
^R2:Z&Iv% Distance: 100, 000*wavelength
>eU;lru2Q Intensity
ex29rL3 Ii,L6c 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
.Wa6?r<g 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
~i(*.Z)
\ 图5.“Opti 2D Viewer”中的远场模式