光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
lg;`I tX] •使用VB脚本生成光栅(或周期性)布局。
23&;28)8 •光栅布局
模拟和后处理分析
86.!sQ8b 布局layout
5|wQeosXxI 我们将模拟如图1所示的二维光栅布局。
c"77<Db$ 图1.二维光栅布局
C&K%Q3V }a|SgI 用VB脚本定义一个2D光栅布局
~\Fde^1 $A8eMJEpL 步骤:
Vr`UF0_3q 1 通过在
文件菜单中选择“New”,启动一个新项目。
(a@cK, 2 在“Wafer Properties”对话框中设置以下
参数 c[@>#7p`o Wafer Dimensions:
9{?<.% Length (mm): 8.5
SQW A{f Width (mm): 3.0
rXo,\zI;u^ N{L ]H_= 2D wafer properties:
W>/O9?D Wafer refractive index: Air
^ D?;K8a-l 3 点击 Profiles 与 Materials.
$bD 3 82efqzT 在“Materials”中加入以下
材料:
M'R^?Jjb Name: N=1.5
"JbFbcj Refractive index (Re:): 1.5
6D/5vM1 2m/1:5 Name: N=3.14
VOp8 ,! Refractive index (Re:): 3.14
~ m,z| ~u/Enl7\- 4.在“Profile”中定义以下轮廓:
f+1)Ju~ Name: ChannelPro_n=3.14
4VD'<`R[ 2D profile definition, Material: n=3.14
GDZe6* Bn}@wO Name: ChannelPro_n=1.5
jFbz:aUF 2D profile definition, Material: n=1.5
,R3D Op\l 6.画出以下波导结构:
5-5qm[.; a. Linear waveguide 1
6pxj9@X+ Label: linear1
~$YFfv>
Start Horizontal offset: 0.0
&.K=,+0_R/ Start vertical offset: -0.75
*.n9D End Horizontal offset: 8.5
HaJD2wvr End vertical offset: -0.75
%fK"g2: Channel Thickness Tapering: Use Default
L}lc=\ Width: 1.5
/vwGSuk._ Depth: 0.0
J$]d%p_I Profile: ChannelPro_n=1.5
=y[eQS$ j;J4]]R;o b. Linear waveguide 2
X 4;+` Label: linear2
lf[( Start Horizontal offset: 0.5
.'L@$]!G Start vertical offset: 0.05
SN\;&(?G End Horizontal offset: 1.0
X;6&:%ZL@^ End vertical offset: 0.05
{SCwi;m Channel Thickness Tapering: Use Default
JG0TbM1(Bt Width: 0.1
MpGWt# Depth: 0.0
8&3+=<U Profile: ChannelPro_n=3.14
:
R.,<DQM f:=q=i 7.加入水平平面波:
.lOEQLt Continuous Wave Wavelength: 0.63 General:
Cq}LKiu Input field Transverse: Rectangular
vAHJP$x X Position: 0.5
<?2[]h:wp Direction: Negative Direction
I>C;$Lp] Label: InputPlane1
| t3_E 2D Transverse:
wvBJ?t, Center Position: 4.5
C4#'`8E Half width: 5.0
<+
>y GPp Titlitng Angle: 45
\b{=&B[Q$' Effective Refractive Index: Local Amplitude: 1.0
Rb',"` 7 图2.波导结构(未设置周期)
}#a d Ag#p ) 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
Ub4j3` 将Linear2代码段修改如下:
!pQQkZol Dim Linear2
Q<w rO for m=1 to 8
@]gP"Pp Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
u=p([
5] Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
EX|Wd|aK Linear2.SetAttr "WidthExpr", "0.1"
B
,e3r Linear2.SetAttr "Depth", "0"
mst-:F[h Linear2.SetAttr "StartThickness", "0.000000"
$:{uF# Linear2.SetAttr "EndThickness", "0.000000"
) zz"DH Linear2.SetProfileName "ChannelPro_n=3.14"
bCy.S.`jHQ Linear2.SetDefaultThicknessTaperMode True
f0O"Hm$Z <vhlT#p
点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
6- s/\ 图3.光栅布局通过VB脚本生成
xCiY
jl$ v`*!Bhc- 设置仿真参数
Xj.6A,}^ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
" q0lh 2. 在仿真参数对话框中,设置以下参数:
5O]ph[7 TE simulation
118A6qyi Mesh Delta X: 0.015
ROW8YTYb Mesh Delta Z: 0.015
!%_}Rv!JT Time Step Size: Auto Run for 1000 Time steps
_@ev(B 设置边界条件设置X和Z边为各向异性PML边界条件。
!QSL8v@c Number of Anisotropic PML layers: 15
=M*31>"I0 其它参数保持默认
"!+q0l1]@ 运行仿真
/!P,o}l7 • 在仿真参数中点击Run按钮,启动仿真
i%:oO
KI • 在分析仪中,可以观察到各场分量的时域响应
6Y`eYp5A • 仿真完成后,点击“Yes”,启动分析仪。
Zb^0EbV xbvZ7g^ 远场分析
衍射波
,1a6u3f, 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
*/u_RJ 2. 选择“Definition of the Cross Cut”为z方向
HX7"w
3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
+YI/(ko= 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
gC>
A*~J; 图4.远场计算对话框
qa.nm4"6+ -V%"i,t 5. 在远场对话框,设置以下参数:
e)zE*9 Wavelength: 0.63
p?>(y Refractive index: 1.5+0i
@_J~zo Angle Initial: -90.0
O>IY<]x>L Angle Final: 90.0
~*79rDs{ Number of Steps: 721
C-V,3}=*2 Distance: 100, 000*wavelength
:54ik,l Intensity
[sy~i{Bm bzF>Efza 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
tMR&>hM 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
NhU~'k 图5.“Opti 2D Viewer”中的远场模式