光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
W6)dUi
:" •使用VB脚本生成光栅(或周期性)布局。
MM=W9# •光栅布局
模拟和后处理分析
:~-)Sm+^ 布局layout
R%qX_m\0 我们将模拟如图1所示的二维光栅布局。
>aX:gN 图1.二维光栅布局
-,[~~ 4S^ 用VB脚本定义一个2D光栅布局
,HQ1C8 c9
gz!NE 步骤:
S$Ns8= 1 通过在
文件菜单中选择“New”,启动一个新项目。
M}R@ K;%
2 在“Wafer Properties”对话框中设置以下
参数 b,=,px Wafer Dimensions:
Mr#oT? Length (mm): 8.5
XB6N[E Width (mm): 3.0
b/T20F{W\o 'O!Z:-qE 2D wafer properties:
*Pa2bY3: Wafer refractive index: Air
cr2{sGn| 3 点击 Profiles 与 Materials.
S(@*3]!q h9,wiT 在“Materials”中加入以下
材料:
0G+L1a- Name: N=1.5
8L%%eM_O Refractive index (Re:): 1.5
6z1aG9G K<Yn_G Name: N=3.14
~ra#UG\Y8 Refractive index (Re:): 3.14
/h{go]&Nb d#X&Fi 4.在“Profile”中定义以下轮廓:
,Zf
:R Name: ChannelPro_n=3.14
\VoB=Ac& 2D profile definition, Material: n=3.14
wghFGHgw 9_g>BI;"8 Name: ChannelPro_n=1.5
MYur3lj%_ 2D profile definition, Material: n=1.5
#
|[`1 !7kAJG g 6.画出以下波导结构:
N]3-L`t a. Linear waveguide 1
?CcR
7l Label: linear1
&!H~bzg Start Horizontal offset: 0.0
?,A}E|jZ Start vertical offset: -0.75
HV#?6,U} End Horizontal offset: 8.5
SSSDl$}'t End vertical offset: -0.75
6Cop#kW# Channel Thickness Tapering: Use Default
zsR wF Width: 1.5
*l-Dh: Depth: 0.0
,3fuX~g Profile: ChannelPro_n=1.5
B}l}Aq8 CuV=C
Ay> b. Linear waveguide 2
~;!i)[- Label: linear2
,qBnqi[ Start Horizontal offset: 0.5
)]0[`iLe Start vertical offset: 0.05
< -@, End Horizontal offset: 1.0
LaEX kb*s End vertical offset: 0.05
XL"v21X Channel Thickness Tapering: Use Default
|j.KFu845 Width: 0.1
,6cbD Depth: 0.0
F3H:I"4 Profile: ChannelPro_n=3.14
rFt ,36# b.w(x*a 7.加入水平平面波:
C+Fh$ Continuous Wave Wavelength: 0.63 General:
Vsm%h^]d Input field Transverse: Rectangular
5 b#"
G" X Position: 0.5
sqMNon`5 Direction: Negative Direction
Gdc~Lh Label: InputPlane1
SevfxR 2D Transverse:
)Rm
'YmO Center Position: 4.5
.:r2BgL Half width: 5.0
0NuL9 Titlitng Angle: 45
]HZa:aPY Effective Refractive Index: Local Amplitude: 1.0
F$sF
'cw 图2.波导结构(未设置周期)
e&FX7dsyy g-{<v4 NGI 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
/64^5DjTh 将Linear2代码段修改如下:
n+RUPZ Dim Linear2
5{!a+ for m=1 to 8
#1,>Qnl Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
=ihoVA:| Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Y9I #Q Linear2.SetAttr "WidthExpr", "0.1"
Ztpm_P6 Linear2.SetAttr "Depth", "0"
Xdp`Z'g Linear2.SetAttr "StartThickness", "0.000000"
21)-:rS Linear2.SetAttr "EndThickness", "0.000000"
8g2-8pa{ Linear2.SetProfileName "ChannelPro_n=3.14"
j
44bF/ Linear2.SetDefaultThicknessTaperMode True
L(!!7B_, 7zJh;f/ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
#%=vy\r 图3.光栅布局通过VB脚本生成
Wj f>:\w 'nj&}A' 设置仿真参数
kVG6\<c] 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
f@xfb
ie! 2. 在仿真参数对话框中,设置以下参数:
^S;RX* TE simulation
_sf0{/< ) Mesh Delta X: 0.015
^%'tD Mesh Delta Z: 0.015
!Sy'Z6%f Time Step Size: Auto Run for 1000 Time steps
HLyFyv\ 设置边界条件设置X和Z边为各向异性PML边界条件。
;5JIY7t Number of Anisotropic PML layers: 15
L]L~TA<D9i 其它参数保持默认
+y{93nl 运行仿真
r{6B+3J • 在仿真参数中点击Run按钮,启动仿真
3Mh,NQB • 在分析仪中,可以观察到各场分量的时域响应
6UzT]" LR; • 仿真完成后,点击“Yes”,启动分析仪。
J9$]]\52s. ;o)`9<es!2 远场分析
衍射波
@qr3v>3X< 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
[&O:qaD^ 2. 选择“Definition of the Cross Cut”为z方向
%]:vT&M 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
[:hy 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
?/|@ #& 图4.远场计算对话框
]Buk9LTe lWyP[>* 5. 在远场对话框,设置以下参数:
JXy667_ Wavelength: 0.63
lh(+X-}D Refractive index: 1.5+0i
~|B!.+ Angle Initial: -90.0
C&s }m0R Angle Final: 90.0
f29HQhXqS Number of Steps: 721
YV _I-l0 Distance: 100, 000*wavelength
.V )2Tz Intensity
c:,{O0 # c7TWAG_+ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Tdmo'"m8z_ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
YQ8x6AJ 图5.“Opti 2D Viewer”中的远场模式