光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
1P G"IaOb •使用VB脚本生成光栅(或周期性)布局。
xks Me •光栅布局
模拟和后处理分析
tcJN`N 布局layout
m-<m[ 49 我们将模拟如图1所示的二维光栅布局。
[6\b(kS+ 图1.二维光栅布局
/1b7f' yKC1h`2 用VB脚本定义一个2D光栅布局
G
BM8:IG \ #@P0i^pFTB 步骤:
BR:Mcc 1 通过在
文件菜单中选择“New”,启动一个新项目。
;]W@W1)$ 2 在“Wafer Properties”对话框中设置以下
参数 =OFx4#6a Wafer Dimensions:
)D&xyC} Length (mm): 8.5
6>z,7 [ Width (mm): 3.0
ur[^/lxx0 _[/#t|I} 2D wafer properties:
(btmg<WT" Wafer refractive index: Air
_P*QX 3 点击 Profiles 与 Materials.
yV*4|EkvW gzN51B =D 在“Materials”中加入以下
材料:
tNz(s) Name: N=1.5
Y;kiU Refractive index (Re:): 1.5
$4BvDZDk`B JB'XH~4H Name: N=3.14
l_Zx'm Refractive index (Re:): 3.14
xL"O~jTS d-TpY*v 4.在“Profile”中定义以下轮廓:
-!
^D8^s Name: ChannelPro_n=3.14
]AX3ov6z9; 2D profile definition, Material: n=3.14
~nApRC)0 S:1g(f*85 Name: ChannelPro_n=1.5
#@F.wV0 2D profile definition, Material: n=1.5
?/8V%PL~$ J|`.d46 6.画出以下波导结构:
Z}.ZTEB a. Linear waveguide 1
#\\|:`YV Label: linear1
1:J+`mzpl Start Horizontal offset: 0.0
Rx?ze( Start vertical offset: -0.75
ER0B{b End Horizontal offset: 8.5
W:K '2j End vertical offset: -0.75
A#Y:VavQ? Channel Thickness Tapering: Use Default
s;-AZr) Width: 1.5
LL==2KNUo Depth: 0.0
qQ8+gZG$R Profile: ChannelPro_n=1.5
9dWz3b1[] 2+ywl}9 b. Linear waveguide 2
w"C,oo3 Label: linear2
Nnq1&j"m Start Horizontal offset: 0.5
~0@fK<C)O Start vertical offset: 0.05
8e1Z:axn0 End Horizontal offset: 1.0
PbsxjP End vertical offset: 0.05
%`YR+J/V Channel Thickness Tapering: Use Default
-!}3bl*(7 Width: 0.1
z"Mk(d@-E Depth: 0.0
;; ;=)'o Profile: ChannelPro_n=3.14
lc3Gu78 A/ SmIcqM 7.加入水平平面波:
AREjS$ Continuous Wave Wavelength: 0.63 General:
YrV@k*O* Input field Transverse: Rectangular
@_1cY#! X Position: 0.5
'gHg&E9E& Direction: Negative Direction
pTXF^:8 Label: InputPlane1
J_?v=dW` 2D Transverse:
B9Hib1<8 Center Position: 4.5
);kD0FO1| Half width: 5.0
MdmN7> Titlitng Angle: 45
SZ}=~yoD( Effective Refractive Index: Local Amplitude: 1.0
eze%RjO} 图2.波导结构(未设置周期)
Hq!|r8@6 ]qxl^Himq 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
"c|Rpzs[ 将Linear2代码段修改如下:
:q?#$? Dim Linear2
~9E_L?TW* for m=1 to 8
YV!hlYOBi Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
@\o"zU Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
=1@LMIi5x Linear2.SetAttr "WidthExpr", "0.1"
C511hbF Linear2.SetAttr "Depth", "0"
s^K2,D]P Linear2.SetAttr "StartThickness", "0.000000"
3bYjW=_hA Linear2.SetAttr "EndThickness", "0.000000"
c+
e~BN Linear2.SetProfileName "ChannelPro_n=3.14"
B(k tIy Linear2.SetDefaultThicknessTaperMode True
5OzEY7K) }>d 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
+@~WKa 图3.光栅布局通过VB脚本生成
eLnS1w2 n,2
设置仿真参数
*mbzK*
1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
CS~_>bn 2. 在仿真参数对话框中,设置以下参数:
-%@ah:iJ TE simulation
o+7)cI Mesh Delta X: 0.015
Ikw@B)0} Mesh Delta Z: 0.015
8|)^m[c& Time Step Size: Auto Run for 1000 Time steps
O^j*"#f 设置边界条件设置X和Z边为各向异性PML边界条件。
X-(4/T+v Number of Anisotropic PML layers: 15
RB4 +"QUh 其它参数保持默认
;81,1
Ie<~ 运行仿真
DA.k8M • 在仿真参数中点击Run按钮,启动仿真
+{RTz)e?* • 在分析仪中,可以观察到各场分量的时域响应
c!/+0[ • 仿真完成后,点击“Yes”,启动分析仪。
kS8?N`2}LV o~)o/(>ox 远场分析
衍射波
zX4RqI 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
e6Y>Bk 2. 选择“Definition of the Cross Cut”为z方向
5af0- hj 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
d?T!)w 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
xcU!bDV 图4.远场计算对话框
?5J# J E7m5kTa 5. 在远场对话框,设置以下参数:
6{Q-]LOc[. Wavelength: 0.63
.<F46?HS Refractive index: 1.5+0i
#[bL9R5NC Angle Initial: -90.0
Rd5_{F Angle Final: 90.0
!Yv_V]u= Number of Steps: 721
uVCH<6Cp Distance: 100, 000*wavelength
OtmDZ.t;` Intensity
>Vjn]V5y .JXEw%I@ 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
,1#? 0q 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
T7.Iqw3p 图5.“Opti 2D Viewer”中的远场模式