光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
&*"*b\ •使用VB脚本生成光栅(或周期性)布局。
E"VFBKB •光栅布局
模拟和后处理分析
n"RV!{& 布局layout
G3:!]} 我们将模拟如图1所示的二维光栅布局。
66F?exr 图1.二维光栅布局
XxMZU(5 E \DA3lq 用VB脚本定义一个2D光栅布局
l3p :}A =q]!"yU[d 步骤:
9MfU{4:;I 1 通过在
文件菜单中选择“New”,启动一个新项目。
6 /YJA* 2 在“Wafer Properties”对话框中设置以下
参数 kd !?N Wafer Dimensions:
1D#-,#? Length (mm): 8.5
6Jq[]l"v Width (mm): 3.0
QPB,B>Z |?VJf3A 2D wafer properties:
p&RC#wYu Wafer refractive index: Air
B%uY/Mwz$ 3 点击 Profiles 与 Materials.
-O\i^?lD; Kw`CN 在“Materials”中加入以下
材料:
'o}[9ZBjn Name: N=1.5
v
=y
2 Refractive index (Re:): 1.5
M\4`S& cg3}33Z;6 Name: N=3.14
l[:Aq&[o3 Refractive index (Re:): 3.14
$4xSI"+M% Bz_'>6w 4.在“Profile”中定义以下轮廓:
t}_ #N'` Name: ChannelPro_n=3.14
v5'`iO0o 2D profile definition, Material: n=3.14
seEo)m`d ) %Fwfb Name: ChannelPro_n=1.5
_xv3UzD 2D profile definition, Material: n=1.5
\fTQNF )L:e0u 6.画出以下波导结构:
wxvi)|) a. Linear waveguide 1
j~{cT/5Y_ Label: linear1
B ktRA Start Horizontal offset: 0.0
-&Xv,:'? Start vertical offset: -0.75
-%"PqA/1zj End Horizontal offset: 8.5
edo )W
mn End vertical offset: -0.75
?p@J7{a Channel Thickness Tapering: Use Default
%a~/q0o> Width: 1.5
e9[72V Depth: 0.0
iWD|F- Profile: ChannelPro_n=1.5
u5A?; a =|P
&G~] b. Linear waveguide 2
;B=aK"\ Label: linear2
DO80HS3ZD Start Horizontal offset: 0.5
zw+aZDcV( Start vertical offset: 0.05
=p'+kS+ End Horizontal offset: 1.0
QKj0~ia
5 End vertical offset: 0.05
\i_E}Ii0 Channel Thickness Tapering: Use Default
=lJ
?yuc Width: 0.1
;Z{D@g+ Depth: 0.0
p5#x7*xR6 Profile: ChannelPro_n=3.14
p@G7}'|eyA x>[]Qk^?q 7.加入水平平面波:
Y/.C+wW2 Continuous Wave Wavelength: 0.63 General:
y,nmPX?]n Input field Transverse: Rectangular
4uIYX X Position: 0.5
2;
^ME\
Direction: Negative Direction
h )
Wp Label: InputPlane1
2DCQ5XewYe 2D Transverse:
.}!.4J%q2 Center Position: 4.5
Gc|)4c Half width: 5.0
*z0d~j*W; Titlitng Angle: 45
g Y~r{ Effective Refractive Index: Local Amplitude: 1.0
uMg\s\Z 图2.波导结构(未设置周期)
{=[>N>" : ZrJL& 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
1.!U{>$ 将Linear2代码段修改如下:
>-A@6Qe_ Dim Linear2
|EE1S{!24m for m=1 to 8
U7s$';y"% Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
4qie&:4j Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
uatUo Linear2.SetAttr "WidthExpr", "0.1"
SL4?E<Jb Linear2.SetAttr "Depth", "0"
Q6Gw!!Z5EA Linear2.SetAttr "StartThickness", "0.000000"
iT-coI Linear2.SetAttr "EndThickness", "0.000000"
HK!ecQ^+ Linear2.SetProfileName "ChannelPro_n=3.14"
92DM1~
* Linear2.SetDefaultThicknessTaperMode True
p:4jY|q QadguV6| 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
OjUPvR2 0 图3.光栅布局通过VB脚本生成
X 0y$xC|< /d3Jd.l! 设置仿真参数
q\6(_U#Tl 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
qE~_}4\Z9 2. 在仿真参数对话框中,设置以下参数:
hN-@_XSw<I TE simulation
hk~/W}sI Mesh Delta X: 0.015
,L/ x\_28 Mesh Delta Z: 0.015
@gI1:-chB Time Step Size: Auto Run for 1000 Time steps
`$T$483/ 设置边界条件设置X和Z边为各向异性PML边界条件。
vQEV,d1 Number of Anisotropic PML layers: 15
7PY$=L48A 其它参数保持默认
J$3g3%t 运行仿真
@[n#-!i • 在仿真参数中点击Run按钮,启动仿真
UPh#YV 0/, • 在分析仪中,可以观察到各场分量的时域响应
K!-OUm5A • 仿真完成后,点击“Yes”,启动分析仪。
<gp?}Lk TLdlPBnr8 远场分析
衍射波
s\-,RQ1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
po*G`b;v 2. 选择“Definition of the Cross Cut”为z方向
_VrY7Mz:r 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
)j_El ]? 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
W:d
p(,L 图4.远场计算对话框
Q7s@,c!m_ js_`L#t 5. 在远场对话框,设置以下参数:
ix3LB!k< Wavelength: 0.63
MYAt4cHc2 Refractive index: 1.5+0i
WTvUz.Et Angle Initial: -90.0
Qz~uD'Rs/ Angle Final: 90.0
<g[z jV9p Number of Steps: 721
XIW0Z C Distance: 100, 000*wavelength
@UD:zUT)F Intensity
|mb2<! ag{ B
71/nt9 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
tEhg',2t( 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
d?2V2`6 图5.“Opti 2D Viewer”中的远场模式