光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
iLR^ V! •使用VB脚本生成光栅(或周期性)布局。
:0o,pndU •光栅布局
模拟和后处理分析
B(/)mB 布局layout
UP?]5x> 我们将模拟如图1所示的二维光栅布局。
XkE'k;AEx 图1.二维光栅布局
9 U!-Zn! c*:H6(u 用VB脚本定义一个2D光栅布局
!^m,v19Ds< +w(>UBy- 步骤:
![}q9aeT 1 通过在
文件菜单中选择“New”,启动一个新项目。
%hO/2u 2 在“Wafer Properties”对话框中设置以下
参数 tJgo%P1 Wafer Dimensions:
25m6/Y Length (mm): 8.5
\&Bvh4Q Width (mm): 3.0
~SD8#;v2 Vub($ 2D wafer properties:
=Ti[Q5SZ Wafer refractive index: Air
*!p#1fE 3 点击 Profiles 与 Materials.
U)B^R ,- FC 在“Materials”中加入以下
材料:
q\q8xF~[p Name: N=1.5
cZd{K[fuK Refractive index (Re:): 1.5
$u-yw1FT f.X<Mo Name: N=3.14
yL.Z{wd Refractive index (Re:): 3.14
),53(=/hl +D&aE$< 4.在“Profile”中定义以下轮廓:
ImZ!8# Name: ChannelPro_n=3.14
nPh|rW= 2D profile definition, Material: n=3.14
$<QOMfY> oBqWIXM Name: ChannelPro_n=1.5
p%?m|(4f 2D profile definition, Material: n=1.5
0Xx&Z8E ^;[|,:8f7L 6.画出以下波导结构:
F9\T< a. Linear waveguide 1
O>)Fl42IeD Label: linear1
ehe;<A Start Horizontal offset: 0.0
+`D,7"{Eu Start vertical offset: -0.75
`L#`WC@[o End Horizontal offset: 8.5
BGO!c[- End vertical offset: -0.75
f:_mr zz Channel Thickness Tapering: Use Default
CQGq}.Jt! Width: 1.5
[8OQ5}do/ Depth: 0.0
/rQ[Ik$| Profile: ChannelPro_n=1.5
{!G i=mk#.j~ b. Linear waveguide 2
b?Zt3# Label: linear2
$~s|%>@ Start Horizontal offset: 0.5
d} {d5-_a Start vertical offset: 0.05
~n<U8cm O End Horizontal offset: 1.0
q` Z_Bw End vertical offset: 0.05
G+dQ" cI9 Channel Thickness Tapering: Use Default
Yfotq9.=+ Width: 0.1
P9/Bc^5' Depth: 0.0
ln~;Osb Profile: ChannelPro_n=3.14
@_
Q YA,vT[kX 7.加入水平平面波:
IA$)E Continuous Wave Wavelength: 0.63 General:
7F!(60xY Input field Transverse: Rectangular
%n7Y5|Uh X Position: 0.5
k.MAX8 Direction: Negative Direction
W7 iml|WV0 Label: InputPlane1
|gP9^B?3 2D Transverse:
\f6@B:?y Center Position: 4.5
Q3OGU} F Half width: 5.0
m.|__L Titlitng Angle: 45
m5w ZS>@ Effective Refractive Index: Local Amplitude: 1.0
6~#$bp^- 图2.波导结构(未设置周期)
qT}AY.O%^ %DqPRl.Gu 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
Nd] w I|> 将Linear2代码段修改如下:
KOqp@K$ Dim Linear2
N~/D| ?P~2 for m=1 to 8
miCW(mbO8 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
C>bd
HB7 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
ZM$}Xy\9 Linear2.SetAttr "WidthExpr", "0.1"
_pM~v>~*+ Linear2.SetAttr "Depth", "0"
%%-hax.x0X Linear2.SetAttr "StartThickness", "0.000000"
Q;EQ8pL?" Linear2.SetAttr "EndThickness", "0.000000"
U!xOJ Linear2.SetProfileName "ChannelPro_n=3.14"
kl&9M!;:n Linear2.SetDefaultThicknessTaperMode True
|5(<
Vk= RXZ}aX[h 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
%8N=4vTJ 图3.光栅布局通过VB脚本生成
VUD ?iv7 (ZI11[e{ 设置仿真参数
O,>`#? 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
/`)>W : 2. 在仿真参数对话框中,设置以下参数:
aLKvl~s;m TE simulation
H7=[sL^ Mesh Delta X: 0.015
`tZ-8f Mesh Delta Z: 0.015
W\W|v?r Time Step Size: Auto Run for 1000 Time steps
Ev' BmDk 设置边界条件设置X和Z边为各向异性PML边界条件。
#^Io9dAh Number of Anisotropic PML layers: 15
)X
dpzWod 其它参数保持默认
ejID5NqG 运行仿真
@mbR I0 • 在仿真参数中点击Run按钮,启动仿真
9~FB^3Nz_ • 在分析仪中,可以观察到各场分量的时域响应
>^!qxb- • 仿真完成后,点击“Yes”,启动分析仪。
P{{pp<tX*& Z\@m_/g 远场分析
衍射波
:^Ouv1!e1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
S9'8rn!_ 2. 选择“Definition of the Cross Cut”为z方向
B
>
sTM 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
k&kx%skz 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
6,D)o/_ 图4.远场计算对话框
Ba]J3Yp,z mV58&SZT 5. 在远场对话框,设置以下参数:
Oy,`tG0 Wavelength: 0.63
oK! W<# Refractive index: 1.5+0i
pP`KI'aUN Angle Initial: -90.0
lN<,<'&^. Angle Final: 90.0
S@N:Cj Number of Steps: 721
mF|7:zSo Distance: 100, 000*wavelength
5V{ B,T Intensity
%#^)hX,+Q
pjh o#yP 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
?'I[[KuG 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
$Bd13%>) 图5.“Opti 2D Viewer”中的远场模式