光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
qI:}3b;T •使用VB脚本生成光栅(或周期性)布局。
FL(gwfL •光栅布局
模拟和后处理分析
"aB]?4 布局layout
TnPd pynP 我们将模拟如图1所示的二维光栅布局。
o Ep\po1 图1.二维光栅布局
-
Kj$A@~x (ai E!c 用VB脚本定义一个2D光栅布局
)
;-AT^ Vnv<]D
zC 步骤:
xg. d)n 1 通过在
文件菜单中选择“New”,启动一个新项目。
F 3,hx 2 在“Wafer Properties”对话框中设置以下
参数 0(@8 Wafer Dimensions:
rQj.W6w= Length (mm): 8.5
O`OntYwa> Width (mm): 3.0
+3]@0VM26; i\}, 2D wafer properties:
+]`MdOu Wafer refractive index: Air
6H.D`"cj 3 点击 Profiles 与 Materials.
i. `S0 %mtW-drv> 在“Materials”中加入以下
材料:
fVb&=%e Name: N=1.5
)I.[@#- Refractive index (Re:): 1.5
9p>3k&S [AE]0cO@ Name: N=3.14
w/h?, L| Refractive index (Re:): 3.14
xI}]q%V JgYaA*1X 4.在“Profile”中定义以下轮廓:
hb_YdnG Name: ChannelPro_n=3.14
3AX /A+2 2D profile definition, Material: n=3.14
@~QW~{y l: 1Zq_?v; Name: ChannelPro_n=1.5
QOy+T6en 2D profile definition, Material: n=1.5
b==<7[8 M2my> 6.画出以下波导结构:
5<,}^4wWZ a. Linear waveguide 1
@xSS`&b Label: linear1
pYceMZ$ Start Horizontal offset: 0.0
/G G QO$' Start vertical offset: -0.75
@e$zEj5 End Horizontal offset: 8.5
lwQI
9U[O2 End vertical offset: -0.75
$N+a4 Channel Thickness Tapering: Use Default
LPO3B W Width: 1.5
H.|FEV@ Depth: 0.0
wEQV"I Profile: ChannelPro_n=1.5
]*ZL>fuD| B~caHG1b b. Linear waveguide 2
Mf/zSQk+ Label: linear2
*D*K`dk Start Horizontal offset: 0.5
S=eY`,'#R Start vertical offset: 0.05
q`"gT;3S End Horizontal offset: 1.0
iN<& End vertical offset: 0.05
vZhN%
DfY Channel Thickness Tapering: Use Default
) i.p[ Width: 0.1
EG@*J*|S Depth: 0.0
/DQoM@X Profile: ChannelPro_n=3.14
z"=#<C ?9OiF-:n 7.加入水平平面波:
0rsdDME[ Continuous Wave Wavelength: 0.63 General:
na(@`(j[ Input field Transverse: Rectangular
)O#>ONm^ X Position: 0.5
4F)z-<-b Direction: Negative Direction
z<sf}6q Label: InputPlane1
wu/]M~XwI 2D Transverse:
~ NKw}6 Center Position: 4.5
A^bg*t, Half width: 5.0
tm#T8iF Titlitng Angle: 45
]wER&/v" Effective Refractive Index: Local Amplitude: 1.0
Do=*bZ;A 图2.波导结构(未设置周期)
u"?cmg<.1 h=EJNz>U 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
?VCb@&* 将Linear2代码段修改如下:
`:}GE@] Dim Linear2
Ac^}wXp for m=1 to 8
`k
a!`nfo Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
1Xu\Tm\Ux Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
) e;)9~ Linear2.SetAttr "WidthExpr", "0.1"
g$EjIHb Linear2.SetAttr "Depth", "0"
9fzbR~s Linear2.SetAttr "StartThickness", "0.000000"
{y`afuiB Linear2.SetAttr "EndThickness", "0.000000"
" <m)Fh; Linear2.SetProfileName "ChannelPro_n=3.14"
(C!u3ke2D Linear2.SetDefaultThicknessTaperMode True
P%ev8]2 kzbgy)PK3 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
bJx{mq
图3.光栅布局通过VB脚本生成
=V/$&96Q V\r5 设置仿真参数
5owUQg,W 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
K0g<11}(Yg 2. 在仿真参数对话框中,设置以下参数:
y4C_G? TE simulation
oz(<e Mesh Delta X: 0.015
,xn+T)2I Mesh Delta Z: 0.015
*h-_
Time Step Size: Auto Run for 1000 Time steps
=xS(Er`r 设置边界条件设置X和Z边为各向异性PML边界条件。
#hH "g Number of Anisotropic PML layers: 15
kbI:}b7H 其它参数保持默认
0>)('Kv 运行仿真
)67Kd] • 在仿真参数中点击Run按钮,启动仿真
p6A"_b^ • 在分析仪中,可以观察到各场分量的时域响应
z5=&qo|f9l • 仿真完成后,点击“Yes”,启动分析仪。
"qu%$L HZ>Xm6DnC5 远场分析
衍射波
K9mL1 [B 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
I'`Q_5s5 2. 选择“Definition of the Cross Cut”为z方向
wbUpD( 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
Vx~[;*{,C9 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
7 1z$a 图4.远场计算对话框
>wNE!Oa*B W&A22jO.1 5. 在远场对话框,设置以下参数:
ullq}} Wavelength: 0.63
TlYeYN5V Refractive index: 1.5+0i
51*o&:eim Angle Initial: -90.0
3G~ T_J& Angle Final: 90.0
_WVeb} Number of Steps: 721
>Yl?i&3n Distance: 100, 000*wavelength
9} :n Intensity
;4z6="<Y _Su?
VxU 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
$Dxz21|P7 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
]>b.oI/ 图5.“Opti 2D Viewer”中的远场模式