光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
/$93#$ •使用VB脚本生成光栅(或周期性)布局。
qKSR5 # •光栅布局
模拟和后处理分析
xM{[~Kh_x 布局layout
eP (*. 我们将模拟如图1所示的二维光栅布局。
aP (~l_ 图1.二维光栅布局
>'n[B -qpvVLR, 用VB脚本定义一个2D光栅布局
2V8"jc em7L`, 步骤:
ZKW1HL ]m 1 通过在
文件菜单中选择“New”,启动一个新项目。
shGUG; 2 在“Wafer Properties”对话框中设置以下
参数 C{U*{0} Wafer Dimensions:
p7+>]sqX Length (mm): 8.5
RJ'za1@z;b Width (mm): 3.0
<|'ETqP<+ (]k Q9}8 2D wafer properties:
@Y,t] Wafer refractive index: Air
[cFD\"gJAr 3 点击 Profiles 与 Materials.
((?"2 }1r A|Ft:_Y 在“Materials”中加入以下
材料:
0rX%z$D+@ Name: N=1.5
;=0-B&+v Refractive index (Re:): 1.5
Sc3{Y+g
H.hKh Name: N=3.14
3]iw3M Refractive index (Re:): 3.14
E*R-Dno_F n[BYBg1yG 4.在“Profile”中定义以下轮廓:
lhQMR(w^ Name: ChannelPro_n=3.14
r:rPzq1 2D profile definition, Material: n=3.14
D,$M$f1 fx:vhEX Name: ChannelPro_n=1.5
-~sW@u)O 2D profile definition, Material: n=1.5
>q')%j 2./z6jXW_ 6.画出以下波导结构:
XiV*d06{ a. Linear waveguide 1
3f>9tUWhTy Label: linear1
dM,{:eID Start Horizontal offset: 0.0
gdAd7
T Start vertical offset: -0.75
A?-t`J End Horizontal offset: 8.5
)(d~A?~ End vertical offset: -0.75
U e-AF# Channel Thickness Tapering: Use Default
C(sz/x?11 Width: 1.5
f% 8n?f3;u Depth: 0.0
("f~gz<< Profile: ChannelPro_n=1.5
8~!h8bkC lib^JJF b. Linear waveguide 2
R0w~ Z
Label: linear2
<}mA>c'k Start Horizontal offset: 0.5
xt@v"P2Ok Start vertical offset: 0.05
H>\lE2 End Horizontal offset: 1.0
1)e[F#| End vertical offset: 0.05
'D[ *|Qcy Channel Thickness Tapering: Use Default
daB5E<? Width: 0.1
zzC{I@b Depth: 0.0
eZL!Z! Profile: ChannelPro_n=3.14
dF|n)+C~R t[({KbIy 7.加入水平平面波:
G=Xas"| Continuous Wave Wavelength: 0.63 General:
yp
hd'Pu" Input field Transverse: Rectangular
pNHL &H\ X Position: 0.5
u3 X!O Direction: Negative Direction
'*U_!RmQ Label: InputPlane1
FIJ]` 2D Transverse:
RR`\q>| Center Position: 4.5
5n::]Q%=D Half width: 5.0
GB*^?Ii Titlitng Angle: 45
5:~ zlg Effective Refractive Index: Local Amplitude: 1.0
g|]Hm* 图2.波导结构(未设置周期)
?U:c\TA,m %@I= $8j 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
Pr/q?qZY 将Linear2代码段修改如下:
vN6)Szim Dim Linear2
wLq#,X>%B for m=1 to 8
YyY?<<z% Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
/Zz[vf Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
-t*P=V|@ Linear2.SetAttr "WidthExpr", "0.1"
pfMmDl5| Linear2.SetAttr "Depth", "0"
5 yL"=3&+ Linear2.SetAttr "StartThickness", "0.000000"
4SkCV Linear2.SetAttr "EndThickness", "0.000000"
L$]Y$yv Linear2.SetProfileName "ChannelPro_n=3.14"
Mf9x=K9 Linear2.SetDefaultThicknessTaperMode True
<?rdhx
4f213h 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
H/0b3I^ 图3.光栅布局通过VB脚本生成
BI>r' p13y`sU= 设置仿真参数
}o=s"0 a 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
bz\nCfU 2. 在仿真参数对话框中,设置以下参数:
|kHzp^S TE simulation
m.yt?` Mesh Delta X: 0.015
%pxHGO=)E Mesh Delta Z: 0.015
G Mg|#DV Time Step Size: Auto Run for 1000 Time steps
e=i9l 设置边界条件设置X和Z边为各向异性PML边界条件。
>Qf`xUZ Number of Anisotropic PML layers: 15
YQ-V^e6 其它参数保持默认
x,<|<W5<% 运行仿真
;k=`J • 在仿真参数中点击Run按钮,启动仿真
_nIt4l7 • 在分析仪中,可以观察到各场分量的时域响应
{>yy3(N • 仿真完成后,点击“Yes”,启动分析仪。
ATD4%|a9h _dVA^m 远场分析
衍射波
RbEtNwG@c 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
_y9NDLRs8 2. 选择“Definition of the Cross Cut”为z方向
`9DW} 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ZGS4P 0$ 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
y#J8Yv8 图4.远场计算对话框
IP#qT
`=} Zx|VOl,; 5. 在远场对话框,设置以下参数:
o|1_I?_ Wavelength: 0.63
9!Bz)dJ3 Refractive index: 1.5+0i
qD(dAU Angle Initial: -90.0
k|rbh.Q Angle Final: 90.0
z|m-nIM Number of Steps: 721
Oz5Ze/HBN Distance: 100, 000*wavelength
%Xl(wvd Intensity
j2%M-y4E P\2x9T 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
B|kIiL63
D 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
-pN'r/$3V 图5.“Opti 2D Viewer”中的远场模式