光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
xC2y/? •使用VB脚本生成光栅(或周期性)布局。
:* J! •光栅布局
模拟和后处理分析
gY_AO1 布局layout
wLo<gA6; 我们将模拟如图1所示的二维光栅布局。
S*H
@`Do%d 图1.二维光栅布局
y>ePCDR3 jr^btVOI#\ 用VB脚本定义一个2D光栅布局
:PBW=W cY.5z:7u~v 步骤:
mA5sK?W 1 通过在
文件菜单中选择“New”,启动一个新项目。
^C;ULUn3 2 在“Wafer Properties”对话框中设置以下
参数 H~W=#Cx Wafer Dimensions:
qG#ZYcVec Length (mm): 8.5
#}[NleTVt Width (mm): 3.0
H)5" <=] Q 2B 2D wafer properties:
;6*$!^*w Wafer refractive index: Air
Y\E7nll:. 3 点击 Profiles 与 Materials.
=an0PN Xkf|^-n 在“Materials”中加入以下
材料:
aO*v"^oF Name: N=1.5
{Bb:\N8X Refractive index (Re:): 1.5
|^gnT`+ 24
RD Name: N=3.14
n"nfEA3{` Refractive index (Re:): 3.14
HaQox.v% P3TM5 4.在“Profile”中定义以下轮廓:
6Z{(.'Be Name: ChannelPro_n=3.14
%t]{C06w+{ 2D profile definition, Material: n=3.14
eqqnR.0 -K6y#O@@ Name: ChannelPro_n=1.5
V/yj.aA*@ 2D profile definition, Material: n=1.5
MZ>Q Rf BxB B]( 6.画出以下波导结构:
JG{`tTu a. Linear waveguide 1
!'> ,37() Label: linear1
>txeo17Ba\ Start Horizontal offset: 0.0
Tj!rAMQk Start vertical offset: -0.75
fD%20P`. End Horizontal offset: 8.5
~\ v"xV End vertical offset: -0.75
x}#N?d Channel Thickness Tapering: Use Default
5X:3'* Width: 1.5
|?ZNGPt Depth: 0.0
Xi!e=5&Pa Profile: ChannelPro_n=1.5
u"DE? @su!9 ]o b. Linear waveguide 2
@6H 7 Label: linear2
*C.Kdf3w Start Horizontal offset: 0.5
HP:[aR!2P Start vertical offset: 0.05
rGay~\ End Horizontal offset: 1.0
rv2;)3/* End vertical offset: 0.05
imyfki $B Channel Thickness Tapering: Use Default
\og2\Oh&gH Width: 0.1
8qoA5fW> Depth: 0.0
877Kv); Profile: ChannelPro_n=3.14
T/jxsIt3 Op hD_^ 7.加入水平平面波:
sk@aOv'*( Continuous Wave Wavelength: 0.63 General:
Asj<u!L Input field Transverse: Rectangular
otQ
G6 X Position: 0.5
o 80x@ &A: Direction: Negative Direction
Wlp`D Label: InputPlane1
l/A!ofc#) 2D Transverse:
3!i{4/ Center Position: 4.5
<|hrmwk| Half width: 5.0
n/YnISt Titlitng Angle: 45
`)Y 5L}c= Effective Refractive Index: Local Amplitude: 1.0
DH:9iX ' 图2.波导结构(未设置周期)
gwFW+*h ."`||@| 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
fr&p0)85>B 将Linear2代码段修改如下:
h7AO5"6 Dim Linear2
A:5P for m=1 to 8
3V<c4'O\W Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
yGH')TsjD Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
ruy?#rk Linear2.SetAttr "WidthExpr", "0.1"
@2TfW]6 Linear2.SetAttr "Depth", "0"
(R(NEN Linear2.SetAttr "StartThickness", "0.000000"
)M@^Z(W/a Linear2.SetAttr "EndThickness", "0.000000"
\jAI~|3 Linear2.SetProfileName "ChannelPro_n=3.14"
;Hb"SB Linear2.SetDefaultThicknessTaperMode True
T#HF!GH] X7?j90tH 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
CjJ n 图3.光栅布局通过VB脚本生成
}d@;]cps ri4:w_/{,Y 设置仿真参数
OXZx!h 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
#hXuGBZEI 2. 在仿真参数对话框中,设置以下参数:
M{p9b E[j TE simulation
1[\I9dv2 Mesh Delta X: 0.015
WN o+% Mesh Delta Z: 0.015
JvS
~.g1 Time Step Size: Auto Run for 1000 Time steps
_B\87e 设置边界条件设置X和Z边为各向异性PML边界条件。
qJw\<7m Number of Anisotropic PML layers: 15
%cASk>^i 其它参数保持默认
tZ:fOM 运行仿真
o%K1!' • 在仿真参数中点击Run按钮,启动仿真
-o57"r^x • 在分析仪中,可以观察到各场分量的时域响应
(A-Uo
• 仿真完成后,点击“Yes”,启动分析仪。
SRrp=>w? jJ?G7Q5l 远场分析
衍射波
jn oX%3d- 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
T7N\b]?j@Y 2. 选择“Definition of the Cross Cut”为z方向
`R*!GHro 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
8DFq eY0S 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
Z1wfy\9c8 图4.远场计算对话框
Ld=6'C8ud (V"7H 5. 在远场对话框,设置以下参数:
1"T&B0G3l Wavelength: 0.63
f|2QI~R Refractive index: 1.5+0i
A$?o3--#]G Angle Initial: -90.0
B9'2$s+Z; Angle Final: 90.0
mOFp!( Number of Steps: 721
<iM}p^jX9 Distance: 100, 000*wavelength
ZQmg;L&7 Intensity
Dc] J3r 2-^['R 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
x_= 3!) 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
='(;!3ZH 图5.“Opti 2D Viewer”中的远场模式