光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
^O6P Zm5J} •使用VB脚本生成光栅(或周期性)布局。
6Y)'p
.+g •光栅布局
模拟和后处理分析
}I}Rq D:` 布局layout
V9I5/~0c 我们将模拟如图1所示的二维光栅布局。
2TmQaDu%b 图1.二维光栅布局
hZVF72D26 k+'Rh'> 用VB脚本定义一个2D光栅布局
L qMH]W q El:2 < 步骤:
0SwWLq 1 通过在
文件菜单中选择“New”,启动一个新项目。
H5S>|"`e`e 2 在“Wafer Properties”对话框中设置以下
参数 hvQOwA;e Wafer Dimensions:
R#1h.8 Length (mm): 8.5
)/HSt%> Width (mm): 3.0
` fu( 7]@vPr;: 2D wafer properties:
*eH[~4 Wafer refractive index: Air
8TD:~ee 3 点击 Profiles 与 Materials.
F +D2
xN@ `LVItP(GUM 在“Materials”中加入以下
材料:
D!Owm&We Name: N=1.5
F/tBr%RV Refractive index (Re:): 1.5
z,87;4- =&U JFu Name: N=3.14
':R)i.TS Refractive index (Re:): 3.14
UaiDo"i _]E"hr6a 4.在“Profile”中定义以下轮廓:
#yFDC@gH1 Name: ChannelPro_n=3.14
'=G 4R{ 2D profile definition, Material: n=3.14
iS&fp[Th <@.f# Name: ChannelPro_n=1.5
3:&!Q*i; 2D profile definition, Material: n=1.5
6{8qATLR 2shr&Mfp[ 6.画出以下波导结构:
4pJOJ!? a. Linear waveguide 1
z
`T<g!Y Label: linear1
gs_"H Start Horizontal offset: 0.0
D06'" Start vertical offset: -0.75
Jt43+] End Horizontal offset: 8.5
mLd=+&M End vertical offset: -0.75
_&DI_'5q+ Channel Thickness Tapering: Use Default
ib /B!?/ Width: 1.5
AA;\7;k{ Depth: 0.0
bqJL@!T Profile: ChannelPro_n=1.5
8wp)aGTcU /FJAI b. Linear waveguide 2
lRi-?I|~9 Label: linear2
J Xo_l Start Horizontal offset: 0.5
, b
,`;I Start vertical offset: 0.05
_M8Q% End Horizontal offset: 1.0
UO5^4 End vertical offset: 0.05
5JK{dis]k Channel Thickness Tapering: Use Default
Wo&MHMP Width: 0.1
1y$Bz?4 Depth: 0.0
K
4j'e6 Profile: ChannelPro_n=3.14
kG[u$[B 9w[7X"#n 7.加入水平平面波:
AFGWlC#` Continuous Wave Wavelength: 0.63 General:
t/yGMR= Input field Transverse: Rectangular
A-aukJg9 X Position: 0.5
;hA>?o_i( Direction: Negative Direction
H2 5Mx>|d Label: InputPlane1
%L.,:m tq) 2D Transverse:
K%P$#a Center Position: 4.5
1"RO)& Half width: 5.0
(5]<t&M Titlitng Angle: 45
1/c7((]7(, Effective Refractive Index: Local Amplitude: 1.0
K{B[(]( 图2.波导结构(未设置周期)
poGF -^=gQ7f9 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
1Y$ gt 将Linear2代码段修改如下:
6AKH0t|4 Dim Linear2
*F1!=:&s for m=1 to 8
8G`fSac` Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
51W\ %aB Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
cx_FtD Linear2.SetAttr "WidthExpr", "0.1"
oJK1~;: Linear2.SetAttr "Depth", "0"
{1li3K&0s Linear2.SetAttr "StartThickness", "0.000000"
8G;
t[9 Linear2.SetAttr "EndThickness", "0.000000"
L(XGD Linear2.SetProfileName "ChannelPro_n=3.14"
'e_^s+l)a Linear2.SetDefaultThicknessTaperMode True
Z@>hN%{d+g V%g$LrLVe 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
C=2 图3.光栅布局通过VB脚本生成
|&`NB| \-a^8{.^E 设置仿真参数
vz#VW 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
}26?bd@e` 2. 在仿真参数对话框中,设置以下参数:
!(~eeE}|lM TE simulation
~McmlJzJG Mesh Delta X: 0.015
9G_bM(q'^2 Mesh Delta Z: 0.015
#56}RV1 Time Step Size: Auto Run for 1000 Time steps
PVH^yWi
n 设置边界条件设置X和Z边为各向异性PML边界条件。
5+].$ Number of Anisotropic PML layers: 15
``kiAKMy 其它参数保持默认
~UA-GWb 运行仿真
/k qW • 在仿真参数中点击Run按钮,启动仿真
Pc#8~t}2 • 在分析仪中,可以观察到各场分量的时域响应
_W'>?e0i • 仿真完成后,点击“Yes”,启动分析仪。
}&BE*U8_ VC5LxA0{ 远场分析
衍射波
,X25 -OFZ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
ivYHq#b59 2. 选择“Definition of the Cross Cut”为z方向
@GDe{GG+ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
B38_1X7 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
xy)Y)yp 图4.远场计算对话框
Yf:xM>.% :IlRn`9X` 5. 在远场对话框,设置以下参数:
c ]M!4. Wavelength: 0.63
fgIzT!fyz Refractive index: 1.5+0i
[y-0w.V=oE Angle Initial: -90.0
!
7A _UA8 Angle Final: 90.0
Wew'bj
Number of Steps: 721
Fka&\9i Distance: 100, 000*wavelength
RAYDl=} Intensity
JX8Hn | ;U=IbK* 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
J}U); A 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
9Jd{HI= 图5.“Opti 2D Viewer”中的远场模式