光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
`(<>` •使用VB脚本生成光栅(或周期性)布局。
d1N&J`R\1 •光栅布局
模拟和后处理分析
;$]R#1i44 布局layout
&bb*~W- 我们将模拟如图1所示的二维光栅布局。
V qf}(3K0 图1.二维光栅布局
r@aFB@ @ *dA<N.9 用VB脚本定义一个2D光栅布局
O^GTPYW x($1pAE 步骤:
xi0&"?7la 1 通过在
文件菜单中选择“New”,启动一个新项目。
+dRTHz 2 在“Wafer Properties”对话框中设置以下
参数 y|ZJ-[qg Wafer Dimensions:
= 8n*%NC Length (mm): 8.5
Im=E?t Width (mm): 3.0
z$A5p4=B'^ -xXM/3g1u 2D wafer properties:
XUWza=BR" Wafer refractive index: Air
dc *#?G6^ 3 点击 Profiles 与 Materials.
=`")\?z} aqlYB7 在“Materials”中加入以下
材料:
=Ur/v'm
Name: N=1.5
X$<?:f-
Refractive index (Re:): 1.5
$xqphhBg gi8kYHldH
Name: N=3.14
>r3Wo%F' Refractive index (Re:): 3.14
_IGQ<U <z EC7o 3LoND 4.在“Profile”中定义以下轮廓:
{k>m5L Name: ChannelPro_n=3.14
#~Q0s)Ze 2D profile definition, Material: n=3.14
f7L |Jc i^( 0,L
Name: ChannelPro_n=1.5
#"jWPe,d 2D profile definition, Material: n=1.5
%u#pl=k} ]yyfE7{q 6.画出以下波导结构:
G{:L^2> a. Linear waveguide 1
/3fo=7G6 Label: linear1
MTQdyTDHl Start Horizontal offset: 0.0
?mMd6U&J Start vertical offset: -0.75
Q8O38uZ End Horizontal offset: 8.5
?tOzhrv End vertical offset: -0.75
}'3V(;9 Channel Thickness Tapering: Use Default
FD8aO?wvg Width: 1.5
phTZUmi Depth: 0.0
I".r`$XZ Profile: ChannelPro_n=1.5
yRAb
HG,c VFyt9:a b. Linear waveguide 2
h0!j ;fn Label: linear2
mu(S9 Start Horizontal offset: 0.5
I6UZ_H'E Start vertical offset: 0.05
mu*wX'.' End Horizontal offset: 1.0
^+pmZw90 End vertical offset: 0.05
C>LkU |[ Channel Thickness Tapering: Use Default
n1v%S"^ Width: 0.1
y|X[NSA Depth: 0.0
/dCZoz~~T Profile: ChannelPro_n=3.14
BPW:W } -Q,lUP 7.加入水平平面波:
sI`Lsd'V Continuous Wave Wavelength: 0.63 General:
b2z~C{l Input field Transverse: Rectangular
'&\km~& X Position: 0.5
4ed(
DSN Direction: Negative Direction
<K)^MLgN Label: InputPlane1
9nB:=`T9 2D Transverse:
%Dy a- Center Position: 4.5
6$IAm# Half width: 5.0
o rEo$e< Titlitng Angle: 45
H>VuUH| Effective Refractive Index: Local Amplitude: 1.0
N3E=t#n 图2.波导结构(未设置周期)
[z?q-$# !X8:#a( 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
;i1H {hB 将Linear2代码段修改如下:
zd+8fP/UB Dim Linear2
|n0 )s% 8` for m=1 to 8
xl
s_g/Q Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
&a O3N Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
ybfNG@N* Linear2.SetAttr "WidthExpr", "0.1"
]zu"x9-` Linear2.SetAttr "Depth", "0"
,Xao{o( Linear2.SetAttr "StartThickness", "0.000000"
z"R-Sme Linear2.SetAttr "EndThickness", "0.000000"
G<$UcXg Linear2.SetProfileName "ChannelPro_n=3.14"
.'
#_Z.zr Linear2.SetDefaultThicknessTaperMode True
D\>CEBt <V9L
AWeS 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
0,,x|g$TpT 图3.光栅布局通过VB脚本生成
s fazrz`h U<*ZY` B3 设置仿真参数
ze]2-B4 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
=d`,W9D 2. 在仿真参数对话框中,设置以下参数:
\6*3&p TE simulation
+oeO0 Mesh Delta X: 0.015
S.BM/M Mesh Delta Z: 0.015
\DpXs[1 Time Step Size: Auto Run for 1000 Time steps
u3Ua>A- 设置边界条件设置X和Z边为各向异性PML边界条件。
S's\M5 Number of Anisotropic PML layers: 15
:FB#,AOa_ 其它参数保持默认
?> }bg 运行仿真
C;M.dd • 在仿真参数中点击Run按钮,启动仿真
_a^%V9t • 在分析仪中,可以观察到各场分量的时域响应
nRJcYl~
Y • 仿真完成后,点击“Yes”,启动分析仪。
nJlrBf_Kj In5'(UHW: 远场分析
衍射波
GRS[r@W[1 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
jCxw|tmgq 2. 选择“Definition of the Cross Cut”为z方向
#"=_GA^.{ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
ggfL
d r 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
B<x)^[ <v 图4.远场计算对话框
L+bU~N,+A t(}\D]mj 5. 在远场对话框,设置以下参数:
'*|Wi}0R Wavelength: 0.63
XX#YiG4|J Refractive index: 1.5+0i
rXdI`l# Angle Initial: -90.0
S8^W)XgC; Angle Final: 90.0
`XS6t)!ik Number of Steps: 721
Y&'Bl$` Distance: 100, 000*wavelength
Oe5=2~4O Intensity
a=T_I1 :VX?j3qW 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
YD 1u 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
+v{<< 图5.“Opti 2D Viewer”中的远场模式