光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
`WboM\u •使用VB脚本生成光栅(或周期性)布局。
p`fUpARA! •光栅布局
模拟和后处理分析
%?Yf!)owh 布局layout
IE+{W~y\ 我们将模拟如图1所示的二维光栅布局。
}R=n!Y$F 图1.二维光栅布局
e4fh<0gX =2F;'T\6 用VB脚本定义一个2D光栅布局
6ey{+8 Cvry8B 步骤:
!i,Eo-[Z 1 通过在
文件菜单中选择“New”,启动一个新项目。
z\Hg@J 2 在“Wafer Properties”对话框中设置以下
参数 i%_W{;e Wafer Dimensions:
8oK*NB29 Length (mm): 8.5
<~@}r\ Width (mm): 3.0
(u-K^xC v6uR[18 2D wafer properties:
,bzE`6 Wafer refractive index: Air
Ngi]I#Vz 3 点击 Profiles 与 Materials.
vMu6u .e RZoSP(6 在“Materials”中加入以下
材料:
J~Uq'1? Name: N=1.5
:
E[\1 Refractive index (Re:): 1.5
@{P<!x <Q io%WV%1_ Name: N=3.14
X
[IVK~D}z Refractive index (Re:): 3.14
\f\CK@ s;e%*4 4.在“Profile”中定义以下轮廓:
:%7y6V* Name: ChannelPro_n=3.14
c|m*<
i 2D profile definition, Material: n=3.14
h]T GVR/p Name: ChannelPro_n=1.5
hGh91c;4 2D profile definition, Material: n=1.5
_^w&k{T bca4'`3\| 6.画出以下波导结构:
+i^@QNOa a. Linear waveguide 1
e}>3<Dh Label: linear1
)
rw!. )
Start Horizontal offset: 0.0
0h/bC)z
Start vertical offset: -0.75
V1di#i: End Horizontal offset: 8.5
dyWj+N5( End vertical offset: -0.75
O:%s;p
5 Channel Thickness Tapering: Use Default
41G}d+ Width: 1.5
m&vuBb3 Depth: 0.0
{6Y |Z> Profile: ChannelPro_n=1.5
yUnNf 2i ~H`m"4zQ b. Linear waveguide 2
+*uaB Label: linear2
=sZ58xA Start Horizontal offset: 0.5
,/2&HZd Start vertical offset: 0.05
Hq$&rNnq\ End Horizontal offset: 1.0
rDI}X?JmX End vertical offset: 0.05
_4,/uG|a O Channel Thickness Tapering: Use Default
g$f+X~Q Width: 0.1
tVQq,_9C Depth: 0.0
Br4[hUV/ Profile: ChannelPro_n=3.14
{,aX|*1Ku~ HOt,G
_{ 7.加入水平平面波:
4j|IG/m Continuous Wave Wavelength: 0.63 General:
?}g^/g ! Input field Transverse: Rectangular
QNbV=*F? X Position: 0.5
,="hI:*< Direction: Negative Direction
A |u-VXQ Label: InputPlane1
6|uv+$ 2D Transverse:
#ZkT![` Center Position: 4.5
|P0!dt7sQ Half width: 5.0
0:I[;Qt Titlitng Angle: 45
CiWz>HWH Effective Refractive Index: Local Amplitude: 1.0
Oh# z zo 图2.波导结构(未设置周期)
V82HO{ D j%+>y;). 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
?}RPnf 将Linear2代码段修改如下:
CS'LW;#[ Dim Linear2
ONVhB for m=1 to 8
xO[V>Ud Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
5'\detV_ Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
R_W6} Linear2.SetAttr "WidthExpr", "0.1"
C19}Y4r: Linear2.SetAttr "Depth", "0"
%u}#|+8} Linear2.SetAttr "StartThickness", "0.000000"
j)ME%17 Linear2.SetAttr "EndThickness", "0.000000"
F[(ocxQZ3 Linear2.SetProfileName "ChannelPro_n=3.14"
.^dtdFZ8, Linear2.SetDefaultThicknessTaperMode True
71n3d~!O> ]!q>@b 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
EDT9O 图3.光栅布局通过VB脚本生成
>{S
~(KxK o_8Wnx^ 设置仿真参数
?lE&ow 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
\5|MW)x 2. 在仿真参数对话框中,设置以下参数:
NX4G;+6 TE simulation
mW2 D"-s Mesh Delta X: 0.015
`>0%Ha Mesh Delta Z: 0.015
&V|kv"Wwj Time Step Size: Auto Run for 1000 Time steps
vBzUuX 设置边界条件设置X和Z边为各向异性PML边界条件。
1etT." Number of Anisotropic PML layers: 15
)SZzA' 其它参数保持默认
J}NMF#w/; 运行仿真
+T\<oj%}2 • 在仿真参数中点击Run按钮,启动仿真
u*f`\vs • 在分析仪中,可以观察到各场分量的时域响应
X1HEeJ| • 仿真完成后,点击“Yes”,启动分析仪。
-Ew>3Q C7O8B; 远场分析
衍射波
R_D&"& 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
4a0Ud !Qcs 2. 选择“Definition of the Cross Cut”为z方向
+e^CL#Gs 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
uK]-m 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
ZC]|s[ 图4.远场计算对话框
inY_cn? 5,-g^o7 5. 在远场对话框,设置以下参数:
%~I&T".iC Wavelength: 0.63
egK~w8`W% Refractive index: 1.5+0i
3 [j,d]\| Angle Initial: -90.0
~!S/{Un Angle Final: 90.0
DKJ_g.]X Number of Steps: 721
T+^Sa
J Distance: 100, 000*wavelength
hraR:l
D Intensity
0SU v 5c kebk f,`p 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
&?@[bD'T 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
@0]w!q 图5.“Opti 2D Viewer”中的远场模式