光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
Dg*'n •使用VB脚本生成光栅(或周期性)布局。
yM('!iG*/ •光栅布局
模拟和后处理分析
>?[?W|k7V 布局layout
[*1:?mD$ 我们将模拟如图1所示的二维光栅布局。
v^aI+p6 图1.二维光栅布局
Zi{vEI ] /sr.MT 用VB脚本定义一个2D光栅布局
%OOy90b2 }kSP p 步骤:
80K"u[ 1 通过在
文件菜单中选择“New”,启动一个新项目。
kgd
dq 2 在“Wafer Properties”对话框中设置以下
参数 3hcWR'| Wafer Dimensions:
{01^xn. Length (mm): 8.5
!m8T< LtMl Width (mm): 3.0
;?C`Jagx ssAGWP 2D wafer properties:
(-xVW#39 Wafer refractive index: Air
d2fiPI7lg 3 点击 Profiles 与 Materials.
.|0$?w 1BSn#Dnj 在“Materials”中加入以下
材料:
5Gm8U"UR Name: N=1.5
=^z*p9ZB Refractive index (Re:): 1.5
Tnas$=J mQ3gp&d3W Name: N=3.14
+xQj-r)- Refractive index (Re:): 3.14
G"ixw b^A7R{G7 4.在“Profile”中定义以下轮廓:
n.Y45(@E Name: ChannelPro_n=3.14
h{ZK;(u$ 2D profile definition, Material: n=3.14
1n[wk'}qf4 9Y?``QBN Name: ChannelPro_n=1.5
6=96 ^o* 2D profile definition, Material: n=1.5
pm2] &5*t*tI 6.画出以下波导结构:
>7z(?nQYT^ a. Linear waveguide 1
q#K0EAgC Label: linear1
u qA!#E Start Horizontal offset: 0.0
\H
5t-w= Start vertical offset: -0.75
!Wj`U$]; End Horizontal offset: 8.5
/#j)GlNp: End vertical offset: -0.75
xl Q]"sm1 Channel Thickness Tapering: Use Default
L s+zJ1 Width: 1.5
r{f$n Depth: 0.0
#)s
+I2 Profile: ChannelPro_n=1.5
:lu "14 >^SQrB b. Linear waveguide 2
TN<"X :x9 Label: linear2
sGE%zCB Start Horizontal offset: 0.5
OS1f}< Start vertical offset: 0.05
%S^:5#9 End Horizontal offset: 1.0
nI] zRduC End vertical offset: 0.05
J!">L+Zcx Channel Thickness Tapering: Use Default
nELY( z Width: 0.1
aSI%!Vg. Depth: 0.0
ilZQ/hOBH Profile: ChannelPro_n=3.14
'<'5BeU "whs?^/ 7.加入水平平面波:
:w)9(5 Continuous Wave Wavelength: 0.63 General:
ED);2*qP} Input field Transverse: Rectangular
zjSHa'9* X Position: 0.5
&da:{ Direction: Negative Direction
Df$~=A} Label: InputPlane1
{XV'C@B 2D Transverse:
%'VzN3Q5V Center Position: 4.5
(EH}lh}% Half width: 5.0
3QF[@8EH{ Titlitng Angle: 45
S+*>""= Effective Refractive Index: Local Amplitude: 1.0
-Ir>pY\! 图2.波导结构(未设置周期)
d^`;tD /FjdcH= 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
6$l?D^{ 将Linear2代码段修改如下:
w O6>jW
7 Dim Linear2
S,Q(,e^& for m=1 to 8
7Sh1QDYZ Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
X~/-,oV=A Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
$GHi9aj_P Linear2.SetAttr "WidthExpr", "0.1"
8"p rWAN Linear2.SetAttr "Depth", "0"
/SyAjZ Linear2.SetAttr "StartThickness", "0.000000"
~_IQ:]k Linear2.SetAttr "EndThickness", "0.000000"
Sggl*V/q Linear2.SetProfileName "ChannelPro_n=3.14"
h")7kjM Linear2.SetDefaultThicknessTaperMode True
qn'TIE. "<f?.l\+ 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
(*,R21<% 图3.光栅布局通过VB脚本生成
X":2o|R SLp nVD:'1 设置仿真参数
s3'kzwX 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
JIqg[Mao 2. 在仿真参数对话框中,设置以下参数:
`?f<hIJoz TE simulation
{,?Gj@$ Mesh Delta X: 0.015
aOQT-C[
O Mesh Delta Z: 0.015
b *3h}n; Time Step Size: Auto Run for 1000 Time steps
Z,"YMUl' 设置边界条件设置X和Z边为各向异性PML边界条件。
-BWWaL Number of Anisotropic PML layers: 15
T_#8i^;D 其它参数保持默认
d(Hqj#`-31 运行仿真
"-j96
KD • 在仿真参数中点击Run按钮,启动仿真
N vTp1kI] • 在分析仪中,可以观察到各场分量的时域响应
vNdW.V} • 仿真完成后,点击“Yes”,启动分析仪。
m=Mk@xfQ# A,(9|#%L 远场分析
衍射波
P*OT&q 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
}J2f$l>R 2. 选择“Definition of the Cross Cut”为z方向
hh2&FI 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
7Jd&9&O U 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
(f~}5O< 图4.远场计算对话框
p["pGsf _H-Fm$Q 5. 在远场对话框,设置以下参数:
[Z&<# - Wavelength: 0.63
cr?ZXu_ Refractive index: 1.5+0i
1^ go)(Mx Angle Initial: -90.0
4ElS_u^cP7 Angle Final: 90.0
M(uJ'Ud/! Number of Steps: 721
B~J63Os/ Distance: 100, 000*wavelength
Qz_4Ms<o Intensity
;%cW[*Dw )@!T_# 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
<*P)"G 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
GiXs`Yt| 图5.“Opti 2D Viewer”中的远场模式