光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Jmg9|g!f •使用VB脚本生成光栅(或周期性)布局。
}YM\IPsPu •光栅布局
模拟和后处理分析
@V5i 布局layout
H8dS]N~[Y 我们将模拟如图1所示的二维光栅布局。
Sj|tR[SAoD 图1.二维光栅布局
soQ[Zg4} g"m9[R=]6 用VB脚本定义一个2D光栅布局
t)?K@{ 9 7I&o 步骤:
'r\RN\PT 1 通过在
文件菜单中选择“New”,启动一个新项目。
|s(Ih_Zn 2 在“Wafer Properties”对话框中设置以下
参数 UF }[%Sa Wafer Dimensions:
l Ib
d9F Length (mm): 8.5
/N<aN9Z<x, Width (mm): 3.0
r7R.dD/. -KfK~P3PF 2D wafer properties:
7[mfI?*m Wafer refractive index: Air
f>4|>kS 3 点击 Profiles 与 Materials.
U:3OE97 kTI5CoXzq 在“Materials”中加入以下
材料:
.oT'(6# Name: N=1.5
74:~F)BP Refractive index (Re:): 1.5
&k)v/ FkuD Gg~a Name: N=3.14
CxJ3u Refractive index (Re:): 3.14
lA1 d6JW" 4.在“Profile”中定义以下轮廓:
/
j%~#@ Name: ChannelPro_n=3.14
,c?(
|tF 2D profile definition, Material: n=3.14
aBG^Xhx w%X@os}E Name: ChannelPro_n=1.5
tK/,U
=+ 2D profile definition, Material: n=1.5
(S+/e5c) 5G(dvM-n 6.画出以下波导结构:
)1Y?S; a. Linear waveguide 1
h!|U j Label: linear1
;fW~Gb?" Start Horizontal offset: 0.0
{7]maOg>7J Start vertical offset: -0.75
;s3\Z^h4kd End Horizontal offset: 8.5
hwL`9.w End vertical offset: -0.75
|3T2}oh rr Channel Thickness Tapering: Use Default
\O;/wf0Hg Width: 1.5
`sso Wn4 Depth: 0.0
Z}>F
V~4 Profile: ChannelPro_n=1.5
dW!El^w} 4Otq3s34FT b. Linear waveguide 2
4'*.3f'bp Label: linear2
D&o\q68W Start Horizontal offset: 0.5
\#VWZ\M8a Start vertical offset: 0.05
Z}\,rex End Horizontal offset: 1.0
kV T |(Y End vertical offset: 0.05
dhnX\/ Channel Thickness Tapering: Use Default
rTVv6:L Width: 0.1
0!ZaR6 Depth: 0.0
%Y=r5'6l Profile: ChannelPro_n=3.14
=SeQ- H# S5ai@Ksf 7.加入水平平面波:
a@|H6:| Continuous Wave Wavelength: 0.63 General:
cb0rkmO Input field Transverse: Rectangular
w2X HY>6]; X Position: 0.5
.[1 f$ Direction: Negative Direction
U5~aG!E Label: InputPlane1
4:a ~Wlp[ 2D Transverse:
a:UkVK]MP Center Position: 4.5
$MwBt Half width: 5.0
z\ONwMl Titlitng Angle: 45
\aM-m:J Effective Refractive Index: Local Amplitude: 1.0
!z4I-a 图2.波导结构(未设置周期)
_D?/$D7u#% lZ[J1:% 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
~?fl8RF\ 将Linear2代码段修改如下:
h4 9q(085V Dim Linear2
6fI2y4yEz for m=1 to 8
-.MJ3 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
HK<S|6B7V Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Et(H6O8 Linear2.SetAttr "WidthExpr", "0.1"
^AJ
2Y_}v Linear2.SetAttr "Depth", "0"
&g23tT#P? Linear2.SetAttr "StartThickness", "0.000000"
*C+[I Linear2.SetAttr "EndThickness", "0.000000"
6|f8DX%3V Linear2.SetProfileName "ChannelPro_n=3.14"
KA{QGaZ/ Linear2.SetDefaultThicknessTaperMode True
p!=8 Pq. -=8f*K[W 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
8J$1N*J| 图3.光栅布局通过VB脚本生成
tKLeq( *WJK& 设置仿真参数
biS[GyQ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
Yu_
eCq5/ 2. 在仿真参数对话框中,设置以下参数:
cQThpgha TE simulation
dJnKa]X Mesh Delta X: 0.015
CALD7qMK Mesh Delta Z: 0.015
/|UbYe, Time Step Size: Auto Run for 1000 Time steps
<bg6k . s 设置边界条件设置X和Z边为各向异性PML边界条件。
Ank_;jo Number of Anisotropic PML layers: 15
Vn{;8hZ:a 其它参数保持默认
{v=[~H>bt 运行仿真
\I4Uj.'>\ • 在仿真参数中点击Run按钮,启动仿真
^mFsrw • 在分析仪中,可以观察到各场分量的时域响应
SIR2 Kc0 • 仿真完成后,点击“Yes”,启动分析仪。
Ax~
i` er1XZ 远场分析
衍射波
jCNR63/ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
;'V[8`Z@ 2. 选择“Definition of the Cross Cut”为z方向
a`^$xOK, 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
4 Sk@ v 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
-X%twy= 图4.远场计算对话框
GIpYx`mHi PyHL`PZZ 5. 在远场对话框,设置以下参数:
}93FWo. Wavelength: 0.63
u^E0u^ Refractive index: 1.5+0i
,Fkq/h Angle Initial: -90.0
Ph.RWy") Angle Final: 90.0
7p':a) Number of Steps: 721
'sa)_?Hy Distance: 100, 000*wavelength
&Fuk+Cu{ Intensity
I/A%3i=H Z>Rshtg 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
i(.PkYkaq 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
b3%a4Gg& 图5.“Opti 2D Viewer”中的远场模式