光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
\Hd B •使用VB脚本生成光栅(或周期性)布局。
[78
.%b' •光栅布局
模拟和后处理分析
&UR/Txnu 布局layout
1*h7L<#|mQ 我们将模拟如图1所示的二维光栅布局。
$}$@)!- 图1.二维光栅布局
R{_IrYk N3p3"4_]fy 用VB脚本定义一个2D光栅布局
&/9oi_r%r CCO g1X_ 步骤:
/ 5Loj&!= 1 通过在
文件菜单中选择“New”,启动一个新项目。
<.ky1aex7 2 在“Wafer Properties”对话框中设置以下
参数 Z.pw!mu" Wafer Dimensions:
7w, FA Length (mm): 8.5
OB22P% Width (mm): 3.0
I.!/R` ?W_U{=anl 2D wafer properties:
A]$+
`uS\ Wafer refractive index: Air
T*yveo&j 3 点击 Profiles 与 Materials.
[<QWTMjR @XC97kGWp 在“Materials”中加入以下
材料:
Z >=Y Name: N=1.5
Sj?sw]3 Refractive index (Re:): 1.5
CN(4;-so) B:cOcd?p Name: N=3.14
g/p
}r. Refractive index (Re:): 3.14
avu,o "M^W:4_ 4.在“Profile”中定义以下轮廓:
u2-7vudh Name: ChannelPro_n=3.14
4sjr\9IDC 2D profile definition, Material: n=3.14
-QDgr`%5 NCt sx /C Name: ChannelPro_n=1.5
yan[{h]EZ 2D profile definition, Material: n=1.5
D|9fHMg% PqLqF5`S 6.画出以下波导结构:
"b4iOp&:= a. Linear waveguide 1
nX%'o`f Label: linear1
tL{~O= Start Horizontal offset: 0.0
<|3v@ Start vertical offset: -0.75
3ohcHQ/a End Horizontal offset: 8.5
Ws)X5C=A End vertical offset: -0.75
W+e*(W|d6 Channel Thickness Tapering: Use Default
P1 stL, Width: 1.5
4uAafQ`@H Depth: 0.0
!!%[JR)cS Profile: ChannelPro_n=1.5
X@U1Ri 2-!Mao"^ b. Linear waveguide 2
`e>F<{
M6@ Label: linear2
z/k~+-6O Start Horizontal offset: 0.5
KxmPL Start vertical offset: 0.05
Gj`Y2X2r End Horizontal offset: 1.0
A5<Z&Y[ End vertical offset: 0.05
myOX:K* Channel Thickness Tapering: Use Default
^jjJM| a Width: 0.1
D*'M^k|1 Depth: 0.0
eZ5}O0sfp Profile: ChannelPro_n=3.14
SoU'r]k1x }, &,Dt 7.加入水平平面波:
IC.<)I Continuous Wave Wavelength: 0.63 General:
\Rqh|T<D Input field Transverse: Rectangular
|#:dC # X Position: 0.5
.y9rM{h}b Direction: Negative Direction
}lUpC}aq_ Label: InputPlane1
Ny,A#-? 2D Transverse:
0nq}SH Center Position: 4.5
ZQ-`l:G Half width: 5.0
2$zq ( Titlitng Angle: 45
ivz?-X4] Effective Refractive Index: Local Amplitude: 1.0
kJi&9
图2.波导结构(未设置周期)
OMI!=Upz LYg$M@ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
A2:){`Mw 将Linear2代码段修改如下:
]q[ Dim Linear2
WfT)CIKs for m=1 to 8
4O_+4yS Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
e$+f~~K Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
3k*:B~1 Linear2.SetAttr "WidthExpr", "0.1"
w[7.@ %^[ Linear2.SetAttr "Depth", "0"
_q$LrAT Linear2.SetAttr "StartThickness", "0.000000"
DT"Zq Linear2.SetAttr "EndThickness", "0.000000"
Z F yX@#B9 Linear2.SetProfileName "ChannelPro_n=3.14"
%^?3s5PXD Linear2.SetDefaultThicknessTaperMode True
|5B,cB_ n vpPmc 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
|k
.M+ 图3.光栅布局通过VB脚本生成
1;kG[z=A _O)2 设置仿真参数
K*U=;*p) 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
`I vw`} L 2. 在仿真参数对话框中,设置以下参数:
/z)3gsF TE simulation
>+jbMAYSq Mesh Delta X: 0.015
Fr3d#kVR Mesh Delta Z: 0.015
i=X* Time Step Size: Auto Run for 1000 Time steps
#"p1Qea$ 设置边界条件设置X和Z边为各向异性PML边界条件。
)Z8"uRTb0 Number of Anisotropic PML layers: 15
!P60[*> 其它参数保持默认
g3~~"`2 运行仿真
iPY vePQ • 在仿真参数中点击Run按钮,启动仿真
9p\Hx#^ • 在分析仪中,可以观察到各场分量的时域响应
K[LVT]3 n • 仿真完成后,点击“Yes”,启动分析仪。
|
2.e0Z]k L>~@9a\jO 远场分析
衍射波
MX`Wg 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
0qL
V(L 2. 选择“Definition of the Cross Cut”为z方向
by|?g8 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
eN|HJ= 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
k99gjL` 图4.远场计算对话框
>1a\%G H#|Z8^ *Ds 5. 在远场对话框,设置以下参数:
uH
ny ] Wavelength: 0.63
I`"-$99|t1 Refractive index: 1.5+0i
s
la*3~?* Angle Initial: -90.0
/nY).lSH Angle Final: 90.0
i{|lsd(+ Number of Steps: 721
+Y5(hjE Distance: 100, 000*wavelength
$d2kHT Intensity
gY>;|), }c35FM, 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
18O@ 1M 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
z{`6# 图5.“Opti 2D Viewer”中的远场模式