光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
8cl!8gfv •使用VB脚本生成光栅(或周期性)布局。
~V4|DN[I •光栅布局
模拟和后处理分析
$on liW| 布局layout
_GS2&|7` 我们将模拟如图1所示的二维光栅布局。
,;g:qe3D$ 图1.二维光栅布局
/on p<u
@g{
"
E6 用VB脚本定义一个2D光栅布局
u Wtp2]A a&JAF?k 步骤:
*niQ*A 1 通过在
文件菜单中选择“New”,启动一个新项目。
l"64w>, 2 在“Wafer Properties”对话框中设置以下
参数 V=U %P[S Wafer Dimensions:
SJfsFi?n Length (mm): 8.5
ZsE8eD Width (mm): 3.0
:Wln$L$ UA^E^$f: 2D wafer properties:
d)@MMF Wafer refractive index: Air
UqH7e c 3 点击 Profiles 与 Materials.
Pj$a$C`Z 6BMn7m? 在“Materials”中加入以下
材料:
afjC~} Name: N=1.5
*|'k Refractive index (Re:): 1.5
tSjK=1"} %rYt; 7B Name: N=3.14
}v?{npEOt+ Refractive index (Re:): 3.14
5:6mptn> a2z o_h2R 4.在“Profile”中定义以下轮廓:
QH;aJ(>$ Name: ChannelPro_n=3.14
VYO O8MQI 2D profile definition, Material: n=3.14
p"ZPv~("V FU<rE&X2: Name: ChannelPro_n=1.5
HH dc[pJ0D 2D profile definition, Material: n=1.5
3 Xy>kG} >Kxl+F 6.画出以下波导结构:
9P]TIV. a. Linear waveguide 1
Z@>>ZS1Do Label: linear1
Sng V<J>zR Start Horizontal offset: 0.0
Zhw _L Start vertical offset: -0.75
*op7:o_ End Horizontal offset: 8.5
cWm.'] End vertical offset: -0.75
YWTo]DJV Channel Thickness Tapering: Use Default
E-RbFTVBA Width: 1.5
%j'lWwi Depth: 0.0
zMDR1/|D Profile: ChannelPro_n=1.5
(7"qT^s3 6rk/74gI,a b. Linear waveguide 2
=w8*n2 Label: linear2
Z-WWp#b Start Horizontal offset: 0.5
9F3`hJZRy> Start vertical offset: 0.05
t.m
$|M> End Horizontal offset: 1.0
bf3)^ 49} End vertical offset: 0.05
UZV)A} Channel Thickness Tapering: Use Default
*rWE.4=& Width: 0.1
g?`w)O7v Depth: 0.0
Dq\#:NnKvx Profile: ChannelPro_n=3.14
,L`qV D}:D,s8UP 7.加入水平平面波:
%o~zsIl Continuous Wave Wavelength: 0.63 General:
9[:nWp^ Input field Transverse: Rectangular
_ TUw0:& X Position: 0.5
0<e7!M=U1 Direction: Negative Direction
GSl\n"S]= Label: InputPlane1
9~N7hLT 2D Transverse:
UF}fmDi Center Position: 4.5
<F&S Half width: 5.0
rq$% Titlitng Angle: 45
{ `-EX Effective Refractive Index: Local Amplitude: 1.0
v%_sCg 图2.波导结构(未设置周期)
E#T'=f[r~ i`E]gJ$ 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
T%Z `:mf 将Linear2代码段修改如下:
I(<1-3~ Dim Linear2
)Y)7p// for m=1 to 8
j+ s8V-7( Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
K":-zS Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
_oR6^#5# Linear2.SetAttr "WidthExpr", "0.1"
GlVq<RG* Linear2.SetAttr "Depth", "0"
/bg8oB4 Linear2.SetAttr "StartThickness", "0.000000"
#E>f.:) Linear2.SetAttr "EndThickness", "0.000000"
75<E 0O Linear2.SetProfileName "ChannelPro_n=3.14"
LM0TSB? Linear2.SetDefaultThicknessTaperMode True
DT_012z 8amtTM 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
T_pE 'U%[ 图3.光栅布局通过VB脚本生成
=_=jXWOQv ; <3w ,r 设置仿真参数
KPKby?qQ^ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
!iITX,'8 2. 在仿真参数对话框中,设置以下参数:
UGl}=hwKkG TE simulation
c,x2 Mesh Delta X: 0.015
Jg^tr>I~ Mesh Delta Z: 0.015
aRfkJPPa[ Time Step Size: Auto Run for 1000 Time steps
OG0ro(|dI 设置边界条件设置X和Z边为各向异性PML边界条件。
3"%:S_[ Number of Anisotropic PML layers: 15
J0^p\mG 其它参数保持默认
r)ga{Nn,. 运行仿真
+BmA4/P$ • 在仿真参数中点击Run按钮,启动仿真
#~nI^
ggW • 在分析仪中,可以观察到各场分量的时域响应
k5W5 9tz • 仿真完成后,点击“Yes”,启动分析仪。
eDG=-a4 |qfnbi-\ 远场分析
衍射波
f'*HP%+Y 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
>pz/wTOi 2. 选择“Definition of the Cross Cut”为z方向
<4^a(Zh 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
fFMG9]* 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
61CNEzQ 图4.远场计算对话框
:'#BU:
}?"f#bI 5. 在远场对话框,设置以下参数:
kf^Wzp Wavelength: 0.63
UI |D?z< Refractive index: 1.5+0i
ePB=aCZ Angle Initial: -90.0
e(j"u;= Angle Final: 90.0
lYU_uFOs\ Number of Steps: 721
(Z
sdj Distance: 100, 000*wavelength
!j [U Intensity
L2AZ0E"ub [96|xe\s 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
}Li24JK 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
*COr^7Kf5 图5.“Opti 2D Viewer”中的远场模式