光栅布局在大多数情况下是周期性
结构。OptiFDTD中有两种实现周期性布局的方法:PBG编辑器和VB脚本。本课将重点介绍以下功能:
1O`V_d) •使用VB脚本生成光栅(或周期性)布局。
@*eY~ •光栅布局
模拟和后处理分析
DT`HS/~fH 布局layout
_|u}^MLO 我们将模拟如图1所示的二维光栅布局。
~s+vJvWz 图1.二维光栅布局
bh@Ct nO Yk|6?e{+) 用VB脚本定义一个2D光栅布局
b,^ "-r 1L*[!QT4 步骤:
KyNu8s k 1 通过在
文件菜单中选择“New”,启动一个新项目。
_-C/sp^ 2 在“Wafer Properties”对话框中设置以下
参数 xfeE D^? Wafer Dimensions:
VZt%cq Length (mm): 8.5
S' $; Width (mm): 3.0
zb{79Os[B _]zX W 2D wafer properties:
3Rb#!tx9 Wafer refractive index: Air
3`&FXgo 3 点击 Profiles 与 Materials.
3WP\MM $sY'=S 在“Materials”中加入以下
材料:
\oWpyT _ Name: N=1.5
)8C`EPe Refractive index (Re:): 1.5
JPZp*5c6A X:UlL"G Name: N=3.14
7dY_b Refractive index (Re:): 3.14
nms[No? Hl}lxK,] 4.在“Profile”中定义以下轮廓:
2H%lN` Name: ChannelPro_n=3.14
av!;k2" 2D profile definition, Material: n=3.14
71@eJQ ![%wM Pp Name: ChannelPro_n=1.5
B2kZ_4rB 2D profile definition, Material: n=1.5
~
L4NK# =H)]HxEEM 6.画出以下波导结构:
d0)]^4HT|y a. Linear waveguide 1
|p/*OFC6 Label: linear1
uZL]mwkj] Start Horizontal offset: 0.0
Sesdhuy.@ Start vertical offset: -0.75
Z|C,HF+m. End Horizontal offset: 8.5
/[_aK0U3 End vertical offset: -0.75
e#/&A5#Ya Channel Thickness Tapering: Use Default
sY!JB7!j Width: 1.5
9HJYrzf{% Depth: 0.0
_$R=F/88 Profile: ChannelPro_n=1.5
o6A$)m5V Nqj@p<y/q b. Linear waveguide 2
b3%x&H<j Label: linear2
Kn->R9Tl Start Horizontal offset: 0.5
MJiVFfYW Start vertical offset: 0.05
6#Z]yk+p End Horizontal offset: 1.0
{?:]'c End vertical offset: 0.05
oW^x=pS9 Channel Thickness Tapering: Use Default
:j`f%Vg~x Width: 0.1
XnP?hw% Depth: 0.0
T!]rdN! Profile: ChannelPro_n=3.14
32K& IfV !M8_PC*a 7.加入水平平面波:
ta{24{?M\ Continuous Wave Wavelength: 0.63 General:
"a2|WKpD Input field Transverse: Rectangular
;<0vvP| X Position: 0.5
9KX% O-' Direction: Negative Direction
fof}I:vO Label: InputPlane1
R*pPUw\yn 2D Transverse:
_b<;n|^ Center Position: 4.5
Z5TA4Q+Q Half width: 5.0
=u}~\ 'd Titlitng Angle: 45
{{G3^ysa Effective Refractive Index: Local Amplitude: 1.0
t)j$lmQn 图2.波导结构(未设置周期)
xy:Mb =r b\JU%89 8.单击“Layout Script”快捷工具栏或选择
仿真菜单下的“Generate Layout Script…”。这一步将把布局对象转换为VB脚本代码。
:oy2mi; 将Linear2代码段修改如下:
r5xm7- `c Dim Linear2
LC]0c)v# for m=1 to 8
BeFyx"NBg Set Linear2 = WGMgr.CreateObj ( "WGLinear", "Linear2"+Cstr(m) )
J\@g3oGw Linear2.SetPosition 0.5+(m-1)*1.0, 0.05, 1+(m-1)*1.0, 0.05
bXJ(QXHd% Linear2.SetAttr "WidthExpr", "0.1"
JL4E` Linear2.SetAttr "Depth", "0"
bz>\n"' Linear2.SetAttr "StartThickness", "0.000000"
U3_ O}X+ Linear2.SetAttr "EndThickness", "0.000000"
WA2NjxYz Linear2.SetProfileName "ChannelPro_n=3.14"
lt-3OcC Linear2.SetDefaultThicknessTaperMode True
Lx>[`QT ,j XK 点击“Test Script”快捷工具栏运行修改后的VB脚本代码。生成光栅布局,布局如图3所示。
Jd/d\P 图3.光栅布局通过VB脚本生成
e'uC:O.u Mlc_w19C9 设置仿真参数
Z e>R@rK 1. 在Simulation菜单下选择“2D simulation parameters…”,将出现仿真参数对话框
LT$t%V0?.e 2. 在仿真参数对话框中,设置以下参数:
gd
* b0( TE simulation
&S
xF"pYV Mesh Delta X: 0.015
"y~*1kBu Mesh Delta Z: 0.015
k~AtnI Time Step Size: Auto Run for 1000 Time steps
v76P?[ 设置边界条件设置X和Z边为各向异性PML边界条件。
cEa8l~GC< Number of Anisotropic PML layers: 15
/>E
ILPPb 其它参数保持默认
Y`8)` 运行仿真
}&+,y<> • 在仿真参数中点击Run按钮,启动仿真
m19\H • 在分析仪中,可以观察到各场分量的时域响应
(<_kq;XtN0 • 仿真完成后,点击“Yes”,启动分析仪。
uxn+.fA w/
~\NI 远场分析
衍射波
hpXW tQ 1. 在OptiFDTD Analyzer中,在工具窗口中选择“Crosscut Viewer”
mlc8q s 2. 选择“Definition of the Cross Cut”为z方向
Il4]1d| 3. 将位置移动到等于92的网格点,(位置:-0.12)观察当前位置的近场
5 ph CEKt; 4. 在Crosscut Viewer的工具菜单中选择“Far Field”,出现远场转换对话框。(图4)
{HY3E}YJL 图4.远场计算对话框
3r#['UmT ! (lF#MG} 5. 在远场对话框,设置以下参数:
ch%zu%;f Wavelength: 0.63
cZ)JvU9] Refractive index: 1.5+0i
w_>\Yd [ Angle Initial: -90.0
oUsfO-dET^ Angle Final: 90.0
MR,I`9P e Number of Steps: 721
L/Kb\\f Distance: 100, 000*wavelength
cQ<|Of Intensity
Zgh~7Z/ ma-GvWD2 6. 点击“计算”按钮开始计算,并将结果保存为 Farfield.ffp。
kjPf%*3 7. 启动“Opti 2D Viewer”并加载Farfield.ffp。远场如图5所示。
4u*n7di$9d 图5.“Opti 2D Viewer”中的远场模式