光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
7r3CO<fb •使用VB脚本生成光栅(或周期性)布局。
V"gKk$j7 •光栅布局
模拟和后处理分析
1W.oRD&8j/ 布局layout
~T9QpL1OJ 我们将模拟如图1所示的二维光栅布局。
[Djx@x 图1.二维光栅布局
qfAnMBM1@ $B9?>a|{A 用VB脚本定义一个2D光栅布局
s7jNRY V GM8>u O 步骤:
MdEds|D 1 通过在
文件菜单中选择“New”,启动一个新项目。
W}7Uh
b 2 在“Wafer Properties”对话框中设置以下
参数 *Vb#@O! Wafer Dimensions:
B`nI]_ Length (mm): 8.5
7F2:'3SQ Width (mm): 3.0
lpB:lRM -=lL{oB1 2D wafer properties:
~kpa J'm Wafer refractive index: Air
RV]QVA*i 3 点击 Profiles 与 Materials.
3,!IV"_ Y[VXx8"p 在“Materials”中加入以下
材料:
xe.f]a Name: N=1.5
?|`n&HrP Refractive index (Re:): 1.5
wmMn1q0F PktnjdFV Name: N=3.14
U0|bKU Refractive index (Re:): 3.14
2t0VbAO1{ yI!W658$6 4.在“Profile”中定义以下轮廓:
Jv%)UR.] Name: ChannelPro_n=3.14
]A\qI>, 2D profile definition, Material: n=3.14
cJSwA&
J?E!\V&U Name: ChannelPro_n=1.5
B"88 .U}$ 2D profile definition, Material: n=1.5
4v(?]]X 1o_Zw. 6.画出以下波导结构:
/r&4< @ a. Linear waveguide 1
X=Y(,ZR(& Label: linear1
"9~KVILlLu Start Horizontal offset: 0.0
&liFUP?
Start vertical offset: -0.75
B'O1dRj&6 End Horizontal offset: 8.5
Aj O{c=d End vertical offset: -0.75
)Fqtb;W= Channel Thickness Tapering: Use Default
MCXt,`}[ Width: 1.5
BHkicb ?
Depth: 0.0
t82*rCIB{ Profile: ChannelPro_n=1.5
u^2/:L jCx*{TO b. Linear waveguide 2
6Y.k<oem Label: linear2
ojJua c4 Start Horizontal offset: 0.5
a>y e Start vertical offset: 0.05
%rl<%%T#.M End Horizontal offset: 1.0
TL-ALtG End vertical offset: 0.05
f*m^x7 Channel Thickness Tapering: Use Default
5yW}#W> Width: 0.1
gId
:IR Depth: 0.0
$fPiR Profile: ChannelPro_n=3.14
c*(=Glzn D51O/.:U2 7.加入水平平面波:
Pc+,iK> Continuous Wave Wavelength: 0.63 General:
hsK(09:J Input field Transverse: Rectangular
8H3O6ro X Position: 0.5
@P=n{-pIW Direction: Negative Direction
h9nh9a(2 Label: InputPlane1
A~s6~ 2D Transverse:
@te}Asv Center Position: 4.5
wSALK)T1{ Half width: 5.0
QdD@[ Titlitng Angle: 45
a6d|Ps.\! Effective Refractive Index: Local Amplitude: 1.0
O
"Aeg| 图2.波导结构(未设置周期)
`"xzC $ '&]6(+I> 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
zR=g<e1xe 将Linear2代码段修改如下:
IpKI6[2{`f Dim Linear2
%yR80mn8 for m=1 to 8
#
?u
bvSdU Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
kc@\AZb Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Z]OX6G Linear2.SetAttr "WidthExpr", "0.1"
ZS&lXgo Linear2.SetAttr "Depth", "0"
"/hLZl Linear2.SetAttr "StartThickness", "0.000000"
g)<[-Q1 Linear2.SetAttr "EndThickness", "0.000000"
\x_$Pu Linear2.SetProfileName "ChannelPro_n=3.14"
UyMlk Linear2.SetDefaultThicknessTaperMode True
K$$%j "s Xs2B:`,hh 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
K=P LOC5 图3.光栅布局通过VB脚本生成
+:J:S"G b#S-u }1PE 设置仿真参数
`K2vG`c 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
a
uve&y"R 2. 在仿真参数对话框中,设置以下参数:
%VrMlG4hx TE simulation
z-nV!# Mesh Delta X: 0.015
Y~OyoNu2 Mesh Delta Z: 0.015
sJ_3tjs) Time Step Size: Auto Run for 1000 Time steps
D6P/39}W 设置边界条件设置X和Z边为各向异性PML边界条件。
`_{,4oi Number of Anisotropic PML layers: 15
c[?&;# feV 其它参数保持默认
O-+!KXHd[ 运行仿真
8ePzUc\# • 在仿真参数中点击Run按钮,启动仿真
1n $ • 在分析仪中,可以观察到各场分量的时域响应
^687U,+ • 仿真完成后,点击“Yes”,启动分析仪。
iz`ys.Fu l-'\E6grdH 远场分析
衍射波
_<)HFg6 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
49B6|!&I 2. 选择“Definition of the Cross Cut”为z方向
OJLyqncw 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
mldY/;-H!1 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
9lX+?m~ ~ 图4.远场计算对话框
R1:7]z0B 9:Z|Z?>? 5. 在远场对话框,设置以下参数:
b$B-LvHd1 Wavelength: 0.63
:*Z@UY Refractive index: 1.5+0i
8w3Wy<}y Angle Initial: -90.0
VmTgD96 Angle Final: 90.0
xQzXl Number of Steps: 721
3^F1 hCB Distance: 100, 000*wavelength
2AjP2 Intensity
&$pA,Gjin\ S^@#%> 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
leJ3-w{ 2 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
5S #6{Y = 图5.“Opti 2D Viewer”中的远场模式