光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
"+"=iwEAz •使用VB脚本生成光栅(或周期性)布局。
&oS$< •光栅布局
模拟和后处理分析
,94<j," 布局layout
EbQLMLD% 我们将模拟如图1所示的二维光栅布局。
PX
8 UVA 图1.二维光栅布局
pD732L@q GrL{q;IO 用VB脚本定义一个2D光栅布局
}p7iv:P=3 #]@HsVXh7 步骤:
d qn5G!fI 1 通过在
文件菜单中选择“New”,启动一个新项目。
Bvn3:+(47 2 在“Wafer Properties”对话框中设置以下
参数 \j>7x Wafer Dimensions:
e{P v:jl Length (mm): 8.5
WD[eoi Width (mm): 3.0
} p'ZMj& &[.`xZ(| 2D wafer properties:
!.]JiT'o Wafer refractive index: Air
*Y m?gCig 3 点击 Profiles 与 Materials.
7Gc{&hp* _8VP'S= 在“Materials”中加入以下
材料:
RP&bb{Y Name: N=1.5
`Z?wj@H1` Refractive index (Re:): 1.5
Cl}nPUoL f&^(f1WO Name: N=3.14
5yy:JTAH5 Refractive index (Re:): 3.14
i<m(neX[H FRBu8WW0L 4.在“Profile”中定义以下轮廓:
e<L@QNX Name: ChannelPro_n=3.14
u*l|MIi6J 2D profile definition, Material: n=3.14
$1an#~ /~[Lr
Name: ChannelPro_n=1.5
TC\+>LXiZ 2D profile definition, Material: n=1.5
bmfM_oz IU%|K~_n 6.画出以下波导结构:
Wy}I"q[~So a. Linear waveguide 1
|^pev2g Label: linear1
Eah6"j!B8n Start Horizontal offset: 0.0
@X2*O9 Start vertical offset: -0.75
>gk_klLh End Horizontal offset: 8.5
:gh[BeqQ) End vertical offset: -0.75
e3?=1ZB Channel Thickness Tapering: Use Default
ETe4I`d{ Width: 1.5
0s#72}n Depth: 0.0
%@/^UE: Profile: ChannelPro_n=1.5
&],uD3:5O sHP-@ b. Linear waveguide 2
]A#lV$ Label: linear2
Sqo+cZ Start Horizontal offset: 0.5
-4a9 BE". Start vertical offset: 0.05
BM%wZ:
s End Horizontal offset: 1.0
WNjwv/ End vertical offset: 0.05
157_0 Channel Thickness Tapering: Use Default
~GaGDS\V Width: 0.1
ly[LF1t Depth: 0.0
4q$~3C[ Profile: ChannelPro_n=3.14
/Rp]"S
vt l>?c AB[ 7.加入水平平面波:
|?` 5 ~f Continuous Wave Wavelength: 0.63 General:
[4Z 31v> Input field Transverse: Rectangular
"/#JC}] X Position: 0.5
@
D+ftb/ Direction: Negative Direction
`BPTcL<W Label: InputPlane1
GF'wDi} 2D Transverse:
dhl[=Y`
Q Center Position: 4.5
uy'ghF Half width: 5.0
$`=p] Titlitng Angle: 45
W.7rHa Effective Refractive Index: Local Amplitude: 1.0
kX 1}/l 图2.波导结构(未设置周期)
5\- uo OW:*qY c;: 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
"n-'?W! 将Linear2代码段修改如下:
] $ew 5% Dim Linear2
092t6D} for m=1 to 8
0&.CAHb} Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
#x%'U}sF Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
|D3u"Y!:^ Linear2.SetAttr "WidthExpr", "0.1"
gt&|T
j Linear2.SetAttr "Depth", "0"
|.IH4
K Linear2.SetAttr "StartThickness", "0.000000"
X|M!Nt0' Linear2.SetAttr "EndThickness", "0.000000"
o_b[ * Linear2.SetProfileName "ChannelPro_n=3.14"
i%glQT Linear2.SetDefaultThicknessTaperMode True
[&Xp]:M'D TBhM^\z 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Tt[zSlIMx 图3.光栅布局通过VB脚本生成
h$>F}n
j )^h6'h` 设置仿真参数
?mQ^"9^XS 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
G4&s_M$ 2. 在仿真参数对话框中,设置以下参数:
ZO}Og&% TE simulation
7\u+%i;YZ Mesh Delta X: 0.015
SGd]o"VF Mesh Delta Z: 0.015
d1/emwH Time Step Size: Auto Run for 1000 Time steps
'[F:uA 设置边界条件设置X和Z边为各向异性PML边界条件。
.u`[|:K Number of Anisotropic PML layers: 15
\/-c) 其它参数保持默认
?I.9?cQXZ 运行仿真
fGgt[f[ • 在仿真参数中点击Run按钮,启动仿真
CU$khz" • 在分析仪中,可以观察到各场分量的时域响应
OfsP5*d • 仿真完成后,点击“Yes”,启动分析仪。
] m]`J|%i :fRXLe1= 远场分析
衍射波
fSh5u/F! 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
JFq
wC=- 2. 选择“Definition of the Cross Cut”为z方向
`h}eP[jA 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
?@V R%z 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
dWY%bb 图4.远场计算对话框
Iw1Y?Qia @WJ;T= L 5. 在远场对话框,设置以下参数:
I8F+Z Wavelength: 0.63
NGra/s,9| Refractive index: 1.5+0i
A 'qe2] Angle Initial: -90.0
yr]ja-Y Angle Final: 90.0
y)f.ON36I Number of Steps: 721
;'!x Distance: 100, 000*wavelength
A#uU]S Intensity
urp|@WZ aCQtE,. 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
}E`Y.=
S 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
" T(hcI 图5.“Opti 2D Viewer”中的远场模式