光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
WQ)vu&; •使用VB脚本生成光栅(或周期性)布局。
$pfN0/`( •光栅布局
模拟和后处理分析
T5? eb" 布局layout
B'~CFj0W%= 我们将模拟如图1所示的二维光栅布局。
?b3({P 图1.二维光栅布局
o 12wp RinaGeim 用VB脚本定义一个2D光栅布局
Vc?=cQ'c 2t1u{ 步骤:
v>E3|w% 1 通过在
文件菜单中选择“New”,启动一个新项目。
_l$X![@6= 2 在“Wafer Properties”对话框中设置以下
参数 ]}s'`44J9e Wafer Dimensions:
e2vLUlL8 Length (mm): 8.5
Mt
Width (mm): 3.0
-efB8)A 6}^6+@LG 2D wafer properties:
0mY KzJi Wafer refractive index: Air
{5J: ]{p 3 点击 Profiles 与 Materials.
rLJjK$_x P=PVOt@
b 在“Materials”中加入以下
材料:
RAi]9` *7 Name: N=1.5
boWaH}?0' Refractive index (Re:): 1.5
XpoEZ|0 kbKGGn4u Name: N=3.14
Ub% 1OQ Refractive index (Re:): 3.14
0\}%~e O
cJ(i#Q~< 4.在“Profile”中定义以下轮廓:
L__J(6,V2 Name: ChannelPro_n=3.14
*8#]3M] 2D profile definition, Material: n=3.14
2kV{|`1 K
f}h{X Name: ChannelPro_n=1.5
/I@Dv? 2D profile definition, Material: n=1.5
cH{[\F"Eb X+;{&Efrl 6.画出以下波导结构:
ZDt|g^ a. Linear waveguide 1
)]P%= Label: linear1
4Up\_ Start Horizontal offset: 0.0
XR.Sm<A[ Start vertical offset: -0.75
,G%?}TfC) End Horizontal offset: 8.5
+?R! End vertical offset: -0.75
fd /?x^Z Channel Thickness Tapering: Use Default
o%V%@q H Width: 1.5
z57|9$h}w Depth: 0.0
.Q$/\E Profile: ChannelPro_n=1.5
!K5D:x HVkq{W|w b. Linear waveguide 2
SC/V3fW, Label: linear2
r8Pdk/CW^ Start Horizontal offset: 0.5
(Aw!K`0Y1 Start vertical offset: 0.05
z3Ro*yJU End Horizontal offset: 1.0
#Y;tobB End vertical offset: 0.05
j%@wQVxq Channel Thickness Tapering: Use Default
'>0rp\jC Width: 0.1
FNB4YZ6 Depth: 0.0
X4dXO5\ Profile: ChannelPro_n=3.14
;JAb8dyS2 A@qwD300Vo 7.加入水平平面波:
sV5S>*A[ Continuous Wave Wavelength: 0.63 General:
cO^}A(Ma( Input field Transverse: Rectangular
HA W57N X Position: 0.5
W^Z#_{ Direction: Negative Direction
7PG|e# Label: InputPlane1
<QZ X"" 2D Transverse:
'awZ-$# Center Position: 4.5
"5@k\?x" Half width: 5.0
fx`oe Titlitng Angle: 45
b am*&E%0K Effective Refractive Index: Local Amplitude: 1.0
\CDzVO0^ 图2.波导结构(未设置周期)
4!^flKZQ /O/pAu> 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
(TQhO$, 将Linear2代码段修改如下:
y4Fuh nb> Dim Linear2
;0 No@G;z for m=1 to 8
];VJ54 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
=V(|3?N Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
hm+,o_+ Linear2.SetAttr "WidthExpr", "0.1"
&ytnoj1L( Linear2.SetAttr "Depth", "0"
-|aNHZr Linear2.SetAttr "StartThickness", "0.000000"
"- XJZ;5 Linear2.SetAttr "EndThickness", "0.000000"
QGI_aU Linear2.SetProfileName "ChannelPro_n=3.14"
NP?hoqeKs Linear2.SetDefaultThicknessTaperMode True
"FfIq; Lkl+f~m 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
;*=MI/"N 图3.光栅布局通过VB脚本生成
<sNkyQ R;2q=% 设置仿真参数
hfQx$cv6 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
>t Ll|O+ 2. 在仿真参数对话框中,设置以下参数:
oGa8#> TE simulation
->29Tns Mesh Delta X: 0.015
?!d\c(5Gt Mesh Delta Z: 0.015
rW<sQ0 Time Step Size: Auto Run for 1000 Time steps
,OilGTQ# 设置边界条件设置X和Z边为各向异性PML边界条件。
:SD^?.W\iT Number of Anisotropic PML layers: 15
e+ckn 其它参数保持默认
F^bzE5# 运行仿真
U#{^29ik=o • 在仿真参数中点击Run按钮,启动仿真
@&
vtY._ • 在分析仪中,可以观察到各场分量的时域响应
'4J];Nj0 • 仿真完成后,点击“Yes”,启动分析仪。
U9ZWSDs d9>k5! 远场分析
衍射波
:2_8.+: 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
%e,X7W`'2 2. 选择“Definition of the Cross Cut”为z方向
6}aH>(3!A 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
~Vf+@_G8` 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
P.Uz[_&l6 图4.远场计算对话框
E"{2R>mU~ :6}y gL*i 5. 在远场对话框,设置以下参数:
`3KXWN`.s Wavelength: 0.63
L
dyTB@ Refractive index: 1.5+0i
~=xS\@UY = Angle Initial: -90.0
!f^'- Angle Final: 90.0
` e~nn Number of Steps: 721
+>,4d Distance: 100, 000*wavelength
M*x1{g C/ Intensity
{Hp*BE
Q\ AM]
U 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
{vL4:K 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
}VUrn2@-4 图5.“Opti 2D Viewer”中的远场模式