光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Vw>AD<Rl •使用VB脚本生成光栅(或周期性)布局。
"7X[@xX@ •光栅布局
模拟和后处理分析
`EJ.L6j$' 布局layout
9N@m><N84 我们将模拟如图1所示的二维光栅布局。
EpsjaOmAF 图1.二维光栅布局
N3rq8Rk h%*@82DKK 用VB脚本定义一个2D光栅布局
Wp2$L-T&$ >=+:lD 步骤:
818,E 1 通过在
文件菜单中选择“New”,启动一个新项目。
HZJ)q`1E 2 在“Wafer Properties”对话框中设置以下
参数 &h<\jqN/ Wafer Dimensions:
B}U:c] Length (mm): 8.5
}gR!]Cs)^ Width (mm): 3.0
*&nIxb60b{ hzcSKRm 2D wafer properties:
MX)mm^A Wafer refractive index: Air
Ww&r 3 点击 Profiles 与 Materials.
z9qF<m mNk@WY_F 在“Materials”中加入以下
材料:
<<M1:1 Name: N=1.5
$c0<I59&| Refractive index (Re:): 1.5
Qt+i0xd x=VLTH/oo Name: N=3.14
=73aME} Refractive index (Re:): 3.14
WM8])}<L ][TA7pDPV 4.在“Profile”中定义以下轮廓:
q*'-G]tH= Name: ChannelPro_n=3.14
F>lM[Lu# 2D profile definition, Material: n=3.14
uy'qIq
/Y#Q<=X Name: ChannelPro_n=1.5
#9e 2+5s 2D profile definition, Material: n=1.5
=!N,{V_ rf=oH
} 6.画出以下波导结构:
#6F|}E a. Linear waveguide 1
y)K!l:X Label: linear1
>z|bQW#2 Start Horizontal offset: 0.0
Is[n7Q Start vertical offset: -0.75
/)*si End Horizontal offset: 8.5
eZdFfmYW^R End vertical offset: -0.75
m8,jV R Channel Thickness Tapering: Use Default
"%rzL.</ Width: 1.5
V
M{Sng Depth: 0.0
9
M90X8 Profile: ChannelPro_n=1.5
6c[Slq!KA Q>g-xe 1 b. Linear waveguide 2
U9Gg#M4tY Label: linear2
&ev#C%Nu Start Horizontal offset: 0.5
U:q4OtiP Start vertical offset: 0.05
m}32ovpw End Horizontal offset: 1.0
n3_|#1Qu End vertical offset: 0.05
c1M *w9o Channel Thickness Tapering: Use Default
">v-CSHY Width: 0.1
=:=s Depth: 0.0
:/\KVz'fw} Profile: ChannelPro_n=3.14
gHox>r6.A )u=46EU_ 7.加入水平平面波:
U]PsL3: Continuous Wave Wavelength: 0.63 General:
_T(77KLn; Input field Transverse: Rectangular
Q6$^lRNOpk X Position: 0.5
#Fckev4 Direction: Negative Direction
Ch'e'EmI Label: InputPlane1
:4x&B^,53 2D Transverse:
,8)aKy Center Position: 4.5
S76xEL Half width: 5.0
l9+)h} Titlitng Angle: 45
p>1Klh:8.' Effective Refractive Index: Local Amplitude: 1.0
TUX:[1~Nf[ 图2.波导结构(未设置周期)
r"W<1Hu 7e:7RAX 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
us )NgG 将Linear2代码段修改如下:
#&Fd16ov Dim Linear2
)(h<vo)-zX for m=1 to 8
49Hgq/uO Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
asL!@YE Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
5 J
7XVe> Linear2.SetAttr "WidthExpr", "0.1"
=zRjb> Linear2.SetAttr "Depth", "0"
l'RuzBQr Linear2.SetAttr "StartThickness", "0.000000"
b8h6fB:2 Linear2.SetAttr "EndThickness", "0.000000"
v
M $Tn Linear2.SetProfileName "ChannelPro_n=3.14"
&`}ACTY'P Linear2.SetDefaultThicknessTaperMode True
*n`8 -= @#::C@V] 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
uz@lz + 图3.光栅布局通过VB脚本生成
"9OOyeKu% N6h.zl&04 设置仿真参数
RJE<1!{ 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
DG/<#SCF 2. 在仿真参数对话框中,设置以下参数:
'<aFd)- TE simulation
:o_6
Mesh Delta X: 0.015
/'L/O;H20 Mesh Delta Z: 0.015
zJTSg Time Step Size: Auto Run for 1000 Time steps
V/t- 设置边界条件设置X和Z边为各向异性PML边界条件。
]64?S0p1c! Number of Anisotropic PML layers: 15
g.x]x#BC 其它参数保持默认
*W<|5<<u@ 运行仿真
V&>mD"~MP • 在仿真参数中点击Run按钮,启动仿真
XB+Juk&d • 在分析仪中,可以观察到各场分量的时域响应
bX`VIFc • 仿真完成后,点击“Yes”,启动分析仪。
3M[5_OK {3G2-$yb 远场分析
衍射波
Wa'm]J 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
RQW<Sp~ 2. 选择“Definition of the Cross Cut”为z方向
k2DBm q; 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
G;;iGN 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
/;9]LC.g 图4.远场计算对话框
J-Wphc!m }tPI#[cfK 5. 在远场对话框,设置以下参数:
gro@+^DmT Wavelength: 0.63
YCu9dBeVS Refractive index: 1.5+0i
h9j/mUwV Angle Initial: -90.0
|^t8ct?x~ Angle Final: 90.0
-MItZ Number of Steps: 721
BZRC0^-C@ Distance: 100, 000*wavelength
`AxhA.&V Intensity
S@vLh=65 LYp=o8JW| 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
qh9Ix 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
yWZ%|K~$ 图5.“Opti 2D Viewer”中的远场模式