光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
5]*!N •使用VB脚本生成光栅(或周期性)布局。
+1]A$|qyW •光栅布局
模拟和后处理分析
Vb)NWXmyu 布局layout
M0$_x~ 我们将模拟如图1所示的二维光栅布局。
'!F'B: 图1.二维光栅布局
NRT@"3,1YP P*]hXm85[K 用VB脚本定义一个2D光栅布局
(<}BlL @1A.$: 步骤:
`B~zB=} 1 通过在
文件菜单中选择“New”,启动一个新项目。
[:zP]l.| 2 在“Wafer Properties”对话框中设置以下
参数 W9QVfe#s Wafer Dimensions:
.^6yCs5~` Length (mm): 8.5
@qSZ= Width (mm): 3.0
&O5O@3:7] U4[GA4DZ 2D wafer properties:
@)C.IQ~ Wafer refractive index: Air
[$c"}=g[+ 3 点击 Profiles 与 Materials.
i<(~J4}b Qff.QI, 在“Materials”中加入以下
材料:
";;!c. !^ Name: N=1.5
-ykD/ Refractive index (Re:): 1.5
\&l@rMD3s G+&pq Name: N=3.14
Vg(M ^2L Refractive index (Re:): 3.14
Q_Wg4n5 1ASoH,D/ 4.在“Profile”中定义以下轮廓:
[C\B2iU7_M Name: ChannelPro_n=3.14
(*_lLM@Cd 2D profile definition, Material: n=3.14
tAPf#7{|
cbYQ';{ Name: ChannelPro_n=1.5
phQ{<wzwp 2D profile definition, Material: n=1.5
oQA,57B dUUg}/ 6.画出以下波导结构:
6Jq3l_ a. Linear waveguide 1
~6K.5t7 Label: linear1
M?AKJE j5 Start Horizontal offset: 0.0
A+j!VM Start vertical offset: -0.75
E3]
8(P%D- End Horizontal offset: 8.5
==BOW\ End vertical offset: -0.75
vOLa.%X]h Channel Thickness Tapering: Use Default
kZ PL$\/A Width: 1.5
~9"c64 q Depth: 0.0
+* j8[sz Profile: ChannelPro_n=1.5
?\)h2oi!F5 1:r#m- \ b. Linear waveguide 2
M~n./wyC Label: linear2
G{{M'1 Start Horizontal offset: 0.5
(AX$Svw Start vertical offset: 0.05
tLxeq?Oo] End Horizontal offset: 1.0
t 4VeXp6 End vertical offset: 0.05
7<Qmpcp = Channel Thickness Tapering: Use Default
xI.0m Width: 0.1
&8Z.m,s] Depth: 0.0
V/:2xT Profile: ChannelPro_n=3.14
nW}
s L^zh|MEyzk 7.加入水平平面波:
tj*/%G{Y Continuous Wave Wavelength: 0.63 General:
awI{%u_(nA Input field Transverse: Rectangular
N!MDD?0 X Position: 0.5
j@w1S[vt Direction: Negative Direction
~A1!!rJX Label: InputPlane1
~@)s)K 2D Transverse:
2Y<]X7Ch: Center Position: 4.5
B^]PKjLNZ Half width: 5.0
P-nhG Titlitng Angle: 45
Dx`-h# Effective Refractive Index: Local Amplitude: 1.0
Nd+1r|e' 图2.波导结构(未设置周期)
&r~s3S{pQ RKE"}|i+S 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
7(oA(l1V 将Linear2代码段修改如下:
4P"bOt5izR Dim Linear2
FUlhEH for m=1 to 8
K[
[6A: Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
}r! +wp Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
b$%Kv( Linear2.SetAttr "WidthExpr", "0.1"
\gB~0@[\7 Linear2.SetAttr "Depth", "0"
.}v" `>x Linear2.SetAttr "StartThickness", "0.000000"
? dHl' Linear2.SetAttr "EndThickness", "0.000000"
wpN3-D Linear2.SetProfileName "ChannelPro_n=3.14"
AWYlhH4c?t Linear2.SetDefaultThicknessTaperMode True
ajtH1Z# 9cUa@;*1 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
qT !lq 图3.光栅布局通过VB脚本生成
#{{p4/: zL9~gJ 设置仿真参数
eBs.RR
]O 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
hc+B+-, 2. 在仿真参数对话框中,设置以下参数:
Eu:/U*j TE simulation
80_w_i + Mesh Delta X: 0.015
DyCzRkH Mesh Delta Z: 0.015
QnD8L.Dg Time Step Size: Auto Run for 1000 Time steps
]X77?Zz9 设置边界条件设置X和Z边为各向异性PML边界条件。
:i4(cap&}F Number of Anisotropic PML layers: 15
d1/9
A-{ 其它参数保持默认
7U_ob"`JV 运行仿真
*d;TpwUI • 在仿真参数中点击Run按钮,启动仿真
{_\cd.AuT • 在分析仪中,可以观察到各场分量的时域响应
;nP(S`' • 仿真完成后,点击“Yes”,启动分析仪。
+(92}~RK N`,\1hHMT 远场分析
衍射波
kx?Yin8K 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
kj[boxN 2. 选择“Definition of the Cross Cut”为z方向
0bM_EC 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
iiMS3ueF 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
^@O7d1&y 图4.远场计算对话框
h=gtuaR4 *bf 5A9 5. 在远场对话框,设置以下参数:
GRbbU#/=G Wavelength: 0.63
!ess.U&m' Refractive index: 1.5+0i
3CjixXaA$ Angle Initial: -90.0
RuIBOo\XL7 Angle Final: 90.0
~M-L+XZl( Number of Steps: 721
9N'fU),I Distance: 100, 000*wavelength
)Yy5u'} Intensity
2#R$-*;# 6>rz=yAM_ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
n}IGxum8` 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
>Ti%Th, 图5.“Opti 2D Viewer”中的远场模式