光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
j*@l"V>~ •使用VB脚本生成光栅(或周期性)布局。
-W{DxN1 •光栅布局
模拟和后处理分析
MvLs%GE% 布局layout
B3m_D"? 我们将模拟如图1所示的二维光栅布局。
Kemw^48ts
图1.二维光栅布局
WS-dS6Q} E9\vA*a 用VB脚本定义一个2D光栅布局
%t=kdc0=_ 2=0DCF;Bv 步骤:
M$4k; 1 通过在
文件菜单中选择“New”,启动一个新项目。
!1T\cS#1% 2 在“Wafer Properties”对话框中设置以下
参数 K`&oC8p Wafer Dimensions:
[u@Jc, Length (mm): 8.5
G2 ]H6G$M Width (mm): 3.0
A61^[Y,dX_ UsGa 2D wafer properties:
@}_WE,r Wafer refractive index: Air
T#%/s?_>. 3 点击 Profiles 与 Materials.
M}:=zcZ l C$Lu]pIL* 在“Materials”中加入以下
材料:
Tm^89I]L Name: N=1.5
+h^jC9,m~{ Refractive index (Re:): 1.5
vr#+0:| uJx"W Name: N=3.14
8 a!Rb-Q: Refractive index (Re:): 3.14
kh~'Cn "O V6$xcAE"</ 4.在“Profile”中定义以下轮廓:
0tISXu- Name: ChannelPro_n=3.14
D.D$#O_n.S 2D profile definition, Material: n=3.14
'K@|3R 2 &/v] Name: ChannelPro_n=1.5
5Dp#u 2D profile definition, Material: n=1.5
sb:d>6 J]W5[)L 6.画出以下波导结构:
OJT1d-5p a. Linear waveguide 1
[=O/1T Label: linear1
rqv))Zo` Start Horizontal offset: 0.0
6-`|:[Q~ Start vertical offset: -0.75
~DO4, End Horizontal offset: 8.5
I`[i;U{CK End vertical offset: -0.75
5tJ,7Y' Channel Thickness Tapering: Use Default
hPq%Lc Width: 1.5
hLJM%on Depth: 0.0
(%iRaw7hp Profile: ChannelPro_n=1.5
AE: Z+rM* 7\_o.(g#- b. Linear waveguide 2
b[z]CP Label: linear2
f)]%.> Start Horizontal offset: 0.5
,F&g5' Start vertical offset: 0.05
5<I End Horizontal offset: 1.0
wB'zuPAK6 End vertical offset: 0.05
*5tO0_L Channel Thickness Tapering: Use Default
xI,2LGO Width: 0.1
Z\[N!Zt| Depth: 0.0
IUR<.Y` Profile: ChannelPro_n=3.14
/TS=7J# f= >OJ!: 7.加入水平平面波:
<Q|d&vDVfV Continuous Wave Wavelength: 0.63 General:
,mRyQS'F Input field Transverse: Rectangular
|AZg*T3:W X Position: 0.5
Cg*H.f%Mr Direction: Negative Direction
3+>G#W~ Label: InputPlane1
1[_mEtM:]B 2D Transverse:
<2C7<7{7 Center Position: 4.5
.CP&bJP% Half width: 5.0
$R<Me Titlitng Angle: 45
kyR*D1N&) Effective Refractive Index: Local Amplitude: 1.0
^Rm 图2.波导结构(未设置周期)
ceNix!P &A#~)i5gF 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
CJ}5T]WZ 将Linear2代码段修改如下:
=PGs{?+&O Dim Linear2
Em[DHfu1Q for m=1 to 8
P`r55@af4 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
?` SUQm Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
`y#UJYXQE Linear2.SetAttr "WidthExpr", "0.1"
d1[ZHio2c? Linear2.SetAttr "Depth", "0"
HF|oBX$_ Linear2.SetAttr "StartThickness", "0.000000"
fnx-s{c? Linear2.SetAttr "EndThickness", "0.000000"
[qsEUc+Z.' Linear2.SetProfileName "ChannelPro_n=3.14"
5zON}"EC Linear2.SetDefaultThicknessTaperMode True
tTd\| RK w$- 7O 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
5nbEf9& 图3.光栅布局通过VB脚本生成
1+?N#Fh (sWLhUgRX 设置仿真参数
q -8t'7 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
Z"unF9`"1 2. 在仿真参数对话框中,设置以下参数:
ctcS:<r/3@ TE simulation
G:g69=x y Mesh Delta X: 0.015
O12eH Mesh Delta Z: 0.015
o M Zq+> Time Step Size: Auto Run for 1000 Time steps
6'xsG?{JY 设置边界条件设置X和Z边为各向异性PML边界条件。
\W,I?Kx$ Number of Anisotropic PML layers: 15
A$6$,h 其它参数保持默认
||yzt!n 运行仿真
I-OJVZ( V • 在仿真参数中点击Run按钮,启动仿真
;#Q%j%J • 在分析仪中,可以观察到各场分量的时域响应
LR"9D • 仿真完成后,点击“Yes”,启动分析仪。
},|M9I0 V59(Z 远场分析
衍射波
hlt[\LP=$ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
_V`DWR
* 2. 选择“Definition of the Cross Cut”为z方向
=-p$jXVW% 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
m.,U:> 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
ID/F 图4.远场计算对话框
O*#*%RL| #:SNHM^>< 5. 在远场对话框,设置以下参数:
_UuC,Pl3 Wavelength: 0.63
47J5oPT2' Refractive index: 1.5+0i
7`u$ Angle Initial: -90.0
2;w*oop,O Angle Final: 90.0
dO%W+K Number of Steps: 721
mc4i@<_? Distance: 100, 000*wavelength
CirZ+o Intensity
D= 7c( tJN<PCG6" 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
AlJ} >u 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
Nz)l<S9> 图5.“Opti 2D Viewer”中的远场模式