光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
+H
Usz? •使用VB脚本生成光栅(或周期性)布局。
.}`Ix'. •光栅布局
模拟和后处理分析
FEVlZ<PW3I 布局layout
2[;_d;oB @ 我们将模拟如图1所示的二维光栅布局。
p6WX9\qS( 图1.二维光栅布局
e*n@j Qdp)cT 用VB脚本定义一个2D光栅布局
*|E[L^ t. '!`5G 步骤:
2T TdH) 1 通过在
文件菜单中选择“New”,启动一个新项目。
-o.:P>/ 2 在“Wafer Properties”对话框中设置以下
参数 *~H Sy8s Wafer Dimensions:
*cnNuT Length (mm): 8.5
0P(!j_2m Width (mm): 3.0
&yol_%C v 6Vcjm 2D wafer properties:
H$KTo/ Wafer refractive index: Air
S/I /-Bp~ 3 点击 Profiles 与 Materials.
^<-+@v* 7`hP?a= 在“Materials”中加入以下
材料:
,i@:5X/t Name: N=1.5
ff1c/c/ Refractive index (Re:): 1.5
D#/Bx[ a+PzI x2 Name: N=3.14
9!DQ~k% Refractive index (Re:): 3.14
@Pzu^ "v4B5:bmqW 4.在“Profile”中定义以下轮廓:
wsVV$I[2 Name: ChannelPro_n=3.14
mo#04;VF 2D profile definition, Material: n=3.14
HgkC~' ,<p}o\6 Name: ChannelPro_n=1.5
0k(a VkZ I 2D profile definition, Material: n=1.5
}Ys>(w (/*]?Ehd 6.画出以下波导结构:
SN!?}<|U a. Linear waveguide 1
5-xX8-ElYz Label: linear1
-8rjgB~."/ Start Horizontal offset: 0.0
*U\`CXn; Start vertical offset: -0.75
f8.gT49I End Horizontal offset: 8.5
K>l~SDcZ3 End vertical offset: -0.75
X/M4!L}\ Channel Thickness Tapering: Use Default
1|6%evPu( Width: 1.5
4 vV:EF- Depth: 0.0
*``JamnSO Profile: ChannelPro_n=1.5
5j-YM e,XYVWY% b. Linear waveguide 2
xLZG:^(I Label: linear2
Vr1<^Ib Start Horizontal offset: 0.5
|WdPE@P Start vertical offset: 0.05
Yr=Y@~ XL End Horizontal offset: 1.0
f &wb End vertical offset: 0.05
Wh2tNyS Channel Thickness Tapering: Use Default
0|\$Vp Width: 0.1
,tJ"
5O3- Depth: 0.0
}sO&. ME Profile: ChannelPro_n=3.14
:+|Z@KB 9
ea\vZ 7.加入水平平面波:
x`IEU*z# Continuous Wave Wavelength: 0.63 General:
8d-t|HkN Input field Transverse: Rectangular
>q1L2',pK X Position: 0.5
U\<?z Dw Direction: Negative Direction
=-lb)Z"d Label: InputPlane1
}HePZ{PLM 2D Transverse:
Hi`//y*92H Center Position: 4.5
#7YY<)
xt} Half width: 5.0
tWa)_y Titlitng Angle: 45
4G>H Effective Refractive Index: Local Amplitude: 1.0
dIBE!4 V[ 图2.波导结构(未设置周期)
Q=20IQp @qlK6tE` 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
o\pVp bB 将Linear2代码段修改如下:
E5lBdM>2 Dim Linear2
!*. -`$x for m=1 to 8
6Yxh9*N~] Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
f|lU6EkU Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
`eCo~(Fy Linear2.SetAttr "WidthExpr", "0.1"
o/Q;f@ Linear2.SetAttr "Depth", "0"
$.rhRKs Linear2.SetAttr "StartThickness", "0.000000"
xzZ38xIhV Linear2.SetAttr "EndThickness", "0.000000"
[ )dXI IM Linear2.SetProfileName "ChannelPro_n=3.14"
C"T;Qp~B Linear2.SetDefaultThicknessTaperMode True
r_6ZO& G&V/Gj8 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Fv<F}h? 6 图3.光栅布局通过VB脚本生成
bPt!yI: g:dH~> 设置仿真参数
NI
[
pp` 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
QTXt8I 2. 在仿真参数对话框中,设置以下参数:
Pjjewy1}^ TE simulation
T7u%^xm Mesh Delta X: 0.015
CZI6 6pDy Mesh Delta Z: 0.015
>P@H#= Time Step Size: Auto Run for 1000 Time steps
TS9|a{j3! 设置边界条件设置X和Z边为各向异性PML边界条件。
nd1+"-,q Number of Anisotropic PML layers: 15
[t@Mn 其它参数保持默认
K[r^'P5m 运行仿真
ssRbhlD/*1 • 在仿真参数中点击Run按钮,启动仿真
k $J zH$ • 在分析仪中,可以观察到各场分量的时域响应
r^paD2&} • 仿真完成后,点击“Yes”,启动分析仪。
g8xQ|px q~ZNd3O 远场分析
衍射波
MET' (m 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
z hRB,1iG 2. 选择“Definition of the Cross Cut”为z方向
LNpup`>` 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
`a/%W4 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
I3mGo 图4.远场计算对话框
0ANZAX5 Xudg2t)+K 5. 在远场对话框,设置以下参数:
ua]o6GlO Wavelength: 0.63
1Y@Aixx Refractive index: 1.5+0i
pDIVZC Angle Initial: -90.0
'~&X wZ& Angle Final: 90.0
\6<=$vD Number of Steps: 721
YSh+pr Distance: 100, 000*wavelength
cy3B({PLy Intensity
L3 --r _Khc3Jo 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
F,MO@&ue" 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
S.m{eur!,E 图5.“Opti 2D Viewer”中的远场模式