光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
J0?kEr •使用VB脚本生成光栅(或周期性)布局。
ovdJ[bO •光栅布局
模拟和后处理分析
G18w3BFx 布局layout
O2?C * 我们将模拟如图1所示的二维光栅布局。
N-gYamlQ 图1.二维光栅布局
5J10S m[^lu1\wn 用VB脚本定义一个2D光栅布局
} o%^
Mu B Snx!^4+MF 步骤:
dE7S[O 1 通过在
文件菜单中选择“New”,启动一个新项目。
q`VL i 2 在“Wafer Properties”对话框中设置以下
参数 "j@\a)a Wafer Dimensions:
.\n` 4A1z Length (mm): 8.5
l~6K}g? Width (mm): 3.0
)th[fUC( "9wD|wsz 2D wafer properties:
5o#JHD Wafer refractive index: Air
>2'"}np* 3 点击 Profiles 与 Materials.
zaqX};b Cf
2@x 在“Materials”中加入以下
材料:
/|IPBU 5 Name: N=1.5
VPe0\?!d Refractive index (Re:): 1.5
FJ:^pROpm !sb r!Qt Name: N=3.14
|A%9c.DG. Refractive index (Re:): 3.14
9;E=w+ "8xAe0-4 4.在“Profile”中定义以下轮廓:
Y@Uk P+{f= Name: ChannelPro_n=3.14
zx3gz7>k; 2D profile definition, Material: n=3.14
Bq q=2lj Oynb"T&8 Name: ChannelPro_n=1.5
x HRSzYn$ 2D profile definition, Material: n=1.5
9}(w*>_L *doNPp)m 6.画出以下波导结构:
={qcDgn~C a. Linear waveguide 1
c0qp-=^&. Label: linear1
5(3O/C{?~ Start Horizontal offset: 0.0
qt@L&v}~j Start vertical offset: -0.75
K3T.l#d'L End Horizontal offset: 8.5
E
TT46%Y End vertical offset: -0.75
O>~,RI! Channel Thickness Tapering: Use Default
/yOx=V Width: 1.5
1(
pHC Depth: 0.0
g!'R}y Profile: ChannelPro_n=1.5
c3$T3Lu1 NRi5 Vp2= b. Linear waveguide 2
mdj%zJ8/ Label: linear2
"Ms;sdjg}& Start Horizontal offset: 0.5
?=VvFfv% Start vertical offset: 0.05
T5S4,.o9W End Horizontal offset: 1.0
>STtX6h End vertical offset: 0.05
J|`0GDSn Channel Thickness Tapering: Use Default
+yGQt3U Width: 0.1
rE3dHJN; Depth: 0.0
*g/klK Profile: ChannelPro_n=3.14
XLNbV? ag-A}k>v 7.加入水平平面波:
=>jp\A Continuous Wave Wavelength: 0.63 General:
ekM?
'9ez Input field Transverse: Rectangular
Cp8=8N(Xb X Position: 0.5
[q<'ty Direction: Negative Direction
JU 9GJ" Label: InputPlane1
Dw-d`8* 2D Transverse:
$Ome]+0 Center Position: 4.5
j(;^XO Y# Half width: 5.0
#36QO Titlitng Angle: 45
-@orIwA& Effective Refractive Index: Local Amplitude: 1.0
8>Cr6m 图2.波导结构(未设置周期)
zWHq4@K R><g\{G] 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
}^
rxsx` 将Linear2代码段修改如下:
C|'DKT4M& Dim Linear2
(eHyas %X for m=1 to 8
k]b*&.EY1 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
ex3Qbr Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
J2UQq 7-y Linear2.SetAttr "WidthExpr", "0.1"
g3R(,IH Linear2.SetAttr "Depth", "0"
Ve,g9 I Linear2.SetAttr "StartThickness", "0.000000"
/jbAf ]"F; Linear2.SetAttr "EndThickness", "0.000000"
5KCB^`|b>t Linear2.SetProfileName "ChannelPro_n=3.14"
Q;h.}N8W Linear2.SetDefaultThicknessTaperMode True
bO '\QtW9 V Z(/g"9 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
aeqz~z2~8s 图3.光栅布局通过VB脚本生成
"M I';6 9&6j uL 设置仿真参数
jc^QWK*q 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
1b,a3w(:1 2. 在仿真参数对话框中,设置以下参数:
3DU1c?M: TE simulation
7_0p& 3
Mesh Delta X: 0.015
VF]AH}H8I Mesh Delta Z: 0.015
aSL`yuXu Time Step Size: Auto Run for 1000 Time steps
=L6#=7hcl 设置边界条件设置X和Z边为各向异性PML边界条件。
s#2t\}/ Number of Anisotropic PML layers: 15
fgLjF,Y 其它参数保持默认
)>volP 运行仿真
,:_c-d# • 在仿真参数中点击Run按钮,启动仿真
OM*_%UF • 在分析仪中,可以观察到各场分量的时域响应
#c"eff • 仿真完成后,点击“Yes”,启动分析仪。
mH*ldf;J;= FpoHm%+ 远场分析
衍射波
%!aU{E|@_ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
2
$>DX\h 2. 选择“Definition of the Cross Cut”为z方向
G\.~/<Mg+ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
*S$vSDJCW 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
c9(3z0!F? 图4.远场计算对话框
.;#T<S" O-iE 0t 5. 在远场对话框,设置以下参数:
+pofN-*% Wavelength: 0.63
L/3A g*
] Refractive index: 1.5+0i
|tXA$}"L8 Angle Initial: -90.0
wxN)dB Angle Final: 90.0
"oP^2|${ Number of Steps: 721
tbrU>KCBD Distance: 100, 000*wavelength
)SV.| Intensity
bO~y=Pa\ @]\fO)\f 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Fs+tcr/\[ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
ou,[0B3n0 图5.“Opti 2D Viewer”中的远场模式