光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
\p%3vRwS%p •使用VB脚本生成光栅(或周期性)布局。
T)\"Xj •光栅布局
模拟和后处理分析
9M"].~iNE 布局layout
S.!UPkW H 我们将模拟如图1所示的二维光栅布局。
j5I`a 1j` 图1.二维光栅布局
zS]8V?` t20PP4FWM 用VB脚本定义一个2D光栅布局
$H$j-)\D /pp1~r.s?> 步骤:
;l}- Z@! / 1 通过在
文件菜单中选择“New”,启动一个新项目。
_4 cvX 2 在“Wafer Properties”对话框中设置以下
参数 kF>o.uSV Wafer Dimensions:
5{$LsL Length (mm): 8.5
sKyPosnP Width (mm): 3.0
{-BRt)L[ CIVnCy z 2D wafer properties:
)J?{+3 Wafer refractive index: Air
-+t]15 3 点击 Profiles 与 Materials.
X\}Y s}onsC 在“Materials”中加入以下
材料:
TE )gVE] Name: N=1.5
Y
wkyq>Rv Refractive index (Re:): 1.5
7H>@iI"? yPw'] " Name: N=3.14
;L&TxO>#J Refractive index (Re:): 3.14
t*@z8<H +y 87~]] 4.在“Profile”中定义以下轮廓:
!`bio cA Name: ChannelPro_n=3.14
Z0De!?ALV\ 2D profile definition, Material: n=3.14
sE{ pzPq! 5'a3huRtV Name: ChannelPro_n=1.5
#P#-xz 2D profile definition, Material: n=1.5
&Z?ut*%S a?YCn! 6.画出以下波导结构:
JY!l!xH(6 a. Linear waveguide 1
U:F/iXz Label: linear1
8P:
Rg%0) Start Horizontal offset: 0.0
=uDgzdDyE Start vertical offset: -0.75
fI\9\x End Horizontal offset: 8.5
`"@ X.}\ End vertical offset: -0.75
_lW+>xQ Channel Thickness Tapering: Use Default
a(]`F(L Width: 1.5
.Wi{lt Depth: 0.0
`pd&se'p Profile: ChannelPro_n=1.5
g]UBZ33y PCn Q_A-Q b. Linear waveguide 2
aCV4AyG Label: linear2
9z?oB&5 Start Horizontal offset: 0.5
lt$zA%`odc Start vertical offset: 0.05
~el3I=KC} End Horizontal offset: 1.0
pdd/D End vertical offset: 0.05
$(Ugtimdv Channel Thickness Tapering: Use Default
i*R,QN) Width: 0.1
OdI\B Depth: 0.0
)rLMIk Profile: ChannelPro_n=3.14
BK,sc'b .k4W_9 7.加入水平平面波:
|lH;Fq{\ Continuous Wave Wavelength: 0.63 General:
drwgjLC+ Input field Transverse: Rectangular
;d$qc<2uA X Position: 0.5
:ug4g6;#H0 Direction: Negative Direction
p1c3Q$>i Label: InputPlane1
FZiW|G 2D Transverse:
c.\O/N
Center Position: 4.5
G1 o70 Half width: 5.0
I &* _,d Titlitng Angle: 45
?t@v&s Effective Refractive Index: Local Amplitude: 1.0
hl&-\ dc+ 图2.波导结构(未设置周期)
+MK6zf iA_8(Yo 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
-oz`"&% 将Linear2代码段修改如下:
ECa$vvK
m Dim Linear2
TgU**JN) for m=1 to 8
')S;[= v Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
ZWV|# c<G Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
T2?HRx Linear2.SetAttr "WidthExpr", "0.1"
t)oa pIeIe Linear2.SetAttr "Depth", "0"
Q
'(ihUq*k Linear2.SetAttr "StartThickness", "0.000000"
aKF*FFX Linear2.SetAttr "EndThickness", "0.000000"
Y<\^7\[x Linear2.SetProfileName "ChannelPro_n=3.14"
CGw--`#\ Linear2.SetDefaultThicknessTaperMode True
mxwdugr` *p ? e.%nd 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
!\[+99F# 图3.光栅布局通过VB脚本生成
=R*Gk4<Y gJ2
H=#M 设置仿真参数
3-40'$lE 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
RANPi\] 2. 在仿真参数对话框中,设置以下参数:
`P+(&taT TE simulation
D}Ilyk_uUw Mesh Delta X: 0.015
q&'Lbxc>c Mesh Delta Z: 0.015
P];JKE% Time Step Size: Auto Run for 1000 Time steps
0@1:M
设置边界条件设置X和Z边为各向异性PML边界条件。
~$O1`IT Number of Anisotropic PML layers: 15
bAxTLIf 其它参数保持默认
e`{0d{Nd 运行仿真
6*GjP ;S= • 在仿真参数中点击Run按钮,启动仿真
MQ][mMM;w • 在分析仪中,可以观察到各场分量的时域响应
!Q-wdzsp? • 仿真完成后,点击“Yes”,启动分析仪。
4aZCFdc ?3sT"r_d@ 远场分析
衍射波
$7I]`Jt 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
B'>*[!A 2. 选择“Definition of the Cross Cut”为z方向
Oi:JiD= 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
e{G_GycH 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
KiLvI,9y 图4.远场计算对话框
%IpSK 0<Sp d&:H&o)T! 5. 在远场对话框,设置以下参数:
w'Z!;4E0 Wavelength: 0.63
^>~dlS Refractive index: 1.5+0i
t\j!K2 Angle Initial: -90.0
a
ib}`l Angle Final: 90.0
&J"YsY Number of Steps: 721
=.m6FRsU Distance: 100, 000*wavelength
nR5bs;gk" Intensity
mp`PE= 2?i\@r@E| 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
){Z 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
n~z\?Y=* 图5.“Opti 2D Viewer”中的远场模式