光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
)z\# •使用VB脚本生成光栅(或周期性)布局。
}79O[& •光栅布局
模拟和后处理分析
tH4q*\U 布局layout
w^Yo)"6 我们将模拟如图1所示的二维光栅布局。
1ANFhl(l 图1.二维光栅布局
wN58uV ' _cE_\Ay 用VB脚本定义一个2D光栅布局
('7$K yQMwt|C4 步骤:
;N?(R\*8 1 通过在
文件菜单中选择“New”,启动一个新项目。
&l3(+4Sh 2 在“Wafer Properties”对话框中设置以下
参数 w7.,ch Wafer Dimensions:
T- _)) Length (mm): 8.5
_dRB=bl"O Width (mm): 3.0
pZ}B/j Y!_{:2H8p 2D wafer properties:
5!fOc]]Ow Wafer refractive index: Air
iiQ
q112` 3 点击 Profiles 与 Materials.
y: x<`E= m$=}nI(H 在“Materials”中加入以下
材料:
qFwt^w Name: N=1.5
)v_v 7 ~H& Refractive index (Re:): 1.5
]"b:IWPeI
`YC7+`q Name: N=3.14
eA86~M?<o Refractive index (Re:): 3.14
||>4XDV# | bRU=dg 4.在“Profile”中定义以下轮廓:
cz1 + XpU Name: ChannelPro_n=3.14
`_)H aF>/ 2D profile definition, Material: n=3.14
Vy
I\Jmr |(Mxbprz Name: ChannelPro_n=1.5
SMD*9&, 2D profile definition, Material: n=1.5
:`zO%h xi(1H1KN5B 6.画出以下波导结构:
Lv]%P.=[G a. Linear waveguide 1
3 a.!9R> Label: linear1
zmGHI!tP Start Horizontal offset: 0.0
F5RL+rU(h Start vertical offset: -0.75
't}\U&L.{ End Horizontal offset: 8.5
Y&j`HO8f End vertical offset: -0.75
<O
0Q]`i Channel Thickness Tapering: Use Default
/uX*FZ Width: 1.5
Y4HN1 Depth: 0.0
j!>P7 8 Profile: ChannelPro_n=1.5
E&zf<Y <+g77NL b. Linear waveguide 2
05R"/r* Label: linear2
yy=hCjQ) Start Horizontal offset: 0.5
EN\cwa#FU Start vertical offset: 0.05
dh7`eAMY End Horizontal offset: 1.0
#| _VN %! End vertical offset: 0.05
KCyV |,+n Channel Thickness Tapering: Use Default
QR#>Ws Width: 0.1
XJ\R'?j Depth: 0.0
x
C&IR* Profile: ChannelPro_n=3.14
qsp.`9! IZj`*M%3 7.加入水平平面波:
TPJF?.le
' Continuous Wave Wavelength: 0.63 General:
k3qQU) Input field Transverse: Rectangular
a%B&F|u X Position: 0.5
|Q3d7y Direction: Negative Direction
yy8-t2V Label: InputPlane1
} 7
o! 2D Transverse:
>-I <`y-H Center Position: 4.5
9=ygkP Y Half width: 5.0
{73V?#P4 Titlitng Angle: 45
@!fUp
b Effective Refractive Index: Local Amplitude: 1.0
JE-*o"& 图2.波导结构(未设置周期)
mG\QF0h (Of6Ij? 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
MSQ^ovph 将Linear2代码段修改如下:
P-Y_$Nv0g Dim Linear2
7j\^h2 for m=1 to 8
?I6rW JcQ6 Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
BA:x*(%~ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
=0d|F
8 Linear2.SetAttr "WidthExpr", "0.1"
U_"!\lI_yg Linear2.SetAttr "Depth", "0"
aNEah Linear2.SetAttr "StartThickness", "0.000000"
cZxY,UvYa Linear2.SetAttr "EndThickness", "0.000000"
Gn8sB Linear2.SetProfileName "ChannelPro_n=3.14"
uVn"L:_ Linear2.SetDefaultThicknessTaperMode True
EcB
!bf d-_V*rYU 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
nUP, Yd 图3.光栅布局通过VB脚本生成
CVa>5vt q-<DYVG+ 设置仿真参数
7x6M]1F 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
kP%hgZ 2. 在仿真参数对话框中,设置以下参数:
*I(6hB TE simulation
"5V;~}=S Mesh Delta X: 0.015
W]oD(eZ Mesh Delta Z: 0.015
Sk|e#{ Time Step Size: Auto Run for 1000 Time steps
\~hrS/$[$ 设置边界条件设置X和Z边为各向异性PML边界条件。
89LD:+p/ Number of Anisotropic PML layers: 15
pr#%VM[':R 其它参数保持默认
JPqd}:u3 运行仿真
r&
a[? • 在仿真参数中点击Run按钮,启动仿真
VhkM{O • 在分析仪中,可以观察到各场分量的时域响应
<l5i%? • 仿真完成后,点击“Yes”,启动分析仪。
nv:Qd\UM 1 jidBzu< 远场分析
衍射波
~JXz 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
G{} 2"/ 2. 选择“Definition of the Cross Cut”为z方向
jjV'`Vy) 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
754MQK|g 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
D!o[Sm}JO[ 图4.远场计算对话框
G*9>TavE $v@$C4 5. 在远场对话框,设置以下参数:
031"D*W'i Wavelength: 0.63
eK:?~BI! Refractive index: 1.5+0i
>)ekb7 Angle Initial: -90.0
;0 B1P|7zK Angle Final: 90.0
z,TH}s6 Number of Steps: 721
Qfm$q~`D^W Distance: 100, 000*wavelength
A7X
a Intensity
g3$'Ghf Czjb.c:a.Y 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
%VO+\L8Fs 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
h:8P9WhWF 图5.“Opti 2D Viewer”中的远场模式