光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Qc)RrqYNGF •使用VB脚本生成光栅(或周期性)布局。
i(TDJ@} •光栅布局
模拟和后处理分析
`dq3= 布局layout
X_Of k 我们将模拟如图1所示的二维光栅布局。
jmwQc& 图1.二维光栅布局
}][|]/s?42 ?F_;~ 用VB脚本定义一个2D光栅布局
/m|&nl8"qe ;gw!;!T 步骤:
-^NAHE$bW 1 通过在
文件菜单中选择“New”,启动一个新项目。
e#Zf>hlAz 2 在“Wafer Properties”对话框中设置以下
参数 NU6Kh7 Wafer Dimensions:
9jJ/ RX p Length (mm): 8.5
r5$?4t Width (mm): 3.0
I;fw]/M%! =<27qj
2D wafer properties:
kA9 X!)2w Wafer refractive index: Air
D-\'P31 3 点击 Profiles 与 Materials.
8Nl|\3nl- c$UpR"+ 在“Materials”中加入以下
材料:
`E1_S Name: N=1.5
$9u Refractive index (Re:): 1.5
PX>\j& DcvmeGl Name: N=3.14
T"0)%k8lJ Refractive index (Re:): 3.14
e"8m+] f;;
S 4.在“Profile”中定义以下轮廓:
D_;n4<|. Name: ChannelPro_n=3.14
ucm.~1G( 2D profile definition, Material: n=3.14
ff+9(P>* jgfP|oD Name: ChannelPro_n=1.5
lPSDY&`P 2D profile definition, Material: n=1.5
38.J:?Q fbbl92p 6.画出以下波导结构:
7&S|y]$~ a. Linear waveguide 1
?@ye*%w_ Label: linear1
-JW6@L@ Start Horizontal offset: 0.0
;<ma K*f\S Start vertical offset: -0.75
It:QXLi; End Horizontal offset: 8.5
*'S%gR=Aa+ End vertical offset: -0.75
R;m0eG` Channel Thickness Tapering: Use Default
j`&i4K: Width: 1.5
S5JR`o
Depth: 0.0
XjM) /-w Profile: ChannelPro_n=1.5
sYW)h$p;D Hbj:CViYq b. Linear waveguide 2
8t
35j Label: linear2
^T1-dw( Start Horizontal offset: 0.5
0GR9C%"] Start vertical offset: 0.05
UA u4x 7 End Horizontal offset: 1.0
w*R-E4S?2 End vertical offset: 0.05
qc4"0Ap' Channel Thickness Tapering: Use Default
$}c@S0%P" Width: 0.1
(dprY1noC Depth: 0.0
= 8e8!8 Profile: ChannelPro_n=3.14
:^L]Da3 xWZcSIH! 7.加入水平平面波:
COJ!b Continuous Wave Wavelength: 0.63 General:
10C91/ Input field Transverse: Rectangular
gBS#Z. X Position: 0.5
ZUI\0qh+ Direction: Negative Direction
sWCm[HpG Label: InputPlane1
Q]'!FmXf 2D Transverse:
'{*>hj5.8 Center Position: 4.5
J7] 60H#P Half width: 5.0
\@t5S Titlitng Angle: 45
<;Z3
5{ Effective Refractive Index: Local Amplitude: 1.0
13az[ 图2.波导结构(未设置周期)
A0k>Nb\c3 qxr&_r 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
%hb5C 4q 将Linear2代码段修改如下:
)GKgK;=~ Dim Linear2
>o=p5#{ for m=1 to 8
Z|GkM5QH: Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
qiryC7.E Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
|6Z MxY Linear2.SetAttr "WidthExpr", "0.1"
w1G.^ Linear2.SetAttr "Depth", "0"
ymCIk/\ Linear2.SetAttr "StartThickness", "0.000000"
;i?!qB>baX Linear2.SetAttr "EndThickness", "0.000000"
6N)1/=) Linear2.SetProfileName "ChannelPro_n=3.14"
vaZZzv{H Linear2.SetDefaultThicknessTaperMode True
{4q:4i 0>MI*fnY" 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Bb"4^EOZ, 图3.光栅布局通过VB脚本生成
.O.R @h,$&=HY 设置仿真参数
j]D = \ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
!QspmCo+ 2. 在仿真参数对话框中,设置以下参数:
jch8d(`?d TE simulation
<%7
V`,*g/ Mesh Delta X: 0.015
/~5YTe(F Mesh Delta Z: 0.015
\8aF(Y^H Time Step Size: Auto Run for 1000 Time steps
>7q,[:(gs 设置边界条件设置X和Z边为各向异性PML边界条件。
kweTK]mT Number of Anisotropic PML layers: 15
qE:DJy< 其它参数保持默认
V gk,+l!4 运行仿真
I,3!uogn • 在仿真参数中点击Run按钮,启动仿真
4TE ?mh} • 在分析仪中,可以观察到各场分量的时域响应
I*2rS_i[T • 仿真完成后,点击“Yes”,启动分析仪。
^eRT8I ,RO(k4 远场分析
衍射波
XOU$3+8q5 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
='>UKy[= 2. 选择“Definition of the Cross Cut”为z方向
;qK6."b`; 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
=1[g`b 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
+eXfT*=u5 图4.远场计算对话框
!17Z\Ltqyj kR(=VM JU 5. 在远场对话框,设置以下参数:
Zw{tuO7}K Wavelength: 0.63
RBD
MZ Refractive index: 1.5+0i
1iDo$]TEK Angle Initial: -90.0
H12@12v Angle Final: 90.0
n82Q.M-H Number of Steps: 721
XCriZ|s Distance: 100, 000*wavelength
~Xw?>& Intensity
Uroj%xN #wiP{+%b 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
r ngw6?`n- 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
1D6O=j\ 图5.“Opti 2D Viewer”中的远场模式