光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
h_?D%b~5 •使用VB脚本生成光栅(或周期性)布局。
/ !jd%,G •光栅布局
模拟和后处理分析
p}R)qz-=5U 布局layout
tAP~ 我们将模拟如图1所示的二维光栅布局。
/,2Em> 图1.二维光栅布局
)oG_x{ I6YN&9Y 用VB脚本定义一个2D光栅布局
,":ADO- oQ8W0`bZa 步骤:
~c! XQJ 1 通过在
文件菜单中选择“New”,启动一个新项目。
~?E x?!\9R 2 在“Wafer Properties”对话框中设置以下
参数 e_g7E+6 Wafer Dimensions:
bY+Hf\A Length (mm): 8.5
DB:Ia5|*i Width (mm): 3.0
GpN tvo~ s=~r. x 2D wafer properties:
1
W2AE? Wafer refractive index: Air
m]=|%a6 3 点击 Profiles 与 Materials.
&Dqg<U u` `FD 在“Materials”中加入以下
材料:
a[xEN7L~4D Name: N=1.5
z]=A3!H/Y Refractive index (Re:): 1.5
hn)mNb! bCdEItcD Name: N=3.14
6~&4>2b0f Refractive index (Re:): 3.14
+aEE(u6%E@ 9w}A7(' 4.在“Profile”中定义以下轮廓:
~${.sD\ Name: ChannelPro_n=3.14
e {N8|l 2D profile definition, Material: n=3.14
IBQmm(+v o9<jj> R; Name: ChannelPro_n=1.5
N02N
w(pi 2D profile definition, Material: n=1.5
dW,$yH_ t{Q9Kv 6.画出以下波导结构:
#J, `a. a. Linear waveguide 1
6@ET3v Label: linear1
:I+%v Start Horizontal offset: 0.0
jv5p_v4%O Start vertical offset: -0.75
-1:yqF.x End Horizontal offset: 8.5
J ;i/X;^ End vertical offset: -0.75
5bH@R@3 m Channel Thickness Tapering: Use Default
bMxzJRrNg Width: 1.5
hCc_+/j| Depth: 0.0
F4e<=R Profile: ChannelPro_n=1.5
i=o<\{iV: (JL{X`gs# b. Linear waveguide 2
fN?HF'7V Label: linear2
j Bl I^ Start Horizontal offset: 0.5
"So+ Start vertical offset: 0.05
z./u;/: End Horizontal offset: 1.0
x
a7x
2]~- End vertical offset: 0.05
|TkMrj0 Channel Thickness Tapering: Use Default
F9]GEBLr Width: 0.1
Nf}G
"! Depth: 0.0
zo7Hm]W` Profile: ChannelPro_n=3.14
U5Q `r7 n3g3(}Q0 7.加入水平平面波:
c9= ;:E Continuous Wave Wavelength: 0.63 General:
&`Z>z T} Input field Transverse: Rectangular
=sG C X Position: 0.5
/V2Ih Direction: Negative Direction
U9y[b82 Label: InputPlane1
Mf<Pms\F 2D Transverse:
H`9E_[ Center Position: 4.5
`CUTb*{` Half width: 5.0
C^2Tql Titlitng Angle: 45
TC<_I0jCh Effective Refractive Index: Local Amplitude: 1.0
{}s7q|$ 图2.波导结构(未设置周期)
Oq|RMl f]qPxRw 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
;xN4L 将Linear2代码段修改如下:
<JuP+\JAm Dim Linear2
H CZ#7Z for m=1 to 8
TXv3@/>ZlG Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
O<
v0{z09* Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
#B88w9
b`D Linear2.SetAttr "WidthExpr", "0.1"
jri=UGf Linear2.SetAttr "Depth", "0"
Z0`Bn5 Linear2.SetAttr "StartThickness", "0.000000"
VEkv
JX. Linear2.SetAttr "EndThickness", "0.000000"
Ev,>_1#Xm Linear2.SetProfileName "ChannelPro_n=3.14"
u v%T0JA/ Linear2.SetDefaultThicknessTaperMode True
P bj &l0C d!D#:l3; 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
*_}ft-*w 图3.光栅布局通过VB脚本生成
;*BG{rkr f1rP+l-C< 设置仿真参数
0B>hVaj>- 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
7YV}F9h4 2. 在仿真参数对话框中,设置以下参数:
z{wJQZ9" TE simulation
P6!c-\ Mesh Delta X: 0.015
H!y1& Mesh Delta Z: 0.015
\'xF\V Time Step Size: Auto Run for 1000 Time steps
I%ivY 设置边界条件设置X和Z边为各向异性PML边界条件。
o+*YX!]#L Number of Anisotropic PML layers: 15
2`9e20 其它参数保持默认
j_H9l,V 运行仿真
A_tdtN< • 在仿真参数中点击Run按钮,启动仿真
,6=j'j1#a • 在分析仪中,可以观察到各场分量的时域响应
p9 <XaJ} • 仿真完成后,点击“Yes”,启动分析仪。
Sb+^~M 6ey{+8 远场分析
衍射波
--6C>iY[&u 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
!i,Eo-[Z 2. 选择“Definition of the Cross Cut”为z方向
z\Hg@J 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
s /"&k 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
U>H"N1 图4.远场计算对话框
<~@}r\ (u-K^xC 5. 在远场对话框,设置以下参数:
v6uR[18 Wavelength: 0.63
-GJ~xcf0 Refractive index: 1.5+0i
K|%.mcs4 Angle Initial: -90.0
Z@2^> eC Angle Final: 90.0
A=JPmsj. Number of Steps: 721
t6DgWKT6 Distance: 100, 000*wavelength
"Rr)1x7 Intensity
4
3V{q wXZ"}uT<} 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
~_6~Fi 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
MKPxF@N( 图5.“Opti 2D Viewer”中的远场模式