光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
dH]0(aJ •使用VB脚本生成光栅(或周期性)布局。
E"i<fr
T •光栅布局
模拟和后处理分析
HURrk~[ 布局layout
>]b>gc?3 我们将模拟如图1所示的二维光栅布局。
O3ij/8f 图1.二维光栅布局
F)fCj^zL O7<- - 用VB脚本定义一个2D光栅布局
B%y?+4;zA q8DSKi 步骤:
yFt$L'# 1 通过在
文件菜单中选择“New”,启动一个新项目。
a'zXLlXgGd 2 在“Wafer Properties”对话框中设置以下
参数 *xHj* Wafer Dimensions:
$z1W0 Length (mm): 8.5
O*qSc^ 9q Width (mm): 3.0
ng,64(wOY *[XVkt`H 2D wafer properties:
?
2#tIND Wafer refractive index: Air
w4:|Z@ I 3 点击 Profiles 与 Materials.
wY$'KmNW r.-U=ql 在“Materials”中加入以下
材料:
:A2{ Name: N=1.5
Oe#*- Refractive index (Re:): 1.5
j%w}hGW%, =yT3#A~<G Name: N=3.14
^wnlZ09J Refractive index (Re:): 3.14
AQ}(v,DOb XFj\H(D 4.在“Profile”中定义以下轮廓:
s,z$Vt"h*K Name: ChannelPro_n=3.14
KImBQ2 ^Tu 2D profile definition, Material: n=3.14
w_gFN%8 WA'4y\ N Name: ChannelPro_n=1.5
!V%h0OE\ 2D profile definition, Material: n=1.5
D./!/>@f =`&7pYd, 6.画出以下波导结构:
vw.rkAGY a. Linear waveguide 1
Kp]\r-5UD> Label: linear1
>JSk/]" Start Horizontal offset: 0.0
5yA1<&z Start vertical offset: -0.75
)># Y,/q End Horizontal offset: 8.5
v8{ jEAK End vertical offset: -0.75
So6ZNh9 Channel Thickness Tapering: Use Default
DHI%R< Width: 1.5
+ConK>; Depth: 0.0
a9f!f %9 Profile: ChannelPro_n=1.5
to2#PXf]y vk:k ~
b. Linear waveguide 2
OV~]-5gau Label: linear2
h4iz(* Start Horizontal offset: 0.5
rofGD9f
Start vertical offset: 0.05
A'zXbp:% End Horizontal offset: 1.0
pxGDzU End vertical offset: 0.05
-(oFO'Lbg Channel Thickness Tapering: Use Default
S]"U(JmW\ Width: 0.1
,ORwMZtw{H Depth: 0.0
H\>0jr` Profile: ChannelPro_n=3.14
&EUI T'W@fif 7.加入水平平面波:
w4AA4u Continuous Wave Wavelength: 0.63 General:
UnE[FYx Input field Transverse: Rectangular
"VIoVu X Position: 0.5
-22]|$f Direction: Negative Direction
{s{bnU Label: InputPlane1
Z&Qz"V>$ 2D Transverse:
Tr6J+hS Center Position: 4.5
e=H,|)P Half width: 5.0
S6d&w6 Titlitng Angle: 45
1H-d<G0) Effective Refractive Index: Local Amplitude: 1.0
H^d2|E[D 图2.波导结构(未设置周期)
#9/^)^k @H83Ad 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
7Rq|N$y.3 将Linear2代码段修改如下:
fO UW{s Dim Linear2
Au\j6mB for m=1 to 8
IG(1h+5R( Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
}Sx+: N* Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
%U
uVD Linear2.SetAttr "WidthExpr", "0.1"
\3hj/ Linear2.SetAttr "Depth", "0"
K*/X{3 J; Linear2.SetAttr "StartThickness", "0.000000"
W2`/z)[*> Linear2.SetAttr "EndThickness", "0.000000"
G u4mP Linear2.SetProfileName "ChannelPro_n=3.14"
pYBY"r Linear2.SetDefaultThicknessTaperMode True
Cu $mb}@ =i1+t"= 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
'JpCS 图3.光栅布局通过VB脚本生成
LkwjEJQf $[6] Ly(F) 设置仿真参数
uE=pq<
1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
i]{-KZC 2. 在仿真参数对话框中,设置以下参数:
lP;X=X> TE simulation
n5U-D0/Q Mesh Delta X: 0.015
-Pt']07E Mesh Delta Z: 0.015
{/2
_"H3: Time Step Size: Auto Run for 1000 Time steps
EpCT !e 设置边界条件设置X和Z边为各向异性PML边界条件。
DkA@KS1Dq Number of Anisotropic PML layers: 15
1w$X;q" 其它参数保持默认
-}G>{5.A 运行仿真
+M{A4nYY|1 • 在仿真参数中点击Run按钮,启动仿真
1
k\~% • 在分析仪中,可以观察到各场分量的时域响应
/lb"g_ • 仿真完成后,点击“Yes”,启动分析仪。
AdL>?SG% U{Xx)l/o 远场分析
衍射波
@s%!R 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
(X?et
& 2. 选择“Definition of the Cross Cut”为z方向
*=)kR7,]9d 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
XIRvIwO 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
[rO TWN 图4.远场计算对话框
A>Y#-e;<d zqlgJn 5. 在远场对话框,设置以下参数:
B.Y8O^rx Wavelength: 0.63
'\wZKYVN Refractive index: 1.5+0i
',l}$]y5 Angle Initial: -90.0
-VafN Angle Final: 90.0
YsA., Number of Steps: 721
Ap)pOD7 Distance: 100, 000*wavelength
Mrly(*!U"@ Intensity
grZ?F~P8 >0AVs6&;v 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
Z[%vO?, 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
!WgVk7aP` 图5.“Opti 2D Viewer”中的远场模式