光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
A#\X-8/ •使用VB脚本生成光栅(或周期性)布局。
<m\TZQBD •光栅布局
模拟和后处理分析
8;bOw 布局layout
a#@opUn- 我们将模拟如图1所示的二维光栅布局。
%|||M=akk 图1.二维光栅布局
{GY$J<5= J#^M 用VB脚本定义一个2D光栅布局
yw^,@' z#ET-[I 步骤:
eLWzd_ln 1 通过在
文件菜单中选择“New”,启动一个新项目。
{K}+$jzGVt 2 在“Wafer Properties”对话框中设置以下
参数 WfI~l) Wafer Dimensions:
B!lw>rUMQ Length (mm): 8.5
JaTW/~ TU Width (mm): 3.0
!h;VdCCi# w-m2N-"=' 2D wafer properties:
QX/`s3N Wafer refractive index: Air
Ei!z? sxzx 3 点击 Profiles 与 Materials.
jk?(W2c#{ n$K_KU v 在“Materials”中加入以下
材料:
4+Kc Name: N=1.5
MsiSC Refractive index (Re:): 1.5
(["u"m% :\XD.n-n Name: N=3.14
:2+:(^l Refractive index (Re:): 3.14
3H2'HO l,3tU|V 4.在“Profile”中定义以下轮廓:
hHQt4 r'd Name: ChannelPro_n=3.14
C .Yz<?;S 2D profile definition, Material: n=3.14
w\a#Bfcv 0Oq1ay^ Name: ChannelPro_n=1.5
t `oP; 2D profile definition, Material: n=1.5
auU{Iy ^ +G> N 6.画出以下波导结构:
ME"/%59r a. Linear waveguide 1
GWsFW[T?~ Label: linear1
1U!CD-%( Start Horizontal offset: 0.0
!cZIoz Start vertical offset: -0.75
2TO1i0 End Horizontal offset: 8.5
mv_-|N~ End vertical offset: -0.75
7(-<x@ e Channel Thickness Tapering: Use Default
"@_f>3z Width: 1.5
]](hwj Depth: 0.0
%1<|.Dmd Profile: ChannelPro_n=1.5
hi%>&i* p;HZA}p \ b. Linear waveguide 2
K} @q+ Label: linear2
%$U+?lk} Start Horizontal offset: 0.5
CEiGjo^ Start vertical offset: 0.05
">7 bnOJ End Horizontal offset: 1.0
%$Uw]a End vertical offset: 0.05
0n%`Xb0q Channel Thickness Tapering: Use Default
^B7Aam Width: 0.1
78kk"9h' Depth: 0.0
aE}u5L$# Profile: ChannelPro_n=3.14
i@6 kIC `O F\f 7.加入水平平面波:
YR>x h2< 9 Continuous Wave Wavelength: 0.63 General:
Y\\&~g42R2 Input field Transverse: Rectangular
ftbu:RtK^^ X Position: 0.5
QGa"HG5NF Direction: Negative Direction
)!Bv8&;e Label: InputPlane1
}j
QwP3eY 2D Transverse:
iD9GAe}x Center Position: 4.5
3z#16* Half width: 5.0
>8c9-dTmf Titlitng Angle: 45
ay2.CBF Effective Refractive Index: Local Amplitude: 1.0
3i<*,@CY 图2.波导结构(未设置周期)
o_S8fHqjt v "07H 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
#gP\q?5Ov 将Linear2代码段修改如下:
EJZ2V>\_-0 Dim Linear2
'k hJZ: for m=1 to 8
8V@3T/} Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
7_LE2jpC,5 Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
b=sc2)3? Linear2.SetAttr "WidthExpr", "0.1"
LY7'wONx Linear2.SetAttr "Depth", "0"
j`bOJTBE Linear2.SetAttr "StartThickness", "0.000000"
eG<32$I Linear2.SetAttr "EndThickness", "0.000000"
<D?`*#K Linear2.SetProfileName "ChannelPro_n=3.14"
><Z2uJZ4x Linear2.SetDefaultThicknessTaperMode True
?6|EAKJ`lK *ZRQ4i[+ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
K=;p^dE 图3.光栅布局通过VB脚本生成
giv cq'L |&7l*j(\ 设置仿真参数
dPS}\&1 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
y3lsAe# 2. 在仿真参数对话框中,设置以下参数:
{ES3nCL(8 TE simulation
-YYQnN Mesh Delta X: 0.015
u(P
D+Gz Mesh Delta Z: 0.015
E/ Pa0. Time Step Size: Auto Run for 1000 Time steps
Xln'~5~) 设置边界条件设置X和Z边为各向异性PML边界条件。
nI-\HAX Number of Anisotropic PML layers: 15
v vFX\j3 其它参数保持默认
=2<
>dM#` 运行仿真
6HyQm?c>a • 在仿真参数中点击Run按钮,启动仿真
(URWicaB • 在分析仪中,可以观察到各场分量的时域响应
KV Mm<]Z • 仿真完成后,点击“Yes”,启动分析仪。
>n#Pq{7aF 2$|WXYY 远场分析
衍射波
t>^An:xT 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
#P1k5!u 2. 选择“Definition of the Cross Cut”为z方向
Av{1~%hU 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
+<I>]J2 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
A@GyKx%x$ 图4.远场计算对话框
0q81H./3 `CO?} rW 5. 在远场对话框,设置以下参数:
k#U?Xs> Wavelength: 0.63
mIt=r_ Refractive index: 1.5+0i
}oU0J Angle Initial: -90.0
&R2 5J$ Angle Final: 90.0
~ u jY+{ Number of Steps: 721
X ZfT;!wF& Distance: 100, 000*wavelength
`uY77co6 Intensity
w18kTa!4@ E`BL3+k Q 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Go8 m 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
,_HVPE 图5.“Opti 2D Viewer”中的远场模式