光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
S["
&8Fy •使用VB脚本生成光栅(或周期性)布局。
4p~:(U[q •光栅布局
模拟和后处理分析
t5N4d 布局layout
VuZmX1x)N 我们将模拟如图1所示的二维光栅布局。
cY>;( x@ 图1.二维光栅布局
O'-lBf+< GW{Nc!) 用VB脚本定义一个2D光栅布局
xt"/e-h} ~ab"q% 步骤:
FM7N|]
m 1 通过在
文件菜单中选择“New”,启动一个新项目。
1^zF/$% 2 在“Wafer Properties”对话框中设置以下
参数 <$njU=YE& Wafer Dimensions:
3P6!j Length (mm): 8.5
g%=\Wiit] Width (mm): 3.0
6]gs{zG {YbqB6zaM 2D wafer properties:
?j0blXl Wafer refractive index: Air
>k\*NW 3 点击 Profiles 与 Materials.
s_Dl8O4u C.(ZXU7 在“Materials”中加入以下
材料:
3nK'yC Name: N=1.5
G%kXr$?W Refractive index (Re:): 1.5
KQ9:lJKr 3 ^su%z_% Name: N=3.14
.(1$Q6yG Refractive index (Re:): 3.14
9 [I ro -GKelz?h> 4.在“Profile”中定义以下轮廓:
puqH%m+u Name: ChannelPro_n=3.14
ld@f:Zali 2D profile definition, Material: n=3.14
Mc6Cte]3| w6"LHy[ Name: ChannelPro_n=1.5
QX]tD4OH 2D profile definition, Material: n=1.5
63u'-Z"4 :6M0`V;L 6.画出以下波导结构:
"?9fL#8f*! a. Linear waveguide 1
iGU N$ Label: linear1
^3yjE/Wi" Start Horizontal offset: 0.0
.D>lv_kp Start vertical offset: -0.75
(wY%$kW4 End Horizontal offset: 8.5
rP\7C+ End vertical offset: -0.75
%mYIXsuH Channel Thickness Tapering: Use Default
7R2)Klt Width: 1.5
462ae`
6l Depth: 0.0
g*tLqV Profile: ChannelPro_n=1.5
<zDe;& }.gg!V'9w b. Linear waveguide 2
7:p]~eM) Label: linear2
TwhK>HN Start Horizontal offset: 0.5
z
vYDE] Start vertical offset: 0.05
$c y:G End Horizontal offset: 1.0
*/+s^{W7 End vertical offset: 0.05
e-K 8K+7 Channel Thickness Tapering: Use Default
{oJa8~P Width: 0.1
:<v$vER,& Depth: 0.0
\rN_CBM Profile: ChannelPro_n=3.14
)
k2NF="o JX/d;N7a 7.加入水平平面波:
&4%J35~ Continuous Wave Wavelength: 0.63 General:
'OihA^e Input field Transverse: Rectangular
&+^
# `nq X Position: 0.5
y-X'eCUz Direction: Negative Direction
i-=ff Label: InputPlane1
LK%B6-;~- 2D Transverse:
?7p|
F^ Center Position: 4.5
k2WO*xa* Half width: 5.0
\9?<E[ Titlitng Angle: 45
GJuD
: Effective Refractive Index: Local Amplitude: 1.0
@ixX?N)V 图2.波导结构(未设置周期)
Iw:("A&~ ,6bMfz 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
U+RPn?Q 将Linear2代码段修改如下:
'_<`dzz Dim Linear2
U`Ag|R for m=1 to 8
zn x_p/V Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
^MW%&&,BL Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
Rp|&1nS Linear2.SetAttr "WidthExpr", "0.1"
Zs{R O Linear2.SetAttr "Depth", "0"
/t^lI%& Linear2.SetAttr "StartThickness", "0.000000"
k$ M4NF~$ Linear2.SetAttr "EndThickness", "0.000000"
{.OoOqq9 Linear2.SetProfileName "ChannelPro_n=3.14"
!491
\W0ZH Linear2.SetDefaultThicknessTaperMode True
/
IS WC <khAc1" 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
~.lH) 图3.光栅布局通过VB脚本生成
_Xv/S_yW M(E_5@?3 设置仿真参数
b?NeSiswn 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
/#=J`*m_ 2. 在仿真参数对话框中,设置以下参数:
4<K`yU]" TE simulation
I`kp5lGD2 Mesh Delta X: 0.015
r97[!y1gt Mesh Delta Z: 0.015
l1qwT0*6> Time Step Size: Auto Run for 1000 Time steps
NKKOA 设置边界条件设置X和Z边为各向异性PML边界条件。
NETC{:j Number of Anisotropic PML layers: 15
uPXqTkod 其它参数保持默认
zs:7! 运行仿真
6)$N[FNs • 在仿真参数中点击Run按钮,启动仿真
n1>nnH]G • 在分析仪中,可以观察到各场分量的时域响应
F.5b|&@ • 仿真完成后,点击“Yes”,启动分析仪。
o)=VPUe Z+W&C@Uw 远场分析
衍射波
sr+mY; 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
tQaCNS$= 2. 选择“Definition of the Cross Cut”为z方向
{:X];A$ 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
9y*!W 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
]r1{%:8 图4.远场计算对话框
F\rSYjMyk $)]FCuv 5. 在远场对话框,设置以下参数:
B/hHkOoo Wavelength: 0.63
%pkq ?9 Refractive index: 1.5+0i
ee^_Dh4 Angle Initial: -90.0
r(T/^< Angle Final: 90.0
ZC*d^n]x. Number of Steps: 721
faOWhIG Distance: 100, 000*wavelength
[5*-V^m2 Intensity
U(=9&c@] }C"*ACjF 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
C(HmLEB^ 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
97wy;'J[u 图5.“Opti 2D Viewer”中的远场模式