光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
|{9"n<JW •使用VB脚本生成光栅(或周期性)布局。
SF.,sCk •光栅布局
模拟和后处理分析
0eQ5LG?) 布局layout
1GEE ^Eu 我们将模拟如图1所示的二维光栅布局。
Hlz4f+#I 图1.二维光栅布局
R1P,0Yf (5yg\3Jvp 用VB脚本定义一个2D光栅布局
a'T|p)N.;T ; $y.+5 q 步骤:
sgCIY:8 1 通过在
文件菜单中选择“New”,启动一个新项目。
8:t-I]dzk 2 在“Wafer Properties”对话框中设置以下
参数 -CL7^ Wafer Dimensions:
d9Q%GG0] Length (mm): 8.5
2&tGJq-E Width (mm): 3.0
gpw(j0/Fs \!S C; 2D wafer properties:
@L0wd> Wafer refractive index: Air
l,v:[N 3 点击 Profiles 与 Materials.
JWn9&WK QT|m N 在“Materials”中加入以下
材料:
|xf%1(Rl@ Name: N=1.5
{Or|] 0 Refractive index (Re:): 1.5
dvL '>'g P%/+?(? Name: N=3.14
8AefgjE Refractive index (Re:): 3.14
sL\|y38'
Tl=vgs1 4.在“Profile”中定义以下轮廓:
B]Zsn`n Name: ChannelPro_n=3.14
|Zt=8}di 2D profile definition, Material: n=3.14
XD|&{/O Xp{gh@#dr Name: ChannelPro_n=1.5
f ~Fus 2D profile definition, Material: n=1.5
LZoth+: 1%-?e``. 6.画出以下波导结构:
;l`8w3fDt a. Linear waveguide 1
_O rE{ Label: linear1
(+^1'?C8 Start Horizontal offset: 0.0
xE)pj| Start vertical offset: -0.75
H/L3w|2+ End Horizontal offset: 8.5
vW4f 3(/ End vertical offset: -0.75
Wc]Fg9E Channel Thickness Tapering: Use Default
\\/X+4|o' Width: 1.5
gf3/ kll9 Depth: 0.0
mYy3KqYu Profile: ChannelPro_n=1.5
{ j/w3 ZR#UoYjupb b. Linear waveguide 2
p[/n[@<8= Label: linear2
' l!QGKz Start Horizontal offset: 0.5
~z
aV.3# Start vertical offset: 0.05
I9u=RIs End Horizontal offset: 1.0
T4f:0r;^f* End vertical offset: 0.05
#|e<l1 F Channel Thickness Tapering: Use Default
o3W5FHFAv Width: 0.1
Hv`Zc* Depth: 0.0
;J5oO$H+68 Profile: ChannelPro_n=3.14
X'u`\<&W ~]yqJYiid^ 7.加入水平平面波:
XSxya.1 Continuous Wave Wavelength: 0.63 General:
)8k6GO8| Input field Transverse: Rectangular
G6J3F X Position: 0.5
_rR.Y3N Direction: Negative Direction
X<?;-HrS; Label: InputPlane1
1U9iNki 2D Transverse:
P `oR-D Center Position: 4.5
P;y/`_jo Half width: 5.0
$`5DGy ?RU Titlitng Angle: 45
*1%g=vb Effective Refractive Index: Local Amplitude: 1.0
%!=YNm 图2.波导结构(未设置周期)
Q3KBG8 s=d?}.E$ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
L*l( ~t)vF 将Linear2代码段修改如下:
b,@:eVQ7 Dim Linear2
o _CVZ for m=1 to 8
e-s@@k
Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
NKGCz|-
9 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
K:Ap|F Linear2.SetAttr "WidthExpr", "0.1"
nph{ Linear2.SetAttr "Depth", "0"
F-R`'{ ka Linear2.SetAttr "StartThickness", "0.000000"
~q4y'dBy* Linear2.SetAttr "EndThickness", "0.000000"
ydFY<Mb(o Linear2.SetProfileName "ChannelPro_n=3.14"
rvG qUmSUs Linear2.SetDefaultThicknessTaperMode True
XmnqZWB 0hv[Ff 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Iq5F^rH`[ 图3.光栅布局通过VB脚本生成
Q\rqG |-R::gm 设置仿真参数
iIT<{m&` 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
1dq.UW\ 2. 在仿真参数对话框中,设置以下参数:
v_ J.M ] TE simulation
5 4OYAkPCk Mesh Delta X: 0.015
F;ZLoG*U Mesh Delta Z: 0.015
Zb1v Time Step Size: Auto Run for 1000 Time steps
'l}3Iua6qk 设置边界条件设置X和Z边为各向异性PML边界条件。
.dygp"* Number of Anisotropic PML layers: 15
;klDt|%3j 其它参数保持默认
WDX?|q9rCt 运行仿真
=#u2Rx%V • 在仿真参数中点击Run按钮,启动仿真
@N(jd($E • 在分析仪中,可以观察到各场分量的时域响应
u1"e+4f • 仿真完成后,点击“Yes”,启动分析仪。
646yeQ1 +-Dd*yD6< 远场分析
衍射波
lz*PNT{E 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
Cjh&$aq 2. 选择“Definition of the Cross Cut”为z方向
-`RJk( 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
pqs)ueu 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
d.+vjMI 图4.远场计算对话框
GW W@8GNI pta%%8": 5. 在远场对话框,设置以下参数:
G^R;~J*TDE Wavelength: 0.63
*Z]|
Z4Q/` Refractive index: 1.5+0i
izKk@{Md Angle Initial: -90.0
UqHO S{\Sz Angle Final: 90.0
ZBXGuf Number of Steps: 721
r:q#l~;^ Distance: 100, 000*wavelength
b'OO~>86 Intensity
EK'&S=] e%P;Jj476 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
7mjj% 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
d#*5U9\z 图5.“Opti 2D Viewer”中的远场模式